From 3171100d06146791ab9d22523805b8ed580daf3f Mon Sep 17 00:00:00 2001
From: yinbin6 <yinbin8@huawei.com>
Date: Fri, 12 Apr 2024 15:09:12 +0800
Subject: [PATCH] fix port not support vlan filter

---
 src/lstack/core/lstack_dpdk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lstack/core/lstack_dpdk.c b/src/lstack/core/lstack_dpdk.c
index a6a8a01..5d90408 100644
--- a/src/lstack/core/lstack_dpdk.c
+++ b/src/lstack/core/lstack_dpdk.c
@@ -624,7 +624,8 @@ int32_t dpdk_ethdev_init(int port_id, bool bond_port)
     }
 
     /* after rte_eth_dev_configure */
-    if (get_global_cfg_params()->nic.vlan_mode != -1) {
+    if ((get_global_cfg_params()->nic.vlan_mode != -1) &&
+        ((stack_group->rx_offload & RTE_ETH_RX_OFFLOAD_VLAN_FILTER) == RTE_ETH_RX_OFFLOAD_VLAN_FILTER)) {
         ret = rte_eth_dev_vlan_filter(port_id, get_global_cfg_params()->nic.vlan_mode, 1);
         if (ret != 0) {
             LSTACK_LOG(ERR, LSTACK, "dpdk add vlan filter failed ret = %d\n", ret);
-- 
2.33.0

