Netdev List
 help / color / mirror / Atom feed
* [PATCH net v3 0/1] octeontx2-af: Bug fixes for VF RX mode
@ 2026-07-02  4:56 nshettyj
  2026-07-02  4:56 ` [PATCH net v3 1/1] octeontx2-af: fix VF bringup affecting PF promiscuous state nshettyj
  0 siblings, 1 reply; 2+ messages in thread
From: nshettyj @ 2026-07-02  4:56 UTC (permalink / raw)
  To: netdev
  Cc: linux-kernel, sgoutham, lcherian, gakula, hkelam, sbhatta,
	andrew+netdev, davem, edumazet, kuba, pabeni, naveenm, rkannoth,
	Kiran Kumar K

From: Kiran Kumar K <kirankumark@marvell.com>

Hello,

The patch resolves an issue where a VF changing its interface
state could inadvertently delete the RX promiscuous and all-multicast
MCAM rules belonging to the host PF.

Changes in v3:
- Drop patch "octeontx2-af: suppress kpu profile loading warning".
- Drop the change based on the Sashiko review comment that both APIs
  already use FW_OPT_NO_WARN, making the switch from
  request_firmware_direct() to firmware_request_nowarn() unnecessary.

Changes in v2:
- Rebased patch 2/2 to resolve a merge conflict on the net branch.
- Patch 1/2 remains unchanged.

Harman Kalra (1):
  octeontx2-af: fix VF bringup affecting PF promiscuous state

 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.48.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH net v3 1/1] octeontx2-af: fix VF bringup affecting PF promiscuous state
  2026-07-02  4:56 [PATCH net v3 0/1] octeontx2-af: Bug fixes for VF RX mode nshettyj
@ 2026-07-02  4:56 ` nshettyj
  0 siblings, 0 replies; 2+ messages in thread
From: nshettyj @ 2026-07-02  4:56 UTC (permalink / raw)
  To: netdev
  Cc: linux-kernel, sgoutham, lcherian, gakula, hkelam, sbhatta,
	andrew+netdev, davem, edumazet, kuba, pabeni, naveenm, rkannoth,
	Harman Kalra, Nitin Shetty J

From: Harman Kalra <hkalra@marvell.com>

Mbox handling of nix_set_rx_mode for a VF with promiscuous and
all_multi flags set to false causes deletion of the PF's promiscuous
and allmulti MCAM rules. This occurs because the APIs that
enable/disable these rules operate only on the PF, even when the
mbox request is made via a VF interface.

Guard both rvu_npc_enable_allmulti_entry() and
rvu_npc_enable_promisc_entry() disable paths with an is_vf() check so
that a VF bringing up or tearing down its interface cannot inadvertently
clear the PF's MCAM rules.

Fixes: 967db3529eca ("octeontx2-af: add support for multicast/promisc packet replication feature")
Signed-off-by: Harman Kalra <hkalra@marvell.com>
Signed-off-by: Nitin Shetty J <nshettyj@marvell.com>
---
 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
index d8989395e875..a7e0e0e05ad2 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
@@ -4575,7 +4575,7 @@ int rvu_mbox_handler_nix_set_rx_mode(struct rvu *rvu, struct nix_rx_mode *req,
 		rvu_npc_install_allmulti_entry(rvu, pcifunc, nixlf,
 					       pfvf->rx_chan_base);
 	} else {
-		if (!nix_rx_multicast)
+		if (!nix_rx_multicast && !is_vf(pcifunc))
 			rvu_npc_enable_allmulti_entry(rvu, pcifunc, nixlf, false);
 	}
 
@@ -4585,7 +4585,7 @@ int rvu_mbox_handler_nix_set_rx_mode(struct rvu *rvu, struct nix_rx_mode *req,
 					      pfvf->rx_chan_base,
 					      pfvf->rx_chan_cnt);
 	else
-		if (!nix_rx_multicast)
+		if (!nix_rx_multicast && !is_vf(pcifunc))
 			rvu_npc_enable_promisc_entry(rvu, pcifunc, nixlf, false);
 
 	return 0;
-- 
2.48.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-07-02  4:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-02  4:56 [PATCH net v3 0/1] octeontx2-af: Bug fixes for VF RX mode nshettyj
2026-07-02  4:56 ` [PATCH net v3 1/1] octeontx2-af: fix VF bringup affecting PF promiscuous state nshettyj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox