[dpdk-dev] Virtio xstats problem
Igor Ryzhov
iryzhov at nfware.com
Fri Feb 26 15:35:46 CET 2016
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 <harry.van.haaren at intel.com> написал(а):
>
>> From: dev [mailto:dev-bounces at 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
>
>> 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.
>
>> 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.
>
>> 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
More information about the dev
mailing list