[PATCH net] octeontx2-af: Fix keep PF_FUNC match for AF TX rules in rep mode

From: kmahammadraf

Date: Mon Nov 09 2026 - 05:52:03 EST


From: Aditya Thapliyal <athapliyal@xxxxxxxxxxx>

In representor mode, AF installs TX MCAM rules for representor traffic.
These TX rules must match on PF_FUNC to identify the correct target
function.

Currently, npc_update_tx_entry() clears PF_FUNC mask for AF-requested
rules. In rep_mode, that wildcard can make a TX rule match traffic for
other representors on the same TX interface, which can steer egress
traffic through the wrong rule.

Fix this by not clearing PF_FUNC mask for AF-installed TX rules when
rep_mode is enabled.

Fixes: 683645a2317e ("octeontx2-af: Add packet path between representor and VF")

Signed-off-by: kmahammadraf <kmahammadraf@xxxxxxxxxxx>
Signed-off-by: Aditya Thapliyal <athapliyal@xxxxxxxxxxx>

---
v2: https://lore.kernel.org/netdev/179292714974.3134.12015701378835588497@xxxxxxxxxx/

-Drop the channel-handling change from this patch.
-Keep this patch focused on PF_FUNC mask handling in representor mode.
-Clarify the representor TX symptom in the commit message.
---
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c
index ec004ea5154c..4afd4a10cd64 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c
@@ -1396,7 +1396,7 @@ static int npc_update_tx_entry(struct rvu *rvu, struct rvu_pfvf *pfvf,
/* If AF is installing then do not care about
* PF_FUNC in Send Descriptor
*/
- if (is_pffunc_af(req->hdr.pcifunc))
+ if (is_pffunc_af(req->hdr.pcifunc) && !rvu->rep_mode)
mask = 0;

npc_update_entry(rvu, NPC_PF_FUNC, mdata, (__force u16)htons(target),
--
2.25.1