[ovs-dev] [PATCH v4] Detailed packet drop statistics per dpdk and vhostuser ports

Ben Pfaff blp at ovn.org
Tue Jul 16 19:51:19 UTC 2019

On Tue, Jul 16, 2019 at 07:02:29PM +0530, Sriram Vatala via dev 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 these counters are displayed along with
> other stats in "ovs-vsctl get interface <iface> statistics"
> command. The detailed stats will be available for both dpdk and
> vhostuser ports.

Did you consider using netdev_get_custom_stats() for these counters?  I
do not know whether they are likely to be implemented by other network
devices, and custom stats are an appropriate way to implement
specialized statistics.

> Following are the details of the new counters :
> tx_failed_drops : Sometimes DPDK physical/vHost port transmit
> API fails to send all/some packets. These untransmited packets
> are dropped.The most likely reason for this to happen is
> because of transmit queue overrun. Besides transmit queue
> overrun, there are other unlikely reasons such as invalid
> queue id etc.
> tx_mtu_exceeded_drops : These are the packets dropped due
> to MTU mismatch (i.e Pkt len > Max Dev MTU).
> tx_qos_drops/rx_qos_drops : These are the packets dropped due
> to transmission/reception rate exceeding the configured
> Egress/Ingress policer rate on the interface.

It would make sense to include the above descriptions in
vswitchd/vswitch.xml alongside the other statistics under the
"Statistics" group for the Interface table.

Thanks for working to make OVS better!

More information about the dev mailing list