From 841d43b00f64df7ed84d47149b0ad2adafa602fe Mon Sep 17 00:00:00 2001 From: Sean Khan Date: Mon, 8 Jul 2024 20:57:48 -0400 Subject: [PATCH] treewide: various patches for GCC-14 + build fixes Also disabled pvxlanmgr and clmapmgr from showing up. It's badly broken and not suported. Signed-off-by: Sean Khan --- qca-nss-clients/Makefile | 10 +-- .../0018-kernel-6.1-support.patch | 77 +++------------- .../0027-bridge-backport-12.5.patch | 2 +- .../0028-dtlsmgr-use-eth_hw_addr_set.patch | 14 +++ .../0029-dtlsmgr-properly-update-stats.patch | 13 +++ .../patches/0018-kernel-6.1-support.patch | 77 +++------------- .../0028-dtlsmgr-use-eth_hw_addr_set.patch | 13 +++ .../0029-dtlsmgr-properly-update-stats.patch | 13 +++ qca-nss-drv/Makefile | 2 +- .../0022-nss-drv-set-addr-to-const.patch | 88 +++++++++++++++++++ .../0022-nss-drv-set-addr-to-const.patch | 88 +++++++++++++++++++ 11 files changed, 258 insertions(+), 139 deletions(-) create mode 100644 qca-nss-clients/patches-11.4/0028-dtlsmgr-use-eth_hw_addr_set.patch create mode 100644 qca-nss-clients/patches-11.4/0029-dtlsmgr-properly-update-stats.patch create mode 100644 qca-nss-clients/patches/0028-dtlsmgr-use-eth_hw_addr_set.patch create mode 100644 qca-nss-clients/patches/0029-dtlsmgr-properly-update-stats.patch create mode 100644 qca-nss-drv/patches-11.4/0022-nss-drv-set-addr-to-const.patch create mode 100644 qca-nss-drv/patches/0022-nss-drv-set-addr-to-const.patch diff --git a/qca-nss-clients/Makefile b/qca-nss-clients/Makefile index b8a36d6..63e28ba 100644 --- a/qca-nss-clients/Makefile +++ b/qca-nss-clients/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-clients -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-clients.git PKG_SOURCE_PROTO:=git @@ -596,7 +596,7 @@ EXTRA_CFLAGS += -DNSS_CAPWAPMGR_ONE_NETDEV endif ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-tun6rd),) -NSS_CLIENTS_MAKE_OPTS+=tun6rd=m +NSS_CLIENTS_MAKE_OPTS+=tun6rd=y endif ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-dtlsmgr),) @@ -622,7 +622,7 @@ NSS_CLIENTS_MAKE_OPTS+=map-t=y endif ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-tunipip6),) -NSS_CLIENTS_MAKE_OPTS+=tunipip6=m +NSS_CLIENTS_MAKE_OPTS+=tunipip6=y endif ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc),) @@ -769,9 +769,9 @@ $(eval $(call KernelPackage,qca-nss-drv-lag-mgr)) $(eval $(call KernelPackage,qca-nss-drv-gre)) # $(eval $(call KernelPackage,qca-nss-drv-ovpn-mgr)) # $(eval $(call KernelPackage,qca-nss-drv-ovpn-link)) -$(eval $(call KernelPackage,qca-nss-drv-pvxlanmgr)) +# $(eval $(call KernelPackage,qca-nss-drv-pvxlanmgr)) $(eval $(call KernelPackage,qca-nss-drv-eogremgr)) -$(eval $(call KernelPackage,qca-nss-drv-clmapmgr)) +# $(eval $(call KernelPackage,qca-nss-drv-clmapmgr)) $(eval $(call KernelPackage,qca-nss-drv-vxlanmgr)) $(eval $(call KernelPackage,qca-nss-drv-match)) # $(eval $(call KernelPackage,qca-nss-drv-tlsmgr)) diff --git a/qca-nss-clients/patches-11.4/0018-kernel-6.1-support.patch b/qca-nss-clients/patches-11.4/0018-kernel-6.1-support.patch index 730ae0c..c8e71ca 100644 --- a/qca-nss-clients/patches-11.4/0018-kernel-6.1-support.patch +++ b/qca-nss-clients/patches-11.4/0018-kernel-6.1-support.patch @@ -1,34 +1,3 @@ ---- a/bridge/nss_bridge_mgr.c -+++ b/bridge/nss_bridge_mgr.c -@@ -1045,7 +1045,7 @@ int nss_bridge_mgr_register_br(struct ne - } - #endif - -- err = nss_bridge_tx_set_mac_addr_msg(ifnum, dev->dev_addr); -+ err = nss_bridge_tx_set_mac_addr_msg(ifnum, (uint8_t *) dev->dev_addr); - if (err != NSS_TX_SUCCESS) { - nss_bridge_mgr_warn("%px: failed to set mac_addr msg, error = %d\n", b_pvt, err); - goto fail_3; -@@ -1202,7 +1202,7 @@ static int nss_bridge_mgr_changeaddr_eve - - nss_bridge_mgr_trace("%px: MAC changed to %pM, update NSS\n", b_pvt, dev->dev_addr); - -- if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, dev->dev_addr) != NSS_TX_SUCCESS) { -+ if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, (uint8_t *) dev->dev_addr) != NSS_TX_SUCCESS) { - nss_bridge_mgr_warn("%px: Failed to send change MAC address message to NSS\n", b_pvt); - return NOTIFY_DONE; - } ---- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c -+++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c -@@ -532,7 +532,7 @@ void nss_dtlsmgr_ctx_dev_setup(struct ne - #else - dev->priv_destructor = nss_dtlsmgr_ctx_dev_free; - #endif -- memcpy(dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len); -+ memcpy((void *) dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len); - memset(dev->broadcast, 0xff, dev->addr_len); - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); - } --- a/gre/test/nss_connmgr_gre_test.c +++ b/gre/test/nss_connmgr_gre_test.c @@ -223,7 +223,7 @@ static int nss_connmgr_gre_test_show_pro @@ -131,9 +100,9 @@ - stats.rx_packets = stats.tx_packets = node_stats->tx_packets; - stats.rx_bytes = stats.tx_bytes = node_stats->tx_bytes; + u64_stats_set(&stats.rx_packets, node_stats->tx_packets); -+ u64_stats_set(&stats.tx_packets, node_stats->tx_packets); ++ u64_stats_set(&stats.tx_packets, node_stats->tx_packets); + u64_stats_set(&stats.rx_bytes, node_stats->tx_bytes); -+ u64_stats_set(&stats.tx_bytes, node_stats->tx_bytes); ++ u64_stats_set(&stats.tx_bytes, node_stats->tx_bytes); dev->stats.rx_dropped = dev->stats.tx_dropped += sync_stats->igs_stats.tx_dropped; u64_stats_update_end(&stats.syncp); @@ -209,34 +178,6 @@ /* * Call attach or detach according as per event type. */ ---- a/vlan/nss_vlan_mgr.c -+++ b/vlan/nss_vlan_mgr.c -@@ -808,7 +808,7 @@ static struct nss_vlan_pvt *nss_vlan_mgr - } - - v->mtu = dev->mtu; -- ether_addr_copy(v->dev_addr, dev->dev_addr); -+ ether_addr_copy(v->dev_addr, (uint8_t *) dev->dev_addr); - v->ifindex = dev->ifindex; - v->refs = 1; - -@@ -956,14 +956,14 @@ static int nss_vlan_mgr_changeaddr_event - } - spin_unlock(&vlan_mgr_ctx.lock); - -- if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, dev->dev_addr) != NSS_TX_SUCCESS) { -+ if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, (uint8_t *) dev->dev_addr) != NSS_TX_SUCCESS) { - nss_vlan_mgr_warn("%s: Failed to send change MAC address message to NSS\n", dev->name); - nss_vlan_mgr_instance_deref(v_pvt); - return NOTIFY_BAD; - } - - spin_lock(&vlan_mgr_ctx.lock); -- ether_addr_copy(v_pvt->dev_addr, dev->dev_addr); -+ ether_addr_copy(v_pvt->dev_addr, (uint8_t *) dev->dev_addr); - spin_unlock(&vlan_mgr_ctx.lock); - nss_vlan_mgr_trace("%s: MAC changed to %pM, updated NSS\n", dev->name, dev->dev_addr); - nss_vlan_mgr_instance_deref(v_pvt); --- a/vxlanmgr/nss_vxlanmgr_tunnel.c +++ b/vxlanmgr/nss_vxlanmgr_tunnel.c @@ -465,8 +465,8 @@ static void nss_vxlanmgr_tunnel_inner_st @@ -272,15 +213,19 @@ priv = netdev_priv(dev); memset(stats, 0, sizeof(struct rtnl_link_stats64)); memcpy(stats, &priv->stats, sizeof(struct rtnl_link_stats64)); -@@ -305,7 +305,7 @@ static void nss_pvxlanmgr_dummy_netdev_s +@@ -305,9 +305,9 @@ static void nss_pvxlanmgr_dummy_netdev_s dev->priv_destructor = NULL; #endif - + - memcpy(dev->dev_addr, "\x00\x00\x00\x00\x00\x00", dev->addr_len); -+ memcpy((void *) dev->dev_addr, "\x00\x00\x00\x00\x00\x00", dev->addr_len); - memset(dev->broadcast, 0xff, dev->addr_len); - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); +- memset(dev->broadcast, 0xff, dev->addr_len); +- memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); ++ const uint8_t mac_addr[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; ++ eth_hw_addr_set(dev, mac_addr); ++ eth_broadcast_addr(dev->broadcast); } + + /* --- a/clmapmgr/nss_clmapmgr.c +++ b/clmapmgr/nss_clmapmgr.c @@ -103,7 +103,7 @@ static struct rtnl_link_stats64 *nss_clm diff --git a/qca-nss-clients/patches-11.4/0027-bridge-backport-12.5.patch b/qca-nss-clients/patches-11.4/0027-bridge-backport-12.5.patch index 46dd10c..1841b76 100644 --- a/qca-nss-clients/patches-11.4/0027-bridge-backport-12.5.patch +++ b/qca-nss-clients/patches-11.4/0027-bridge-backport-12.5.patch @@ -235,7 +235,7 @@ } #endif - err = nss_bridge_tx_set_mac_addr_msg(ifnum, (uint8_t *) dev->dev_addr); + err = nss_bridge_tx_set_mac_addr_msg(ifnum, dev->dev_addr); if (err != NSS_TX_SUCCESS) { nss_bridge_mgr_warn("%px: failed to set mac_addr msg, error = %d\n", b_pvt, err); - goto fail_3; diff --git a/qca-nss-clients/patches-11.4/0028-dtlsmgr-use-eth_hw_addr_set.patch b/qca-nss-clients/patches-11.4/0028-dtlsmgr-use-eth_hw_addr_set.patch new file mode 100644 index 0000000..6a20388 --- /dev/null +++ b/qca-nss-clients/patches-11.4/0028-dtlsmgr-use-eth_hw_addr_set.patch @@ -0,0 +1,14 @@ +--- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c ++++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c +@@ -532,7 +536,8 @@ void nss_dtlsmgr_ctx_dev_setup(struct ne + #else + dev->priv_destructor = nss_dtlsmgr_ctx_dev_free; + #endif +- memcpy(dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len); +- memset(dev->broadcast, 0xff, dev->addr_len); ++ const uint8_t mac_addr[ETH_ALEN] = { 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }; ++ eth_hw_addr_set(dev, mac_addr); ++ eth_broadcast_addr(dev->broadcast); + memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); + } + diff --git a/qca-nss-clients/patches-11.4/0029-dtlsmgr-properly-update-stats.patch b/qca-nss-clients/patches-11.4/0029-dtlsmgr-properly-update-stats.patch new file mode 100644 index 0000000..832d35e --- /dev/null +++ b/qca-nss-clients/patches-11.4/0029-dtlsmgr-properly-update-stats.patch @@ -0,0 +1,13 @@ +--- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c ++++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c +@@ -236,6 +236,10 @@ void nss_dtlsmgr_ctx_dev_rx_inner(struct + skb->skb_iif = dev->ifindex; + skb->dev = dev; + ++ // Update the statistics ++ stats->rx_packets++; ++ stats->rx_bytes += skb->len; ++ + ctx->data_cb(ctx->app_data, skb); + dev_put(dev); + } diff --git a/qca-nss-clients/patches/0018-kernel-6.1-support.patch b/qca-nss-clients/patches/0018-kernel-6.1-support.patch index 7a7e485..8b67013 100644 --- a/qca-nss-clients/patches/0018-kernel-6.1-support.patch +++ b/qca-nss-clients/patches/0018-kernel-6.1-support.patch @@ -1,34 +1,3 @@ ---- a/bridge/nss_bridge_mgr.c -+++ b/bridge/nss_bridge_mgr.c -@@ -1081,7 +1081,7 @@ int nss_bridge_mgr_register_br(struct ne - } - #endif - -- err = nss_bridge_tx_set_mac_addr_msg(ifnum, dev->dev_addr); -+ err = nss_bridge_tx_set_mac_addr_msg(ifnum, (uint8_t *) dev->dev_addr); - if (err != NSS_TX_SUCCESS) { - nss_bridge_mgr_warn("%px: failed to set mac_addr msg, error = %d\n", b_pvt, err); - goto fail_4; -@@ -1242,7 +1242,7 @@ static int nss_bridge_mgr_changeaddr_eve - - nss_bridge_mgr_trace("%px: MAC changed to %pM, update NSS\n", b_pvt, dev->dev_addr); - -- if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, dev->dev_addr) != NSS_TX_SUCCESS) { -+ if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, (uint8_t *) dev->dev_addr) != NSS_TX_SUCCESS) { - nss_bridge_mgr_warn("%px: Failed to send change MAC address message to NSS\n", b_pvt); - return NOTIFY_DONE; - } ---- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c -+++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c -@@ -532,7 +532,7 @@ void nss_dtlsmgr_ctx_dev_setup(struct ne - #else - dev->priv_destructor = nss_dtlsmgr_ctx_dev_free; - #endif -- memcpy(dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len); -+ memcpy((void *) dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len); - memset(dev->broadcast, 0xff, dev->addr_len); - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); - } --- a/gre/test/nss_connmgr_gre_test.c +++ b/gre/test/nss_connmgr_gre_test.c @@ -223,7 +223,7 @@ static int nss_connmgr_gre_test_show_pro @@ -131,9 +100,9 @@ - stats.rx_packets = stats.tx_packets = node_stats->tx_packets; - stats.rx_bytes = stats.tx_bytes = node_stats->tx_bytes; + u64_stats_set(&stats.rx_packets, node_stats->tx_packets); -+ u64_stats_set(&stats.tx_packets, node_stats->tx_packets); ++ u64_stats_set(&stats.tx_packets, node_stats->tx_packets); + u64_stats_set(&stats.rx_bytes, node_stats->tx_bytes); -+ u64_stats_set(&stats.tx_bytes, node_stats->tx_bytes); ++ u64_stats_set(&stats.tx_bytes, node_stats->tx_bytes); dev->stats.rx_dropped = dev->stats.tx_dropped += sync_stats->igs_stats.tx_dropped; u64_stats_update_end(&stats.syncp); @@ -186,34 +155,6 @@ /* * Update qdisc->qstats ---- a/vlan/nss_vlan_mgr.c -+++ b/vlan/nss_vlan_mgr.c -@@ -915,7 +915,7 @@ static struct nss_vlan_pvt *nss_vlan_mgr - } - - v->mtu = dev->mtu; -- ether_addr_copy(v->dev_addr, dev->dev_addr); -+ ether_addr_copy(v->dev_addr, (uint8_t *) dev->dev_addr); - v->ifindex = dev->ifindex; - v->refs = 1; - -@@ -974,14 +974,14 @@ static int nss_vlan_mgr_changeaddr_event - } - spin_unlock(&vlan_mgr_ctx.lock); - -- if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, dev->dev_addr) != NSS_TX_SUCCESS) { -+ if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, (uint8_t *) dev->dev_addr) != NSS_TX_SUCCESS) { - nss_vlan_mgr_warn("%s: Failed to send change MAC address message to NSS\n", dev->name); - nss_vlan_mgr_instance_deref(v_pvt); - return NOTIFY_BAD; - } - - spin_lock(&vlan_mgr_ctx.lock); -- ether_addr_copy(v_pvt->dev_addr, dev->dev_addr); -+ ether_addr_copy(v_pvt->dev_addr, (uint8_t *) dev->dev_addr); - spin_unlock(&vlan_mgr_ctx.lock); - nss_vlan_mgr_trace("%s: MAC changed to %pM, updated NSS\n", dev->name, dev->dev_addr); - nss_vlan_mgr_instance_deref(v_pvt); --- a/vxlanmgr/nss_vxlanmgr_tunnel.c +++ b/vxlanmgr/nss_vxlanmgr_tunnel.c @@ -489,8 +489,8 @@ static void nss_vxlanmgr_tunnel_inner_st @@ -249,15 +190,19 @@ priv = netdev_priv(dev); memset(stats, 0, sizeof(struct rtnl_link_stats64)); memcpy(stats, &priv->stats, sizeof(struct rtnl_link_stats64)); -@@ -305,7 +305,7 @@ static void nss_pvxlanmgr_dummy_netdev_s +@@ -305,9 +305,9 @@ static void nss_pvxlanmgr_dummy_netdev_s dev->priv_destructor = NULL; #endif - + - memcpy(dev->dev_addr, "\x00\x00\x00\x00\x00\x00", dev->addr_len); -+ memcpy((void *) dev->dev_addr, "\x00\x00\x00\x00\x00\x00", dev->addr_len); - memset(dev->broadcast, 0xff, dev->addr_len); - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); +- memset(dev->broadcast, 0xff, dev->addr_len); +- memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); ++ const uint8_t mac_addr[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; ++ eth_hw_addr_set(dev, mac_addr); ++ eth_broadcast_addr(dev->broadcast); } + + /* --- a/clmapmgr/nss_clmapmgr.c +++ b/clmapmgr/nss_clmapmgr.c @@ -103,7 +103,7 @@ static struct rtnl_link_stats64 *nss_clm diff --git a/qca-nss-clients/patches/0028-dtlsmgr-use-eth_hw_addr_set.patch b/qca-nss-clients/patches/0028-dtlsmgr-use-eth_hw_addr_set.patch new file mode 100644 index 0000000..20a1e8e --- /dev/null +++ b/qca-nss-clients/patches/0028-dtlsmgr-use-eth_hw_addr_set.patch @@ -0,0 +1,13 @@ +--- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c ++++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c +@@ -532,7 +532,8 @@ void nss_dtlsmgr_ctx_dev_setup(struct ne + #else + dev->priv_destructor = nss_dtlsmgr_ctx_dev_free; + #endif +- memcpy(dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len); +- memset(dev->broadcast, 0xff, dev->addr_len); ++ const uint8_t mac_addr[ETH_ALEN] = { 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }; ++ eth_hw_addr_set(dev, mac_addr); ++ eth_broadcast_addr(dev->broadcast); + memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); + } diff --git a/qca-nss-clients/patches/0029-dtlsmgr-properly-update-stats.patch b/qca-nss-clients/patches/0029-dtlsmgr-properly-update-stats.patch new file mode 100644 index 0000000..832d35e --- /dev/null +++ b/qca-nss-clients/patches/0029-dtlsmgr-properly-update-stats.patch @@ -0,0 +1,13 @@ +--- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c ++++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c +@@ -236,6 +236,10 @@ void nss_dtlsmgr_ctx_dev_rx_inner(struct + skb->skb_iif = dev->ifindex; + skb->dev = dev; + ++ // Update the statistics ++ stats->rx_packets++; ++ stats->rx_bytes += skb->len; ++ + ctx->data_cb(ctx->app_data, skb); + dev_put(dev); + } diff --git a/qca-nss-drv/Makefile b/qca-nss-drv/Makefile index 147351c..2d922d8 100644 --- a/qca-nss-drv/Makefile +++ b/qca-nss-drv/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-drv -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git PKG_SOURCE_PROTO:=git diff --git a/qca-nss-drv/patches-11.4/0022-nss-drv-set-addr-to-const.patch b/qca-nss-drv/patches-11.4/0022-nss-drv-set-addr-to-const.patch new file mode 100644 index 0000000..af09f8a --- /dev/null +++ b/qca-nss-drv/patches-11.4/0022-nss-drv-set-addr-to-const.patch @@ -0,0 +1,88 @@ +--- a/exports/nss_bridge.h ++++ b/exports/nss_bridge.h +@@ -273,7 +273,7 @@ nss_tx_status_t nss_bridge_tx_set_mtu_ms + * @return + * Status of the Tx operation. + */ +-nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, uint8_t *addr); ++nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, const uint8_t *addr); + + /** + * nss_bridge_tx_join_msg +--- a/exports/nss_vlan.h ++++ b/exports/nss_vlan.h +@@ -210,7 +210,7 @@ nss_tx_status_t nss_vlan_tx_set_mtu_msg( + * @return + * Status of the Tx operation. + */ +-nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, uint8_t *addr); ++nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, const uint8_t *addr); + + /** + * nss_vlan_tx_vsi_attach_msg +--- a/exports/nss_wifi_vdev.h ++++ b/exports/nss_wifi_vdev.h +@@ -1344,7 +1344,7 @@ nss_tx_status_t nss_wifi_vdev_base_set_n + * @return + * Status of the Tx operation. + */ +-nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *nss_ctx, uint32_t nss_if, uint8_t *addr, uint32_t next_hop_if); ++nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *nss_ctx, uint32_t nss_if, const uint8_t *addr, uint32_t next_hop_if); + + /* + * nss_wifi_vdev_set_dp_type +--- a/nss_bridge.c ++++ b/nss_bridge.c +@@ -304,7 +304,7 @@ EXPORT_SYMBOL(nss_bridge_tx_set_mtu_msg) + * nss_bridge_tx_set_mac_addr_msg + * API to send change mac addr message to NSS FW + */ +-nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, uint8_t *addr) ++nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, const uint8_t *addr) + { + struct nss_ctx_instance *nss_ctx = nss_bridge_get_context(); + struct nss_bridge_msg nbm; +--- a/nss_phys_if.c ++++ b/nss_phys_if.c +@@ -402,7 +402,7 @@ nss_tx_status_t nss_phys_if_link_state(s + * nss_phys_if_mac_addr() + * Send a MAC address to physical interface + */ +-nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, uint8_t *addr, uint32_t if_num) ++nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, const uint8_t *addr, uint32_t if_num) + { + struct nss_phys_if_msg nim; + struct nss_if_mac_address_set *nmas; +--- a/nss_phys_if.h ++++ b/nss_phys_if.h +@@ -284,7 +284,7 @@ nss_tx_status_t nss_phys_if_link_state(s + * + * @return nss_tx_status_t Tx status + */ +-nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, uint8_t *addr, uint32_t if_num); ++nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, const uint8_t *addr, uint32_t if_num); + + /** + * @brief Send MTU change notification to NSS +--- a/nss_vlan.c ++++ b/nss_vlan.c +@@ -246,7 +246,7 @@ EXPORT_SYMBOL(nss_vlan_tx_set_mtu_msg); + * nss_vlan_tx_set_mac_addr_msg + * API to send change mac addr message to NSS FW + */ +-nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, uint8_t *addr) ++nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, const uint8_t *addr) + { + struct nss_ctx_instance *nss_ctx = nss_vlan_get_context(); + struct nss_vlan_msg nvm; +--- a/nss_wifi_vdev.c ++++ b/nss_wifi_vdev.c +@@ -274,7 +274,7 @@ EXPORT_SYMBOL(nss_wifi_vdev_base_set_nex + /* + * nss_wifi_vdev_set_peer_next_hop() + */ +-nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *ctx, uint32_t nss_if, uint8_t *addr, uint32_t next_hop_if) ++nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *ctx, uint32_t nss_if, const uint8_t *addr, uint32_t next_hop_if) + { + nss_tx_status_t status; + struct nss_wifi_vdev_msg *wifivdevmsg = kzalloc(sizeof(struct nss_wifi_vdev_msg), GFP_KERNEL); diff --git a/qca-nss-drv/patches/0022-nss-drv-set-addr-to-const.patch b/qca-nss-drv/patches/0022-nss-drv-set-addr-to-const.patch new file mode 100644 index 0000000..fe78c3c --- /dev/null +++ b/qca-nss-drv/patches/0022-nss-drv-set-addr-to-const.patch @@ -0,0 +1,88 @@ +--- a/exports/nss_bridge.h ++++ b/exports/nss_bridge.h +@@ -273,7 +273,7 @@ nss_tx_status_t nss_bridge_tx_set_mtu_ms + * @return + * Status of the Tx operation. + */ +-nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, uint8_t *addr); ++nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, const uint8_t *addr); + + /** + * nss_bridge_tx_join_msg +--- a/exports/nss_vlan.h ++++ b/exports/nss_vlan.h +@@ -210,7 +210,7 @@ nss_tx_status_t nss_vlan_tx_set_mtu_msg( + * @return + * Status of the Tx operation. + */ +-nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, uint8_t *addr); ++nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, const uint8_t *addr); + + /** + * nss_vlan_tx_vsi_attach_msg +--- a/exports/nss_wifi_vdev.h ++++ b/exports/nss_wifi_vdev.h +@@ -1404,7 +1404,7 @@ nss_tx_status_t nss_wifi_vdev_base_set_n + * @return + * Status of the Tx operation. + */ +-nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *nss_ctx, uint32_t nss_if, uint8_t *addr, uint32_t next_hop_if); ++nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *nss_ctx, uint32_t nss_if, const uint8_t *addr, uint32_t next_hop_if); + + /* + * nss_wifi_vdev_set_dp_type +--- a/nss_bridge.c ++++ b/nss_bridge.c +@@ -304,7 +304,7 @@ EXPORT_SYMBOL(nss_bridge_tx_set_mtu_msg) + * nss_bridge_tx_set_mac_addr_msg + * API to send change mac addr message to NSS FW + */ +-nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, uint8_t *addr) ++nss_tx_status_t nss_bridge_tx_set_mac_addr_msg(uint32_t bridge_if_num, const uint8_t *addr) + { + struct nss_ctx_instance *nss_ctx = nss_bridge_get_context(); + struct nss_bridge_msg nbm; +--- a/nss_phys_if.c ++++ b/nss_phys_if.c +@@ -402,7 +402,7 @@ nss_tx_status_t nss_phys_if_link_state(s + * nss_phys_if_mac_addr() + * Send a MAC address to physical interface + */ +-nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, uint8_t *addr, uint32_t if_num) ++nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, const uint8_t *addr, uint32_t if_num) + { + struct nss_phys_if_msg nim; + struct nss_if_mac_address_set *nmas; +--- a/nss_phys_if.h ++++ b/nss_phys_if.h +@@ -284,7 +284,7 @@ nss_tx_status_t nss_phys_if_link_state(s + * + * @return nss_tx_status_t Tx status + */ +-nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, uint8_t *addr, uint32_t if_num); ++nss_tx_status_t nss_phys_if_mac_addr(struct nss_ctx_instance *nss_ctx, const uint8_t *addr, uint32_t if_num); + + /** + * @brief Send MTU change notification to NSS +--- a/nss_vlan.c ++++ b/nss_vlan.c +@@ -246,7 +246,7 @@ EXPORT_SYMBOL(nss_vlan_tx_set_mtu_msg); + * nss_vlan_tx_set_mac_addr_msg + * API to send change mac addr message to NSS FW + */ +-nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, uint8_t *addr) ++nss_tx_status_t nss_vlan_tx_set_mac_addr_msg(uint32_t vlan_if_num, const uint8_t *addr) + { + struct nss_ctx_instance *nss_ctx = nss_vlan_get_context(); + struct nss_vlan_msg nvm; +--- a/nss_wifi_vdev.c ++++ b/nss_wifi_vdev.c +@@ -274,7 +274,7 @@ EXPORT_SYMBOL(nss_wifi_vdev_base_set_nex + /* + * nss_wifi_vdev_set_peer_next_hop() + */ +-nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *ctx, uint32_t nss_if, uint8_t *addr, uint32_t next_hop_if) ++nss_tx_status_t nss_wifi_vdev_set_peer_next_hop(struct nss_ctx_instance *ctx, uint32_t nss_if, const uint8_t *addr, uint32_t next_hop_if) + { + nss_tx_status_t status; + struct nss_wifi_vdev_msg *wifivdevmsg = kzalloc(sizeof(struct nss_wifi_vdev_msg), GFP_KERNEL);