Signed-off-by: Igor Ryzhov <iryzhov at nfware.com>
---
 drivers/net/virtio/virtio_rxtx.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 41a1366..fe18e1d 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -543,8 +543,13 @@ virtio_update_packet_stats(struct virtqueue *vq, struct 
rte_mbuf *mbuf)
        }

        ea = rte_pktmbuf_mtod(mbuf, struct ether_addr *);
-       vq->multicast += is_multicast_ether_addr(ea);
-       vq->broadcast += is_broadcast_ether_addr(ea);
+       if (is_multicast_ether_addr(ea)) {
+               if (is_broadcast_ether_addr(ea)) {
+                       vq->broadcast++;
+               } else {
+                       vq->multicast++;
+               }
+       }
 }

 #define VIRTIO_MBUF_BURST_SZ 64
-- 
2.6.4

Reply via email to