nss-dp: switchdev: apply flag dependency directives
Some checks failed
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build Kernel / Build all affected Kernels (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled

The FDB roaming issues were observed on ipq807x and ipq60xx boards.
The fix depends on API exposed only when NSS_DP_PPE_SUPPORT is enabled.
However, this flag applies to above mentioned platforms only and is
causing the logs to be flooded on other QCA platforms, including ipq50xx,
with:

[   34.893418] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[   34.898370] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[   34.904598] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[   34.910661] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1

So let's apply a dependency on the NSS_DP_PPE_SUPPORT flag and contain
the patch code for ipq807x and ipq60xx within conditional directives.

Tested on: Linksys SPNMX56

Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17966
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
George Moussalem 2025-02-14 13:46:53 +04:00 committed by Robert Marko
parent 3dfd1f69a7
commit 9fb44638ba

View File

@ -22,20 +22,22 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/nss_dp_switchdev.c
+++ b/nss_dp_switchdev.c
@@ -29,6 +29,8 @@
@@ -29,6 +29,10 @@
#include "nss_dp_dev.h"
#include "fal/fal_stp.h"
#include "fal/fal_ctrlpkt.h"
+#if defined(NSS_DP_PPE_SUPPORT)
+#include "fal/fal_fdb.h"
+#include "ref/ref_vsi.h"
+#endif
#define NSS_DP_SWITCH_ID 0
#define NSS_DP_SW_ETHTYPE_PID 0 /* PPE ethtype profile ID for slow protocols */
@@ -534,7 +536,76 @@ static struct notifier_block *nss_dp_sw_
@@ -534,8 +538,82 @@ static struct notifier_block *nss_dp_sw_
#else
-static struct notifier_block *nss_dp_sw_ev_nb;
+#if defined(NSS_DP_PPE_SUPPORT)
+/*
+ * nss_dp_switchdev_fdb_del_event
+ *
@ -106,6 +108,11 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+};
+
+static struct notifier_block *nss_dp_sw_ev_nb = &nss_dp_switchdev_notifier_nb;
+
+#else
static struct notifier_block *nss_dp_sw_ev_nb;
+#endif
/*
* nss_dp_bridge_attr_set()
* Sets bridge attributes