Skip to contentSkip to conversation

net/octeontx2: fix vlan filter on port

PATCH Applied [email protected] 2 participants 2 messages Feb 9, 2021 – Mar 8, 2021 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net/octeontx2: fix vlan filter on port

From: Satheesh Paul <[email protected]>

This patch fixes incorrect MCAM key preparation when creating MCAM entry to allow VLAN IDs after vlan filtering is enabled on port.

Fixes ba1b3b081e ("net/octeontx2: support VLAN offloads")
---
 drivers/net/octeontx2/otx2_vlan.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/net/octeontx2/otx2_vlan.c +4 -4
index 7357b0669..f5161e17a 100644
@@ -306,12 +306,12 @@ nix_vlan_mcam_config(struct rte_eth_dev *eth_dev,
 			(0xF & ~(NPC_LT_LB_CTAG ^ NPC_LT_LB_STAG_QINQ))
 							<< mkex->lb_lt_offset;
 
-		mcam_data = ((uint32_t)vlan_id << 16);
-		mcam_mask = (BIT_ULL(16) - 1) << 16;
+		mcam_data = (uint16_t)vlan_id;
+		mcam_mask = (BIT_ULL(16) - 1);
 		otx2_mbox_memcpy(key_data + mkex->lb_xtract.key_off,
-				     &mcam_data, mkex->lb_xtract.len + 1);
+				     &mcam_data, mkex->lb_xtract.len);
 		otx2_mbox_memcpy(key_mask + mkex->lb_xtract.key_off,
-				     &mcam_mask, mkex->lb_xtract.len + 1);
+				     &mcam_mask, mkex->lb_xtract.len);
 	}
 
 	/* Adds LB STAG flag to MCAM KW */
Signature · 1 line
2.25.4
Acked-by on v1 1/1 Applied
#1 lore raw
Quoted 9 lines · On Tue, Feb 9, 2021 at 3:31 PM <[email protected]> wrote:

From: Satheesh Paul <[email protected]>

This patch fixes incorrect MCAM key preparation when creating MCAM entry to allow VLAN IDs after vlan filtering is enabled on port.

Fixes ba1b3b081e ("net/octeontx2: support VLAN offloads")

Changed vlan to VLAN in the subject.

Applied to dpdk-next-net-mrvl/for-main. Thanks

Quoted 29 lines
---
 drivers/net/octeontx2/otx2_vlan.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/net/octeontx2/otx2_vlan.c +4 -5
index 7357b0669..f5161e17a 100644
@@ -306,12 +306,12 @@ nix_vlan_mcam_config(struct rte_eth_dev *eth_dev,
                        (0xF & ~(NPC_LT_LB_CTAG ^ NPC_LT_LB_STAG_QINQ))
                                                        << mkex->lb_lt_offset;
 
-               mcam_data = ((uint32_t)vlan_id << 16);
-               mcam_mask = (BIT_ULL(16) - 1) << 16;
+               mcam_data = (uint16_t)vlan_id;
+               mcam_mask = (BIT_ULL(16) - 1);
                otx2_mbox_memcpy(key_data + mkex->lb_xtract.key_off,
-                                    &mcam_data, mkex->lb_xtract.len + 1);
+                                    &mcam_data, mkex->lb_xtract.len);
                otx2_mbox_memcpy(key_mask + mkex->lb_xtract.key_off,
-                                    &mcam_mask, mkex->lb_xtract.len + 1);
+                                    &mcam_mask, mkex->lb_xtract.len);
        }
 
        /* Adds LB STAG flag to MCAM KW */
--

2.25.4