Now that vmxnet3 supports TCP/UDP checksum offload, let's update
the default txq flags to allow such offloads.  Also fixed the tx
queue setup check to allow TCP/UDP checksum and only error out
if SCTP checksum is requested.

Fixes: f598fd063bb1 ("vmxnet3: add Tx L4 checksum offload")

Reported-by: Heng Ding <hengx.ding at intel.com>
Signed-off-by: Yong Wang <yongwang at vmware.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 3 +--
 drivers/net/vmxnet3/vmxnet3_rxtx.c   | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c 
b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index f2b6b92..b0588ef 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -709,8 +709,7 @@ vmxnet3_dev_info_get(__attribute__((unused))struct 
rte_eth_dev *dev,
        dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS register */
        dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;

-       dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS |
-                                               ETH_TXQ_FLAGS_NOOFFLOADS;
+       dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOXSUMSCTP;
        dev_info->flow_type_rss_offloads = VMXNET3_RSS_OFFLOAD_ALL;

        dev_info->rx_desc_lim = (struct rte_eth_desc_lim) {
diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c 
b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index 66b0eed..ebf883f 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -811,7 +811,7 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,

        PMD_INIT_FUNC_TRACE();

-       if ((tx_conf->txq_flags & ETH_TXQ_FLAGS_NOXSUMS) !=
+       if ((tx_conf->txq_flags & ETH_TXQ_FLAGS_NOXSUMSCTP) !=
            ETH_TXQ_FLAGS_NOXSUMSCTP) {
                PMD_INIT_LOG(ERR, "SCTP checksum offload not supported");
                return -EINVAL;
-- 
1.9.1

Reply via email to