Sent a patch: http://dpdk.org/dev/patchwork/patch/10887/ 
<http://dpdk.org/dev/patchwork/patch/10887/>.

> 26 ????. 2016 ?., ? 17:35, Igor Ryzhov <iryzhov at nfware.com> ???????(?):
> 
> 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
> 

Reply via email to