]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Wed Aug 29 14:43:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
authorRichard W.M. Jones <rjones@redhat.com>
Wed, 29 Aug 2007 13:35:15 +0000 (13:35 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 29 Aug 2007 13:35:15 +0000 (13:35 +0000)
* src/xen_internal.c (xenHypervisorDomainInterfaceStats): Swap
  TX & RX network stats so they appear correct from the point
  of view of the domain.

ChangeLog
src/xen_internal.c

index 506bfa76a8a47619c4d36977af68b266d8e9ac0e..2f607ff18306e1a90aa4a2b48278d009c8c7a64a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Aug 29 14:43:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
+
+       * src/xen_internal.c (xenHypervisorDomainInterfaceStats): Swap
+         TX & RX network stats so they appear correct from the point
+         of view of the domain.
+
 Wed Aug 29 09:46:17 CEST 2007 Daniel Veillard <veillard@redhat.com>
 
        * src/virsh.c: apply patch from Masayuki Sunou to fix the exit value
index ebba04de25325d0683b49154aa5eafbac1d35d6c..148e731b51a688b8a312b414d01b454b064a4544 100644 (file)
@@ -1424,11 +1424,17 @@ xenHypervisorDomainInterfaceStats (virDomainPtr dom,
         long long tx_errs;
         long long tx_drop;
 
+        /* IMPORTANT NOTE!
+         * /proc/net/dev vif<domid>.nn sees the network from the point
+         * of view of dom0 / hypervisor.  So bytes TRANSMITTED by dom0
+         * are bytes RECEIVED by the domain.  That's why the TX/RX fields
+         * appear to be swapped here.
+         */
         if (sscanf (line, "vif%d.%d: %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld",
                     &domid, &port,
-                    &rx_bytes, &rx_packets, &rx_errs, &rx_drop,
-                    &dummy, &dummy, &dummy, &dummy,
                     &tx_bytes, &tx_packets, &tx_errs, &tx_drop,
+                    &dummy, &dummy, &dummy, &dummy,
+                    &rx_bytes, &rx_packets, &rx_errs, &rx_drop,
                     &dummy, &dummy, &dummy, &dummy) != 18)
             continue;