From 02d5bfe3beca895d2beb5906e8bcf50cb945efce Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Tue, 18 Sep 2012 11:06:08 -0700 Subject: [PATCH] netdev-dummy: Correctly maintain port statistics. Signed-off-by: Ben Pfaff Acked-by: Ethan Jackson --- lib/netdev-dummy.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c index f81b68e67..234d7bc56 100644 --- a/lib/netdev-dummy.c +++ b/lib/netdev-dummy.c @@ -204,6 +204,19 @@ netdev_dummy_drain(struct netdev *netdev_) return 0; } +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) { -- 2.43.0