[PATCH 2/5] net/nfp: use offload flag to control VXLAN configuration

Chaoyong He chaoyong.he at corigine.com
Wed Jun 19 04:49:20 CEST 2024


From: Long Wu <long.wu at corigine.com>

Use Rx offloads flag to control VXLAN offload configuration.

Signed-off-by: Long Wu <long.wu at corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he at corigine.com>
---
 drivers/net/nfp/nfp_ethdev.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index 3e148b6956..219265035d 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -283,6 +283,7 @@ nfp_net_start(struct rte_eth_dev *dev)
 	struct nfp_net_hw *net_hw;
 	struct nfp_pf_dev *pf_dev;
 	struct rte_eth_rxmode *rxmode;
+	struct rte_eth_txmode *txmode;
 	struct nfp_net_hw_priv *hw_priv;
 	struct nfp_app_fw_nic *app_fw_nic;
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
@@ -364,10 +365,13 @@ nfp_net_start(struct rte_eth_dev *dev)
 
 	update |= NFP_NET_CFG_UPDATE_GEN | NFP_NET_CFG_UPDATE_RING;
 
+	txmode = &dev->data->dev_conf.txmode;
 	/* Enable vxlan */
-	if ((hw->cap & NFP_NET_CFG_CTRL_VXLAN) != 0) {
-		new_ctrl |= NFP_NET_CFG_CTRL_VXLAN;
-		update |= NFP_NET_CFG_UPDATE_VXLAN;
+	if ((txmode->offloads & RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO) != 0) {
+		if ((hw->cap & NFP_NET_CFG_CTRL_VXLAN) != 0) {
+			new_ctrl |= NFP_NET_CFG_CTRL_VXLAN;
+			update |= NFP_NET_CFG_UPDATE_VXLAN;
+		}
 	}
 
 	if ((hw->cap & NFP_NET_CFG_CTRL_RINGCFG) != 0)
-- 
2.39.1



More information about the dev mailing list