octeon: fix issue with RSS and promisc mode 99/43699/3
authorDamjan Marion <[email protected]>
Mon, 15 Sep 2025 12:03:02 +0000 (14:03 +0200)
committerDamjan Marion <[email protected]>
Mon, 15 Sep 2025 18:04:41 +0000 (18:04 +0000)
Type: fix

Change-Id: I64c4cb8655ff957940a6d7ec38a82a8bf0dd4053
Signed-off-by: Damjan Marion <[email protected]>
Signed-off-by: Monendra Singh Kushwaha <[email protected]>
src/plugins/dev_octeon/port.c

index 957af91..d466a1e 100644 (file)
@@ -493,6 +493,28 @@ oct_port_start (vlib_main_t *vm, vnet_dev_port_t *port)
       goto done;
     }
 
+  if (!(roc_nix_is_sdp (nix) || roc_nix_is_lbk (nix)))
+    {
+
+      rv = roc_nix_npc_promisc_ena_dis (nix, port->promisc);
+      if (rv)
+       {
+         return oct_roc_err (dev, rv, "roc_nix_npc_promisc_ena_dis failed");
+       }
+
+      if (roc_nix_is_pf (nix))
+       {
+
+         rv = roc_nix_mac_promisc_mode_enable (nix, port->promisc);
+         if (rv)
+           {
+             return oct_roc_err (dev, rv,
+                                 "roc_nix_mac_promisc_mode_enable(%s) failed",
+                                 port->promisc ? "true" : "false");
+           }
+       }
+    }
+
   vnet_dev_poll_port_add (vm, port, 0.5, oct_port_poll);
 
   if (roc_nix_eeprom_info_get (nix, &eeprom_info) == 0)