[dpdk-dev,v3,6/6] net/vmxnet3: enable lro
Commit Message
The current implementation of jumbo frame rx can be used for
LRO directly without changes. This change enables device
LRO if requested.
Note that since jumbo frame uses both ring0 and ring1, it
cannot be enabled in UPT (VMDirectPath) mode.
Signed-off-by: Yong Wang <yongwang@vmware.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/nics/features/vmxnet3.ini | 1 +
drivers/net/vmxnet3/vmxnet3_ethdev.c | 8 +++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
@@ -9,6 +9,7 @@ Link status event = Y
Queue start/stop = Y
MTU update = Y
Jumbo frame = Y
+LRO = Y
TSO = Y
Promiscuous mode = Y
Allmulticast mode = Y
@@ -540,6 +540,11 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev)
if (dev->data->dev_conf.rxmode.hw_ip_checksum)
devRead->misc.uptFeatures |= VMXNET3_F_RXCSUM;
+ if (dev->data->dev_conf.rxmode.enable_lro) {
+ devRead->misc.uptFeatures |= VMXNET3_F_LRO;
+ devRead->misc.maxNumRxSG = 0;
+ }
+
if (port_conf.rxmode.mq_mode == ETH_MQ_RX_RSS) {
ret = vmxnet3_rss_configure(dev);
if (ret != VMXNET3_SUCCESS)
@@ -741,7 +746,8 @@ vmxnet3_dev_info_get(__rte_unused struct rte_eth_dev *dev,
dev_info->rx_offload_capa =
DEV_RX_OFFLOAD_VLAN_STRIP |
DEV_RX_OFFLOAD_UDP_CKSUM |
- DEV_RX_OFFLOAD_TCP_CKSUM;
+ DEV_RX_OFFLOAD_TCP_CKSUM |
+ DEV_RX_OFFLOAD_TCP_LRO;
dev_info->tx_offload_capa =
DEV_TX_OFFLOAD_VLAN_INSERT |