[v2] net/cxgbe: fix duplicate MAC addresses in MPS TCAM
Checks
Commit Message
From: Karra Satwik <kaara.satwik@chelsio.com>
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>
---
v2:
- Fix spelling Othewise to Otherwise in commit message.
drivers/net/cxgbe/mps_tcam.c | 1 +
1 file changed, 1 insertion(+)
Comments
On 9/12/2020 12:47 AM, Rahul Lakkireddy wrote:
> From: Karra Satwik <kaara.satwik@chelsio.com>
>
> 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>
Applied to dpdk-next-net/main, thanks.
@@ -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