net/cxgbe: fix duplicate MAC addresses in MPS TCAM
authorKarra Satwik <kaara.satwik@chelsio.com>
Fri, 11 Sep 2020 23:47:51 +0000 (05:17 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 18 Sep 2020 16:55:10 +0000 (18:55 +0200)
During MAC address insertion to MPS TCAM, add a default mask when
the mask is not explicitly specified. Otherwise, driver misses the
mask comparison and ends up inserting duplicate entries in the
MPS TCAM.

Fixes: 6fda3f0ddda9 ("net/cxgbe: add API to program hardware MPS table")
Cc: stable@dpdk.org
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
drivers/net/cxgbe/mps_tcam.c

index 5302d13..6e5fae9 100644 (file)
@@ -140,6 +140,7 @@ int cxgbe_mpstcam_modify(struct port_info *pi, int idx, const u8 *addr)
        /* idx can now be different from what user provided */
        entry = &mpstcam->entry[idx];
        memcpy(entry->eth_addr, addr, RTE_ETHER_ADDR_LEN);
+       memset(entry->mask, ~0, RTE_ETHER_ADDR_LEN);
        /* NOTE: we have considered the case that idx returned by t4_change_mac
         * will be different from the user provided value only if user
         * provided value is -1