From: Beilei Xing <beilei.x...@intel.com>

FDIR Rxq is excepted to only receive FDIR programming status, won't
receive broadcast packets.

Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director")
Cc: sta...@dpdk.org

Signed-off-by: Beilei Xing <beilei.x...@intel.com>
---
V2 change:
 - Fix typo in commit log.

 drivers/net/i40e/i40e_ethdev.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 8271bbb394..7b4f33a5cf 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -6025,14 +6025,16 @@ i40e_vsi_setup(struct i40e_pf *pf,
                }
        }
 
-       /* MAC/VLAN configuration */
-       rte_memcpy(&filter.mac_addr, &broadcast, RTE_ETHER_ADDR_LEN);
-       filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
+       if (vsi->type != I40E_VSI_FDIR) {
+               /* MAC/VLAN configuration for non-FDIR VSI*/
+               rte_memcpy(&filter.mac_addr, &broadcast, RTE_ETHER_ADDR_LEN);
+               filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 
-       ret = i40e_vsi_add_mac(vsi, &filter);
-       if (ret != I40E_SUCCESS) {
-               PMD_DRV_LOG(ERR, "Failed to add MACVLAN filter");
-               goto fail_msix_alloc;
+               ret = i40e_vsi_add_mac(vsi, &filter);
+               if (ret != I40E_SUCCESS) {
+                       PMD_DRV_LOG(ERR, "Failed to add MACVLAN filter");
+                       goto fail_msix_alloc;
+               }
        }
 
        /* Get VSI BW information */
-- 
2.26.2

Reply via email to