diff options
author | Ben Pfaff <blp@nicira.com> | 2012-09-18 11:06:08 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-02-11 13:26:24 -0800 |
commit | 02d5bfe3beca895d2beb5906e8bcf50cb945efce (patch) | |
tree | 7dd56879bae0a13e7eb39a570105c51d331f6eae /lib/netdev-dummy.c | |
parent | 6e1fb7e169c2363c78819b40869e1b47ebf3189d (diff) |
netdev-dummy: Correctly maintain port statistics.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
Diffstat (limited to 'lib/netdev-dummy.c')
-rw-r--r-- | lib/netdev-dummy.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c index f81b68e6..234d7bc5 100644 --- a/lib/netdev-dummy.c +++ b/lib/netdev-dummy.c @@ -205,6 +205,19 @@ netdev_dummy_drain(struct netdev *netdev_) } static int +netdev_dummy_send(struct netdev *netdev, const void *buffer OVS_UNUSED, + size_t size) +{ + struct netdev_dev_dummy *dev = + netdev_dev_dummy_cast(netdev_get_dev(netdev)); + + dev->stats.tx_packets++; + dev->stats.tx_bytes += size; + + return 0; +} + +static int netdev_dummy_set_etheraddr(struct netdev *netdev, const uint8_t mac[ETH_ADDR_LEN]) { @@ -336,7 +349,7 @@ static const struct netdev_class dummy_class = { netdev_dummy_recv_wait, netdev_dummy_drain, - NULL, /* send */ + netdev_dummy_send, /* send */ NULL, /* send_wait */ netdev_dummy_set_etheraddr, @@ -443,6 +456,9 @@ netdev_dummy_receive(struct unixctl_conn *conn, return; } + dummy_dev->stats.rx_packets++; + dummy_dev->stats.rx_bytes += packet->size; + n_listeners = 0; LIST_FOR_EACH (dev, node, &dummy_dev->devs) { if (dev->listening) { |