Thread (5 messages) 5 messages, 3 authors, 2016-02-26

Re: Virtio xstats problem

From: Igor Ryzhov <hidden>
Date: 2016-02-26 14:35:48

Hello, Harry.

Understood about size of packets. It's a bit confusing, because in all other drivers undersized packet is an error. Maybe we should add another one size bin for virtio - 60 to 63 bytes?

I already checked about multicast/broadcast counters - broadcast packets are counted twice:

	vq->multicast += is_multicast_ether_addr(ea);
	vq->broadcast += is_broadcast_ether_addr(ea);

I think it should be something like:

	if (is_multicast_ether_addr(ea)) {
		if (is_broadcast_ether_addr(ea)) {
			vq->broadcast++;
		} else {
			vq->multicast++;
		}
	}

Best regards,
Igor
26 февр. 2016 г., в 17:29, Van Haaren, Harry [off-list ref] написал(а):
quoted
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Igor Ryzhov
I found some problem with virtio xstats counters.

Example:

rx_good_packets: 3
rx_good_bytes: 180
rx_errors: 0

rx_q0_good_packets: 3
rx_q0_good_bytes: 180
rx_q0_errors: 0

rx_q0_multicast_packets: 3
rx_q0_broadcast_packets: 1
rx_q0_undersize_packets: 3
quoted
It means that undersize packets are counted as good packets instead of errors.
Are you sending 64 byte packets? There are no 4 bytes of CRC on virtual
interfaces, so 60 bytes per packet is OK.
quoted
Or maybe
size of packet is calculated wrong.
I don't have time now to check it more deeply - I can do it sometime later, but maybe
someone want to help.
Are the packets multicast or broadcast?
It looks like one of the counters there is wrong.
quoted
PS. Is it a common practice to count broadcast packets twice - in broadcast and multicast
counters?
No packet should be counted twice - it must be put into one bucket of mutli, broad or unicast.

-Harry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help