numam-dpdk/drivers/net
Bing Zhao febcac7b46 net/mlx5: support Rx queue delay drop
For the Ethernet RQs, if there all receiving descriptors are
exhausted, the packets being received will be dropped. This behavior
prevents slow or malicious software entities at the host from
affecting the network. While for hairpin cases, even if there is no
software involved during the packet forwarding from Rx to Tx side,
some hiccup in the hardware or back pressure from Tx side may still
cause the descriptors to be exhausted. In certain scenarios it may be
preferred to configure the device to avoid such packet drops,
assuming the posting of descriptors will resume shortly.

To support this, a new devarg "delay_drop" is introduced. By default,
the delay drop is enabled for hairpin Rx queues and disabled for
standard Rx queues. This value is used as a bit mask:
  - bit 0: enablement of standard Rx queue
  - bit 1: enablement of hairpin Rx queue
And this attribute will be applied to all Rx queues of a device.

The "rq_delay_drop" capability in the HCA_CAP is checked before
creating any queue. If the hardware capabilities do not support
this delay drop, all the Rx queues will still be created without
this attribute, and the devarg setting will be ignored even if it
is specified explicitly. A warning log is used to notify the
application when this occurs.

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
2021-11-05 17:04:53 +01:00
..
af_packet net/af_packet: fix ignoring full ring on Tx 2021-11-04 12:56:32 +01:00
af_xdp net/af_xdp: use BPF link for XDP programs 2021-11-02 17:36:46 +01:00
ark ethdev: add namespace 2021-10-22 18:15:38 +02:00
atlantic drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
avp drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
axgbe drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
bnx2x drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
bnxt net/bnxt: fix scalar Rx datapath on Thor 2021-11-05 02:00:49 +01:00
bonding mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
cnxk net/cnxk: integrate BPF count get mailbox 2021-11-03 16:15:08 +01:00
cxgbe drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
dpaa drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
dpaa2 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
e1000 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
ena drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
enetc mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
enic net/enic: support GTP header flow matching 2021-11-04 12:34:46 +01:00
failsafe drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
fm10k drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
hinic drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
hns3 net/hns3: refactor multi-process initialization 2021-11-04 15:11:32 +01:00
i40e net/i40e: fix forward outer IPv6 VXLAN 2021-11-05 05:31:22 +01:00
iavf drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
ice net/ice: fix flow redirect 2021-11-04 11:55:22 +01:00
igc drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
ionic drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
ipn3ke drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
ixgbe drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
kni ethdev: add namespace 2021-10-22 18:15:38 +02:00
liquidio mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
memif net/memif: fix driver init with default MTU 2021-10-27 17:48:51 +02:00
mlx4 drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
mlx5 net/mlx5: support Rx queue delay drop 2021-11-05 17:04:53 +01:00
mvneta mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
mvpp2 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
netvsc drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
nfb ethdev: add namespace 2021-10-22 18:15:38 +02:00
nfp drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
ngbe net/ngbe: support Tx done cleanup 2021-10-30 00:53:19 +02:00
null ethdev: add namespace 2021-10-22 18:15:38 +02:00
octeontx mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
octeontx2 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
octeontx_ep net/octeontx_ep: remove octeontx2 dependency 2021-10-29 16:09:18 +02:00
pcap ethdev: add namespace 2021-10-22 18:15:38 +02:00
pfe ethdev: add namespace 2021-10-22 18:15:38 +02:00
qede drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
ring ethdev: add namespace 2021-10-22 18:15:38 +02:00
sfc net/sfc: allow control threads for counter queue polling 2021-11-04 17:57:00 +01:00
softnic drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
szedata2 ethdev: add namespace 2021-10-22 18:15:38 +02:00
tap drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
thunderx drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
txgbe net/txgbe: fix link process in KR mode 2021-11-05 15:10:21 +01:00
vdev_netvsc version: 21.11-rc0 2021-08-17 08:37:52 +02:00
vhost vhost: rename driver callbacks struct 2021-11-03 11:59:27 +01:00
virtio net/virtio: fix link update in speed feature 2021-10-29 12:32:30 +02:00
vmxnet3 drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
meson.build net/ngbe: add build and doc infrastructure 2021-07-12 17:55:19 +02:00