On 07.06.2019 17:28, Ilya Maximets wrote:
> On 07.06.2019 15:39, Sriram Vatala wrote:
>> OVS may be unable to transmit packets for multiple reasons and
>> today there is a single counter to track packets dropped due to
>> any of those reasons. The most common reason is that a VM is
>> unable to read packets fast enough causing the vhostuser port
>> transmit queue on the OVS side to become full. This manifests
>> as a problem with VNFs not receiving all packets. Having a
>> separate drop counter to track packets dropped because the
>> transmit queue is full will clearly indicate that the problem
>> is on the VM side and not in OVS. Similarly maintaining separate
>> counters for all possible drops helps in indicating sensible
>> cause for packet drops.
>>
>> This patch adds counters to track packets dropped due to all possible
>> reasons and display them when "--details" optional flag is passed  to
>> “ovs-appctl dpctl/show -s” . The detailed stats will be available
>> for both dpdk and vhostuser ports.
>>
>> cmd Usage : "ovs-appctl dpctl/show -s --details" (OR)
>>             "ovs-appctl dpctl/show --statistics --details"
>>
>> Following are the details of the new counters :
>>
>> queue_full : These are the packets dropped due to Transmit queue overrun.
>> mtu_exceeded : These are the packets dropped due to MTU mismatch.
>>                (i.e Pkt len > Max Dev MTU)
>> qos : These are the packets dropped due to transmission/reception rate
>>       exceeding the configured Egress/Ingress policer rate on the interface.
>>
>> Signed-off-by: Sriram Vatala <[email protected]>
>> ---
>>  include/openvswitch/netdev.h |  8 ++++++++
>>  lib/dpctl.c                  | 26 ++++++++++++++++++++++-
>>  lib/dpctl.h                  |  5 +++++
>>  lib/dpctl.man                |  8 ++++++--
>>  lib/netdev-dpdk.c            | 49 
>> +++++++++++++++++++++++++++++++++++++-------
>>  5 files changed, 86 insertions(+), 10 deletions(-)
> 
> Hi, Sriram.
> Thanks for working on OVS improvement.
> 
> I didn't look at the code yet, but one thing I wanted to mention is that
> dpctl interface seems redundant here. It provides only basic statistics,
> but you're adding some really specific stuff. Also, full port stats are
> always available via db interface:
> 
>   ovs-vsctl get interface <iface> statistics
> 
> Your new stats counters will be there automatically.

Only need to add a few lines to '#define IFACE_STATS' in vswitchd/bridge.c.

> I think, it's better to drop dpctl parts of this patch.
> 
> What do you think?
> 
> Best regards, Ilya Maximets.
> 
> 
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to