From 79f6fad41d2b09f97c931ad97baed764de10894c Mon Sep 17 00:00:00 2001
From: Javi Fontan <jfontan@gmail.com>
Date: Mon, 12 Sep 2011 16:15:59 +0200
Subject: [PATCH] bug #568: get network consumption from all interfaces (kvm)

---
 src/vmm_mad/remotes/poll_xen_kvm.rb | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/vmm_mad/remotes/poll_xen_kvm.rb b/src/vmm_mad/remotes/poll_xen_kvm.rb
index 2be25119f3..2e39a24c88 100755
--- a/src/vmm_mad/remotes/poll_xen_kvm.rb
+++ b/src/vmm_mad/remotes/poll_xen_kvm.rb
@@ -138,17 +138,21 @@ private
         interfaces=get_interface_names(vmid)
 
         if interfaces && !interfaces.empty?
-            text=`#{virsh(:domifstat)} #{vmid} #{interfaces.join(' ')}`
-
             values={}
+            values[:netrx]=0
+            values[:nettx]=0
 
-            text.each_line do |line|
-                columns=line.split(/\s+/)
-                case columns[1]
-                when 'rx_bytes'
-                    values[:netrx]=columns[2]
-                when 'tx_bytes'
-                    values[:nettx]=columns[2]
+            interfaces.each do |interface|
+                text=`#{virsh(:domifstat)} #{vmid} #{interface}`
+
+                text.each_line do |line|
+                    columns=line.split(/\s+/)
+                    case columns[1]
+                    when 'rx_bytes'
+                        values[:netrx]+=columns[2].to_i
+                    when 'tx_bytes'
+                        values[:nettx]+=columns[2].to_i
+                    end
                 end
             end