diff --git a/qca-mcs/Makefile b/qca-mcs/Makefile index 970ac6a..a1087a0 100644 --- a/qca-mcs/Makefile +++ b/qca-mcs/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-mcs -PKG_RELEASE:=2 +PKG_RELEASE:=1 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-mcs.git -PKG_SOURCE_DATE:=2023-09-13 +PKG_SOURCE_DATE:=2024-02-27 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=02207cd -PKG_MIRROR_HASH:=0b6183758da2caeb70674e117de236b842f7090a3f4d21ab9b462a3545d5f2aa -QSDK_VERSION:=12.4.5.r3 +PKG_SOURCE_VERSION:=26d6424 +PKG_MIRROR_HASH:=c9ac582b77123b9d187038b6f8fdb2020bd3a9708fb826773aa775768a60b0e7 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) PKG_BUILD_PARALLEL:=1 diff --git a/qca-mcs/patches/0001-kernel-5.10-compat.patch b/qca-mcs/patches/0001-kernel-5.10-compat.patch index 03ea7fe..55faa26 100644 --- a/qca-mcs/patches/0001-kernel-5.10-compat.patch +++ b/qca-mcs/patches/0001-kernel-5.10-compat.patch @@ -1,6 +1,6 @@ --- a/mc_snooping.c +++ b/mc_snooping.c -@@ -3046,7 +3046,6 @@ static void mc_mdb_cleanup(unsigned long +@@ -3105,7 +3105,6 @@ static void mc_mdb_cleanup(unsigned long os_hlist_for_each_entry_rcu(mdb, mdbh, &mc->hash[i], hlist) { struct mc_port_group *pg; struct hlist_node *pgh; @@ -8,7 +8,7 @@ unsigned long expire_time = mc->membership_interval; if (hlist_empty(&mdb->pslist)) { -@@ -3081,7 +3080,6 @@ static void mc_mdb_cleanup(unsigned long +@@ -3140,7 +3139,6 @@ static void mc_mdb_cleanup(unsigned long else if (time_before(this_timer, next_timer)) next_timer = this_timer; } diff --git a/qca-nss-cfi/Makefile b/qca-nss-cfi/Makefile index ebf1c7f..232c48c 100644 --- a/qca-nss-cfi/Makefile +++ b/qca-nss-cfi/Makefile @@ -7,8 +7,8 @@ PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-cfi.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2022-12-15 PKG_SOURCE_VERSION:=5cd07ce -PKG_MIRROR_HASH:=9ab865da0d5fca7a5c51daf4f276e231cbca7076f5f9853961d70085074726fa -QSDK_VERSION:=12.4.5.r3 +PKG_MIRROR_HASH:=4f6fc96b7f17875d4d1059b13f686d3515a8a2768f752cbb0da2a04c389fdf61 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) PKG_BUILD_PARALLEL:=1 diff --git a/qca-nss-clients/Makefile b/qca-nss-clients/Makefile index e0e4820..8195656 100644 --- a/qca-nss-clients/Makefile +++ b/qca-nss-clients/Makefile @@ -5,10 +5,10 @@ PKG_RELEASE:=2 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-clients.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-09-28 -PKG_SOURCE_VERSION:=f058ae1 -PKG_MIRROR_HASH:=23c66b0afa1f8de3b9ae95e4e2cfc98fd68d169ba41e1e93e9e7c74c7921e48e -QSDK_VERSION:=12.4.5.r3 +PKG_SOURCE_DATE:=2024-03-05 +PKG_SOURCE_VERSION:=9a53b18 +PKG_MIRROR_HASH:=d9ce4f5ae5880eee9d0ae08e12ce32f58be2e5a01b56ff3e31e145892038b516 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) PKG_BUILD_PARALLEL:=1 @@ -339,7 +339,6 @@ define KernelPackage/qca-nss-drv-qdisc +kmod-qca-nss-drv FILES:=$(PKG_BUILD_DIR)/nss_qdisc/qca-nss-qdisc.ko KCONFIG:=CONFIG_NET_CLS_ACT=y - AUTOLOAD:=$(call AutoLoad,58,qca-nss-qdisc) endef define KernelPackage/qca-nss-drv-qdisc/Description @@ -572,11 +571,6 @@ define KernelPackage/qca-nss-drv-ipsecmgr-xfrm/install $(INSTALL_BIN) ./files/qca-nss-ipsec $(1)/etc/init.d/qca-nss-ipsec endef -define KernelPackage/qca-nss-drv-igs/install - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/qca-nss-mirred.init $(1)/etc/init.d/qca-nss-mirred -endef - define KernelPackage/qca-nss-drv-netlink/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/qca-nss-netlink.init $(1)/etc/init.d/qca-nss-netlink diff --git a/qca-nss-clients/patches/0005-vlanmgr-fix-compile-error.patch b/qca-nss-clients/patches/0005-vlanmgr-fix-compile-error.patch index 13fb767..870845c 100644 --- a/qca-nss-clients/patches/0005-vlanmgr-fix-compile-error.patch +++ b/qca-nss-clients/patches/0005-vlanmgr-fix-compile-error.patch @@ -1,6 +1,6 @@ --- a/vlan/nss_vlan_mgr.c +++ b/vlan/nss_vlan_mgr.c -@@ -800,8 +800,10 @@ static struct nss_vlan_pvt *nss_vlan_mgr +@@ -688,8 +688,10 @@ detach_vsi: */ static void nss_vlan_mgr_instance_free(struct nss_vlan_pvt *v) { @@ -9,9 +9,9 @@ int ret = 0; +#endif - spin_lock(&vlan_mgr_ctx.lock); - BUG_ON(--v->refs); -@@ -961,8 +963,11 @@ static int nss_vlan_mgr_register_event(s + #ifdef NSS_VLAN_MGR_PPE_SUPPORT + if (v->ppe_vsi) { +@@ -999,8 +1001,11 @@ static int nss_vlan_mgr_register_event(s int ret; #endif uint32_t vlan_tag; @@ -24,7 +24,7 @@ struct vlan_dev_priv *vlan; struct net_device *real_dev; bool is_bond_master = false; -@@ -1355,8 +1360,10 @@ return_with_error: +@@ -1393,8 +1398,10 @@ return_with_error: int nss_vlan_mgr_join_bridge(struct net_device *dev, uint32_t bridge_vsi) { struct nss_vlan_pvt *v = nss_vlan_mgr_instance_find_and_ref(dev); @@ -35,7 +35,7 @@ if (!v) return 0; -@@ -1416,8 +1423,10 @@ EXPORT_SYMBOL(nss_vlan_mgr_join_bridge); +@@ -1454,8 +1461,10 @@ EXPORT_SYMBOL(nss_vlan_mgr_join_bridge); int nss_vlan_mgr_leave_bridge(struct net_device *dev, uint32_t bridge_vsi) { struct nss_vlan_pvt *v = nss_vlan_mgr_instance_find_and_ref(dev); diff --git a/qca-nss-clients/patches/0009-gre-fix-compile-error.patch b/qca-nss-clients/patches/0009-gre-fix-compile-error.patch deleted file mode 100644 index e833327..0000000 --- a/qca-nss-clients/patches/0009-gre-fix-compile-error.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/gre/nss_connmgr_gre_v4.c -+++ b/gre/nss_connmgr_gre_v4.c -@@ -172,14 +172,6 @@ int nss_connmgr_gre_v4_set_config(struct - } - } - -- /* -- * IP address validate -- */ -- if ((cfg->src_ip == 0) || (cfg->dest_ip == 0)) { -- nss_connmgr_gre_warning("Source ip/Destination IP is invalid"); -- return GRE_ERR_INVALID_IP; -- } -- - memset(t, 0, sizeof(struct ip_tunnel)); - - priv->pad_len = (cfg->add_padding) ? GRE_HDR_PAD_LEN : 0; 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 81e11c1..9a2937d 100644 --- a/qca-nss-clients/patches/0018-kernel-6.1-support.patch +++ b/qca-nss-clients/patches/0018-kernel-6.1-support.patch @@ -188,7 +188,7 @@ * Update qdisc->qstats --- a/vlan/nss_vlan_mgr.c +++ b/vlan/nss_vlan_mgr.c -@@ -787,7 +787,7 @@ static struct nss_vlan_pvt *nss_vlan_mgr +@@ -915,7 +915,7 @@ static struct nss_vlan_pvt *nss_vlan_mgr } v->mtu = dev->mtu; @@ -197,7 +197,7 @@ v->ifindex = dev->ifindex; v->refs = 1; -@@ -936,14 +936,14 @@ static int nss_vlan_mgr_changeaddr_event +@@ -974,14 +974,14 @@ static int nss_vlan_mgr_changeaddr_event } spin_unlock(&vlan_mgr_ctx.lock); diff --git a/qca-nss-clients/patches/0023-mirror-fix-makefile.patch b/qca-nss-clients/patches/0023-mirror-fix-makefile.patch deleted file mode 100644 index a6c51af..0000000 --- a/qca-nss-clients/patches/0023-mirror-fix-makefile.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/mirror/Makefile -+++ b/mirror/Makefile -@@ -1,6 +1,6 @@ - # Makefile for NSS MIRROR - --ccflags-y += $(NSS_CCFLAGS) -I$(obj)/../../exports -+ccflags-y += $(NSS_CCFLAGS) -I$(obj)/../exports - ccflags-y += -DNSS_MIRROR_DEBUG_LEVEL=2 - ccflags-y += -Wall -Werror - diff --git a/qca-nss-clients/patches/0025-nss-clients-add-kernel-6.6-support.patch b/qca-nss-clients/patches/0025-nss-clients-add-kernel-6.6-support.patch index aedb3bb..2d4bd0a 100644 --- a/qca-nss-clients/patches/0025-nss-clients-add-kernel-6.6-support.patch +++ b/qca-nss-clients/patches/0025-nss-clients-add-kernel-6.6-support.patch @@ -65,7 +65,7 @@ tot->rx_packets += rx_packets; --- a/vlan/nss_vlan_mgr.c +++ b/vlan/nss_vlan_mgr.c -@@ -1544,30 +1544,6 @@ static struct ctl_table nss_vlan_table[] +@@ -1582,30 +1582,6 @@ static struct ctl_table nss_vlan_table[] }; /* @@ -96,7 +96,7 @@ * nss_vlan_mgr_add_bond_slave() * Add new slave port to bond_vlan */ -@@ -1906,7 +1882,7 @@ int __init nss_vlan_mgr_init_module(void +@@ -1944,7 +1920,7 @@ int __init nss_vlan_mgr_init_module(void vlan_mgr_ctx.stpid = ETH_P_8021Q; #ifdef NSS_VLAN_MGR_PPE_SUPPORT diff --git a/qca-nss-crypto/Makefile b/qca-nss-crypto/Makefile index 446f132..de757fd 100644 --- a/qca-nss-crypto/Makefile +++ b/qca-nss-crypto/Makefile @@ -7,8 +7,8 @@ PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-crypto.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2022-12-15 PKG_SOURCE_VERSION:=3c5a574 -PKG_MIRROR_HASH:=c773e44d8fdeff264466d9ae62616d62f73c06c1ccc433fc84acba63564c3202 -QSDK_VERSION:=12.4.5.r3 +PKG_MIRROR_HASH:=f2431119277ceac18721c2f4d043a38ed144b5ee1c3e0b406ee0f86a561dce28 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) PKG_BUILD_PARALLEL:=1 diff --git a/qca-nss-drv/Makefile b/qca-nss-drv/Makefile index bb06586..63101c8 100644 --- a/qca-nss-drv/Makefile +++ b/qca-nss-drv/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-drv -PKG_RELEASE:=7 +PKG_RELEASE:=1 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-01-04 -PKG_SOURCE_VERSION:=89cc01b -PKG_MIRROR_HASH:=24bfa74463ae2c49ecffc3f299fb3dd71c723bc89f3c7306648d2a7cb2dceaab -QSDK_VERSION:=12.2 +PKG_SOURCE_DATE:=2024-03-26 +PKG_SOURCE_VERSION:=29df418 +PKG_MIRROR_HASH:=134fbac81637351ab3d383c3f78ec13886c9c4b00d06f04d58ae2c7f735636d9 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) PKG_BUILD_PARALLEL:=1 diff --git a/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch b/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch index b8ee7dd..edbd104 100644 --- a/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch +++ b/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch @@ -32,7 +32,7 @@ Signed-off-by: Robert Marko goto out; --- a/nss_hal/ipq50xx/nss_hal_pvt.c +++ b/nss_hal/ipq50xx/nss_hal_pvt.c -@@ -184,13 +184,13 @@ static struct nss_platform_data *__nss_h +@@ -185,13 +185,13 @@ static struct nss_platform_data *__nss_h npd->nphys = res_nphys.start; npd->qgic_phys = res_qgic_phys.start; @@ -48,7 +48,7 @@ Signed-off-by: Robert Marko if (!npd->qgic_map) { nss_info_always("%px: nss%d: ioremap() fail for qgic map\n", nss_ctx, nss_ctx->id); goto out; -@@ -348,7 +348,7 @@ static int __nss_hal_common_reset(struct +@@ -349,7 +349,7 @@ static int __nss_hal_common_reset(struct of_node_put(cmn); @@ -59,7 +59,7 @@ Signed-off-by: Robert Marko return -EFAULT; --- a/nss_hal/ipq60xx/nss_hal_pvt.c +++ b/nss_hal/ipq60xx/nss_hal_pvt.c -@@ -207,13 +207,13 @@ static struct nss_platform_data *__nss_h +@@ -208,13 +208,13 @@ static struct nss_platform_data *__nss_h npd->nphys = res_nphys.start; npd->qgic_phys = res_qgic_phys.start; @@ -75,7 +75,7 @@ Signed-off-by: Robert Marko if (!npd->qgic_map) { nss_info_always("%px: nss%d: ioremap() fail for qgic map\n", nss_ctx, nss_ctx->id); goto out; -@@ -433,13 +433,13 @@ static int __nss_hal_common_reset(struct +@@ -434,13 +434,13 @@ static int __nss_hal_common_reset(struct of_node_put(cmn); @@ -93,7 +93,7 @@ Signed-off-by: Robert Marko return -EFAULT; --- a/nss_hal/ipq806x/nss_hal_pvt.c +++ b/nss_hal/ipq806x/nss_hal_pvt.c -@@ -458,7 +458,7 @@ static struct nss_platform_data *__nss_h +@@ -461,7 +461,7 @@ static struct nss_platform_data *__nss_h npd->nphys = res_nphys.start; npd->vphys = res_vphys.start; @@ -102,7 +102,7 @@ Signed-off-by: Robert Marko if (!npd->nmap) { nss_info_always("%px: nss%d: ioremap() fail for nphys\n", nss_ctx, nss_ctx->id); goto out; -@@ -711,7 +711,7 @@ static int __nss_hal_common_reset(struct +@@ -714,7 +714,7 @@ static int __nss_hal_common_reset(struct } of_node_put(cmn); @@ -113,7 +113,7 @@ Signed-off-by: Robert Marko return -EFAULT; --- a/nss_hal/ipq807x/nss_hal_pvt.c +++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -234,7 +234,7 @@ static struct nss_platform_data *__nss_h +@@ -237,7 +237,7 @@ static struct nss_platform_data *__nss_h npd->vphys = res_vphys.start; npd->qgic_phys = res_qgic_phys.start; @@ -122,7 +122,7 @@ Signed-off-by: Robert Marko if (!npd->nmap) { nss_info_always("%px: nss%d: ioremap() fail for nphys\n", nss_ctx, nss_ctx->id); goto out; -@@ -247,7 +247,7 @@ static struct nss_platform_data *__nss_h +@@ -250,7 +250,7 @@ static struct nss_platform_data *__nss_h goto out; } @@ -131,7 +131,7 @@ Signed-off-by: Robert Marko if (!npd->qgic_map) { nss_info_always("%px: nss%d: ioremap() fail for qgic map\n", nss_ctx, nss_ctx->id); goto out; -@@ -467,7 +467,7 @@ static int __nss_hal_common_reset(struct +@@ -470,7 +470,7 @@ static int __nss_hal_common_reset(struct } of_node_put(cmn); @@ -185,7 +185,7 @@ Signed-off-by: Robert Marko } --- a/nss_meminfo.c +++ b/nss_meminfo.c -@@ -735,7 +735,7 @@ bool nss_meminfo_init(struct nss_ctx_ins +@@ -736,7 +736,7 @@ bool nss_meminfo_init(struct nss_ctx_ins /* * meminfo_start is the label where the start address of meminfo map is stored. */ diff --git a/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch b/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch index 17ad9cd..793da70 100644 --- a/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch +++ b/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch @@ -484,7 +484,7 @@ Signed-off-by: Christian Marangi --- a/nss_hal/ipq806x/nss_hal_pvt.c +++ b/nss_hal/ipq806x/nss_hal_pvt.c -@@ -474,10 +474,9 @@ static struct nss_platform_data *__nss_h +@@ -477,10 +477,9 @@ static struct nss_platform_data *__nss_h /* * Clear TCM memory used by this core */ @@ -499,7 +499,7 @@ Signed-off-by: Christian Marangi /* --- a/nss_hal/ipq807x/nss_hal_pvt.c +++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -256,10 +256,9 @@ static struct nss_platform_data *__nss_h +@@ -259,10 +259,9 @@ static struct nss_platform_data *__nss_h /* * Clear TCM memory used by this core */ @@ -514,7 +514,7 @@ Signed-off-by: Christian Marangi /* --- a/nss_meminfo.c +++ b/nss_meminfo.c -@@ -414,7 +414,6 @@ static bool nss_meminfo_init_block_lists +@@ -415,7 +415,6 @@ static bool nss_meminfo_init_block_lists /* * Flush the updated meminfo request. */ @@ -522,7 +522,7 @@ Signed-off-by: Christian Marangi NSS_CORE_DSB(); /* -@@ -545,7 +544,7 @@ static bool nss_meminfo_configure_n2h_h2 +@@ -546,7 +545,7 @@ static bool nss_meminfo_configure_n2h_h2 * Bring a fresh copy of if_map from memory in order to read it correctly. */ if_map = mem_ctx->if_map; @@ -531,7 +531,7 @@ Signed-off-by: Christian Marangi NSS_CORE_DSB(); if_map->n2h_rings = NSS_N2H_RING_COUNT; -@@ -583,7 +582,7 @@ static bool nss_meminfo_configure_n2h_h2 +@@ -584,7 +583,7 @@ static bool nss_meminfo_configure_n2h_h2 /* * Flush the updated nss_if_mem_map. */ @@ -542,7 +542,7 @@ Signed-off-by: Christian Marangi return true; --- a/nss_profiler.c +++ b/nss_profiler.c -@@ -202,11 +202,12 @@ EXPORT_SYMBOL(nss_profile_dma_deregister +@@ -209,11 +209,12 @@ EXPORT_SYMBOL(nss_profile_dma_deregister struct nss_profile_sdma_ctrl *nss_profile_dma_get_ctrl(struct nss_ctx_instance *nss_ctx) { struct nss_profile_sdma_ctrl *ctrl = nss_ctx->meminfo_ctx.sdma_ctrl; diff --git a/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch b/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch index ca7abbd..7bb8549 100644 --- a/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch +++ b/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch @@ -73,7 +73,7 @@ Signed-off-by: Robert Marko - if (ppp) { - n_items /= sizeof(ppp[0]); - nss_msize = be32_to_cpup(ppp + addr_cells + size_cells - 1); -- nss_info_always("addr/size storage words %d %d # words %d in DTS, ddr size %x\n", +- nss_info("addr/size storage words %d %d # words %d in DTS, ddr size %x\n", - addr_cells, size_cells, n_items, nss_msize); + struct device_node *common_node, *memory_node; + struct resource r; diff --git a/qca-nss-drv/patches/0007-nss-drv-Fix-nss_wifili_if-compilation-error-GCC-13.patch b/qca-nss-drv/patches/0007-nss-drv-Fix-nss_wifili_if-compilation-error-GCC-13.patch index 0abeab1..d2ff523 100644 --- a/qca-nss-drv/patches/0007-nss-drv-Fix-nss_wifili_if-compilation-error-GCC-13.patch +++ b/qca-nss-drv/patches/0007-nss-drv-Fix-nss_wifili_if-compilation-error-GCC-13.patch @@ -1,6 +1,6 @@ --- a/exports/nss_wifili_if.h +++ b/exports/nss_wifili_if.h -@@ -2207,7 +2207,7 @@ void nss_wifili_release_external_if(nss_ +@@ -2211,7 +2211,7 @@ void nss_wifili_release_external_if(nss_ */ uint8_t nss_wifili_thread_scheme_alloc(struct nss_ctx_instance *nss_ctx, int32_t radio_ifnum, diff --git a/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch b/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch index 7e43ead..9446de9 100644 --- a/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch +++ b/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch @@ -11,7 +11,7 @@ --- a/nss_hal/ipq50xx/nss_hal_pvt.c +++ b/nss_hal/ipq50xx/nss_hal_pvt.c -@@ -598,7 +598,7 @@ static int __nss_hal_request_irq(struct +@@ -599,7 +599,7 @@ static int __nss_hal_request_irq(struct return err; } @@ -22,7 +22,7 @@ if (err) { --- a/nss_hal/ipq60xx/nss_hal_pvt.c +++ b/nss_hal/ipq60xx/nss_hal_pvt.c -@@ -614,62 +614,62 @@ static int __nss_hal_request_irq(struct +@@ -615,62 +615,62 @@ static int __nss_hal_request_irq(struct irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY); if (irq_num == NSS_HAL_N2H_INTR_PURPOSE_EMPTY_BUFFER_SOS) { @@ -97,7 +97,7 @@ --- a/nss_hal/ipq806x/nss_hal_pvt.c +++ b/nss_hal/ipq806x/nss_hal_pvt.c -@@ -1182,7 +1182,7 @@ static int __nss_hal_request_irq(struct +@@ -1185,7 +1185,7 @@ static int __nss_hal_request_irq(struct } int_ctx->irq = npd->irq[irq_num]; @@ -108,7 +108,7 @@ } --- a/nss_hal/ipq807x/nss_hal_pvt.c +++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -656,62 +656,62 @@ static int __nss_hal_request_irq(struct +@@ -659,62 +659,62 @@ static int __nss_hal_request_irq(struct irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY); if (irq_num == NSS_HAL_N2H_INTR_PURPOSE_EMPTY_BUFFER_SOS) { diff --git a/qca-nss-drv/patches/0011-nss-drv-move-only-for-ipq806x.patch b/qca-nss-drv/patches/0011-nss-drv-move-only-for-ipq806x.patch index 17e7812..27e4979 100644 --- a/qca-nss-drv/patches/0011-nss-drv-move-only-for-ipq806x.patch +++ b/qca-nss-drv/patches/0011-nss-drv-move-only-for-ipq806x.patch @@ -1,6 +1,6 @@ --- a/nss_stats.c +++ b/nss_stats.c -@@ -392,9 +392,9 @@ void nss_stats_create_dentry(char *name, +@@ -400,9 +400,9 @@ void nss_stats_create_dentry(char *name, /* * gmac_stats_ops */ @@ -13,7 +13,7 @@ /* * wt_stats_ops -@@ -449,9 +449,9 @@ void nss_stats_init(void) +@@ -457,9 +457,9 @@ void nss_stats_init(void) /* * gmac_stats */ diff --git a/qca-nss-drv/patches/0012-nss-drv-quiet-messages.patch b/qca-nss-drv/patches/0012-nss-drv-quiet-messages.patch index 9e35593..6d3b124 100644 --- a/qca-nss-drv/patches/0012-nss-drv-quiet-messages.patch +++ b/qca-nss-drv/patches/0012-nss-drv-quiet-messages.patch @@ -9,104 +9,6 @@ return resource_size(&r); -@@ -563,7 +563,7 @@ static void nss_get_ddr_info(struct nss_ - const __be32 *ppp = (__be32 *)of_get_property(node, "reg", &n_items); - - n_items /= sizeof(ppp[0]); -- nss_info_always("node size %d # items %d\n", -+ nss_info("node size %d # items %d\n", - of_n_size_cells(node), n_items); - if (ppp) { - if (n_items & 1) { /* case 1 */ -@@ -590,7 +590,7 @@ case3: - n_items = 0; - if (n_items) { - of_node_put(node); -- nss_info_always("%s: %x %u (avl %u) items %d active_cores %d\n", -+ nss_info("%s: %x %u (avl %u) items %d active_cores %d\n", - name, mmu->start_address, mmu->ddr_size, - avail_ddr, n_items, mmu->num_active_cores); - /* ---- a/nss_hal/ipq50xx/nss_hal_pvt.c -+++ b/nss_hal/ipq50xx/nss_hal_pvt.c -@@ -449,15 +449,15 @@ static int __nss_hal_clock_configure(str - } - } - -- nss_info_always("Supported Frequencies - "); -+ nss_info("Supported Frequencies - "); - for (i = 0; i < NSS_FREQ_MAX_SCALE; i++) { - switch (nss_runtime_samples.freq_scale[i].frequency) { - case NSS_FREQ_850: -- nss_info_always("850 MHz "); -+ nss_info("850 MHz "); - break; - - case NSS_FREQ_1000: -- nss_info_always("1 GHz "); -+ nss_info("1 GHz "); - break; - - case NSS_FREQ_SCALE_NA: ---- a/nss_hal/ipq60xx/nss_hal_pvt.c -+++ b/nss_hal/ipq60xx/nss_hal_pvt.c -@@ -532,16 +532,16 @@ static int __nss_hal_clock_configure(str - } - } - -- nss_info_always("Supported Frequencies - "); -+ nss_info("Supported Frequencies - "); - for (i = 0; i < NSS_FREQ_MAX_SCALE; i++) { - if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_187) { -- nss_info_always("187.2 MHz "); -+ nss_info("187.2 MHz "); - } else if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_748) { -- nss_info_always("748.8 MHz "); -+ nss_info("748.8 MHz "); - } else if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_1497) { -- nss_info_always("1.4976 GHz "); -+ nss_info("1.4976 GHz "); - } else if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_1689) { -- nss_info_always("1.6896 GHz "); -+ nss_info("1.6896 GHz "); - } else { - nss_info_always("Error\nNo Table/Invalid Frequency Found\n"); - return -EFAULT; ---- a/nss_hal/ipq806x/nss_hal_pvt.c -+++ b/nss_hal/ipq806x/nss_hal_pvt.c -@@ -1081,7 +1081,7 @@ clk_complete: - } - } - -- nss_info_always("Supported Frequencies - "); -+ nss_info("Supported Frequencies - "); - for (i = 0; i < NSS_FREQ_MAX_SCALE; i++) { - if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_110) { - nss_info_always("110Mhz "); ---- a/nss_hal/ipq807x/nss_hal_pvt.c -+++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -570,16 +570,16 @@ static int __nss_hal_clock_configure(str - } - } - -- nss_info_always("Supported Frequencies - "); -+ nss_info("Supported Frequencies - "); - for (i = 0; i < NSS_FREQ_MAX_SCALE; i++) { - if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_187) { -- nss_info_always("187.2 MHz "); -+ nss_info("187.2 MHz "); - } else if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_748) { -- nss_info_always("748.8 MHz "); -+ nss_info("748.8 MHz "); - } else if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_1497) { -- nss_info_always("1.4976 GHz "); -+ nss_info("1.4976 GHz "); - } else if (nss_runtime_samples.freq_scale[i].frequency == NSS_FREQ_1689) { -- nss_info_always("1.6896 GHz "); -+ nss_info("1.6896 GHz "); - } else { - nss_info_always("Error\nNo Table/Invalid Frequency Found\n"); - return -EFAULT; --- a/nss_hal/ipq95xx/nss_hal_pvt.c +++ b/nss_hal/ipq95xx/nss_hal_pvt.c @@ -724,19 +724,19 @@ static int __nss_hal_clock_configure(str @@ -133,33 +35,3 @@ break; default: ---- a/nss_hal/nss_hal.c -+++ b/nss_hal/nss_hal.c -@@ -799,7 +799,7 @@ int nss_hal_probe(struct platform_device - nss_hal_enable_interrupt(nss_ctx, nss_ctx->int_ctx[i].shift_factor, NSS_HAL_SUPPORTED_INTERRUPTS); - } - -- nss_info_always("%px: All resources initialized and nss core%d has been brought out of reset", nss_ctx, nss_dev->id); -+ nss_info("%px: All resources initialized and nss core%d has been brought out of reset", nss_ctx, nss_dev->id); - goto out; - - err_register_irq: ---- a/nss_meminfo.c -+++ b/nss_meminfo.c -@@ -408,7 +408,7 @@ static bool nss_meminfo_init_block_lists - - if (strcmp(r->name, "profile_dma_ctrl") == 0) { - mem_ctx->sdma_ctrl = kern_addr; -- nss_info_always("%px: set sdma %px\n", nss_ctx, kern_addr); -+ nss_info("%px: set sdma %px\n", nss_ctx, kern_addr); - } - - /* -@@ -799,6 +799,6 @@ bool nss_meminfo_init(struct nss_ctx_ins - - nss_meminfo_init_debugfs(nss_ctx); - -- nss_info_always("%px: meminfo init succeed\n", nss_ctx); -+ nss_info("%px: meminfo init succeed\n", nss_ctx); - return true; - } diff --git a/qca-nss-drv/patches/0013-nss-drv-remove-legacy-wifi.patch b/qca-nss-drv/patches/0013-nss-drv-remove-legacy-wifi.patch index e5f8376..3d43b4f 100644 --- a/qca-nss-drv/patches/0013-nss-drv-remove-legacy-wifi.patch +++ b/qca-nss-drv/patches/0013-nss-drv-remove-legacy-wifi.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -352,10 +352,17 @@ endif +@@ -350,10 +350,17 @@ endif ifneq "$(NSS_DRV_WIFIOFFLOAD_ENABLE)" "n" ccflags-y += -DNSS_DRV_WIFIOFFLOAD_ENABLE diff --git a/qca-nss-drv/patches/0014-nss-drv-avoid-recreating-virt_if.patch b/qca-nss-drv/patches/0014-nss-drv-avoid-recreating-virt_if.patch index 6799f79..3de48d4 100644 --- a/qca-nss-drv/patches/0014-nss-drv-avoid-recreating-virt_if.patch +++ b/qca-nss-drv/patches/0014-nss-drv-avoid-recreating-virt_if.patch @@ -1,6 +1,6 @@ --- a/nss_stats.c +++ b/nss_stats.c -@@ -380,8 +380,9 @@ size_t nss_stats_print(char *node, char +@@ -388,8 +388,9 @@ size_t nss_stats_print(char *node, char */ void nss_stats_create_dentry(char *name, const struct file_operations *ops) { diff --git a/qca-nss-ecm/Makefile b/qca-nss-ecm/Makefile index 3e50211..d3c4e59 100644 --- a/qca-nss-ecm/Makefile +++ b/qca-nss-ecm/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-ecm -PKG_RELEASE:=5 +PKG_RELEASE:=1 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-01-19 -PKG_SOURCE_VERSION:=b311cdf -PKG_MIRROR_HASH:=79797be07df1b14306d47ec11c74b0a7e9d9d2005dd9de4f9f1d86d0eb87aa15 -QSDK_VERSION:=12.4.5.r5 +PKG_SOURCE_DATE:=2024-04-16 +PKG_SOURCE_VERSION:=220718d +PKG_MIRROR_HASH:=1513af220ecde3c07be2943e987dd7594ee6a3977213722df8e7c71688cec903 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) PKG_BUILD_PARALLEL:=1 diff --git a/qca-nss-ecm/patches/0001-treewide-componentize-the-module-even-more.patch b/qca-nss-ecm/patches/0001-treewide-componentize-the-module-even-more.patch index c49ef61..5af011a 100644 --- a/qca-nss-ecm/patches/0001-treewide-componentize-the-module-even-more.patch +++ b/qca-nss-ecm/patches/0001-treewide-componentize-the-module-even-more.patch @@ -252,7 +252,7 @@ Signed-off-by: Ansuel Smith --- a/ecm_interface.c +++ b/ecm_interface.c -@@ -1511,6 +1511,7 @@ struct neighbour *ecm_interface_ipv6_nei +@@ -1508,6 +1508,7 @@ struct neighbour *ecm_interface_ipv6_nei */ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out) { @@ -260,7 +260,7 @@ Signed-off-by: Ansuel Smith struct net_device *in; /* -@@ -1535,6 +1536,7 @@ bool ecm_interface_is_pptp(struct sk_buf +@@ -1532,6 +1533,7 @@ bool ecm_interface_is_pptp(struct sk_buf } dev_put(in); @@ -268,7 +268,7 @@ Signed-off-by: Ansuel Smith return false; } -@@ -1547,6 +1549,7 @@ bool ecm_interface_is_pptp(struct sk_buf +@@ -1544,6 +1546,7 @@ bool ecm_interface_is_pptp(struct sk_buf */ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct net_device *out, int ver) { @@ -276,7 +276,7 @@ Signed-off-by: Ansuel Smith uint32_t flag = 0; struct net_device *in; -@@ -1579,6 +1582,7 @@ bool ecm_interface_is_l2tp_packet_by_ver +@@ -1576,6 +1579,7 @@ bool ecm_interface_is_l2tp_packet_by_ver } dev_put(in); @@ -284,7 +284,7 @@ Signed-off-by: Ansuel Smith return false; } -@@ -1591,6 +1595,7 @@ bool ecm_interface_is_l2tp_packet_by_ver +@@ -1588,6 +1592,7 @@ bool ecm_interface_is_l2tp_packet_by_ver */ bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *out) { @@ -292,7 +292,7 @@ Signed-off-by: Ansuel Smith struct net_device *in; /* -@@ -1613,6 +1618,7 @@ bool ecm_interface_is_l2tp_pptp(struct s +@@ -1610,6 +1615,7 @@ bool ecm_interface_is_l2tp_pptp(struct s } dev_put(in); @@ -300,7 +300,7 @@ Signed-off-by: Ansuel Smith return false; } -@@ -7158,6 +7164,7 @@ static void ecm_interface_regenerate_con +@@ -7165,6 +7171,7 @@ static void ecm_interface_regenerate_con return; } @@ -308,7 +308,7 @@ Signed-off-by: Ansuel Smith for (dir = 0; dir < ECM_DB_OBJ_DIR_MAX; dir++) { /* * Re-generate all connections associated with this interface -@@ -7173,6 +7180,7 @@ static void ecm_interface_regenerate_con +@@ -7180,6 +7187,7 @@ static void ecm_interface_regenerate_con ci[dir] = cin; } } @@ -318,7 +318,7 @@ Signed-off-by: Ansuel Smith /* --- a/frontends/ecm_front_end_common.c +++ b/frontends/ecm_front_end_common.c -@@ -535,6 +535,7 @@ bool ecm_front_end_gre_proto_is_accel_al +@@ -538,6 +538,7 @@ bool ecm_front_end_gre_proto_is_accel_al struct nf_conntrack_tuple *reply_tuple, int ip_version, uint16_t offset) { @@ -326,7 +326,7 @@ Signed-off-by: Ansuel Smith struct net_device *dev; struct gre_base_hdr *greh; -@@ -546,10 +547,12 @@ bool ecm_front_end_gre_proto_is_accel_al +@@ -549,10 +550,12 @@ bool ecm_front_end_gre_proto_is_accel_al /* * Case 1: PPTP locally terminated */ @@ -339,7 +339,7 @@ Signed-off-by: Ansuel Smith /* * Case 2: PPTP pass through -@@ -677,6 +680,10 @@ bool ecm_front_end_gre_proto_is_accel_al +@@ -680,6 +683,10 @@ bool ecm_front_end_gre_proto_is_accel_al */ DEBUG_TRACE("%px: GRE IPv%d pass through non NAT - allow acceleration\n", skb, ip_version); return true; diff --git a/qca-nss-ecm/patches/0010-ecm_interface-fix-ppp-generic-function-calls-for-5.15.patch b/qca-nss-ecm/patches/0010-ecm_interface-fix-ppp-generic-function-calls-for-5.15.patch index 6933eb0..abb6bcc 100644 --- a/qca-nss-ecm/patches/0010-ecm_interface-fix-ppp-generic-function-calls-for-5.15.patch +++ b/qca-nss-ecm/patches/0010-ecm_interface-fix-ppp-generic-function-calls-for-5.15.patch @@ -1,6 +1,6 @@ --- a/ecm_interface.c +++ b/ecm_interface.c -@@ -3616,7 +3616,7 @@ identifier_update: +@@ -3623,7 +3623,7 @@ identifier_update: if (skb && (skb->skb_iif == dev->ifindex)) { struct pppol2tp_common_addr info; @@ -9,7 +9,7 @@ DEBUG_TRACE("%px: Net device: %px is MULTILINK PPP - Unknown to the ECM\n", feci, dev); type_info.unknown.os_specific_ident = dev_interface_num; -@@ -3626,7 +3626,7 @@ identifier_update: +@@ -3633,7 +3633,7 @@ identifier_update: ii = ecm_interface_unknown_interface_establish(&type_info.unknown, dev_name, dev_interface_num, ae_interface_num, dev_mtu); return ii; } diff --git a/qca-nss-ecm/patches/0011-ecm_classifier-move-defs.patch b/qca-nss-ecm/patches/0011-ecm_classifier-move-defs.patch index 33720a1..9f01a8d 100644 --- a/qca-nss-ecm/patches/0011-ecm_classifier-move-defs.patch +++ b/qca-nss-ecm/patches/0011-ecm_classifier-move-defs.patch @@ -1,14 +1,14 @@ --- a/ecm_classifier_mscs.c +++ b/ecm_classifier_mscs.c -@@ -428,7 +428,6 @@ static void ecm_classifier_mscs_process( +@@ -429,7 +429,6 @@ static void ecm_classifier_mscs_process( struct ecm_db_connection_instance *ci = NULL; struct ecm_front_end_connection_instance *feci; ecm_front_end_acceleration_mode_t accel_mode; - int protocol; uint32_t became_relevant = 0; ecm_classifier_mscs_process_callback_t cb = NULL; - ecm_classifier_mscs_result_t result = 0; -@@ -439,10 +438,10 @@ static void ecm_classifier_mscs_process( + bool scs_result = false; +@@ -441,10 +440,10 @@ static void ecm_classifier_mscs_process( struct net_device *src_dev = NULL; struct net_device *dest_dev = NULL; uint64_t slow_pkts; diff --git a/qca-nss-ecm/patches/0014-ecm-fix-a-memcpy-overflow-in-ecm_db.patch b/qca-nss-ecm/patches/0014-ecm-fix-a-memcpy-overflow-in-ecm_db.patch deleted file mode 100644 index c994e49..0000000 --- a/qca-nss-ecm/patches/0014-ecm-fix-a-memcpy-overflow-in-ecm_db.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 1958e34c4c1b8b4fb62eba693fbd7693536947b9 Mon Sep 17 00:00:00 2001 -From: flebourse -Date: Thu, 23 Dec 2021 16:11:06 +0100 -Subject: [PATCH] qca-nss-ecm: fix a memcpy overflow in ecm_db - -Calls to ipv6_addr_prefix() trigger a memcpy overflow if the prefix len -argument is greater than 128, cap it at this value. - -stack bactrace: -detected buffer overflow in memcpy -Kernel BUG at fortify_panic+0x20/0x24 -Internal error: Oops - BUG: 0 [#1] SMP -CPU: 2 PID: 2592 Comm: netifd Not tainted 5.10.80 #0 -Hardware name: Xiaomi AX9000 (DT) -Call trace: - fortify_panic+0x20/0x24 - ecm_db_exit+0x42c/0x49c [ecm] - ecm_db_exit+0x464/0x49c [ecm] - atomic_notifier_call_chain+0x5c/0x90 - ip6_route_add+0x13c/0x1a4 - inet6_rtm_newroute+0x98/0xa0 - rtnetlink_rcv_msg+0x10c/0x34c - netlink_rcv_skb+0x5c/0x130 - rtnetlink_rcv+0x1c/0x2c - netlink_unicast+0x1ec/0x2e0 - netlink_sendmsg+0x1a4/0x394 - ____sys_sendmsg+0x270/0x2b4 - ___sys_sendmsg+0x7c/0xc0 - __sys_sendmsg+0x5c/0xb0 - __arm64_sys_sendmsg+0x28/0x34 - el0_svc_common.constprop.0+0x88/0x190 - do_el0_svc+0x74/0x94 - el0_svc+0x14/0x20 - el0_sync_handler+0xa8/0x130 - el0_sync+0x184/0x1c0 -Code: aa0003e1 912b4040 910003fd 97fff56c (d4210000) - -Signed-off-By: Francis Le Bourse ---- - ecm_db/ecm_db.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/ecm_db/ecm_db.c -+++ b/ecm_db/ecm_db.c -@@ -298,7 +298,7 @@ static int ecm_db_ipv6_route_table_updat - * Compute ECM connection's prefix destination address by masking it with the - * route config's destination address prefix length. - */ -- ipv6_addr_prefix(&prefix_addr, &ecm_in6, cfg->fc_dst_len); -+ ipv6_addr_prefix(&prefix_addr, &ecm_in6, min(128, cfg->fc_dst_len)); - - DEBUG_TRACE("dest addr prefix: %pI6 prefix_len: %d ecm_in6: %pI6\n", &prefix_addr, cfg->fc_dst_len, &ecm_in6); - -@@ -326,7 +326,7 @@ static int ecm_db_ipv6_route_table_updat - * Compute ECM connection's prefix source address by masking it with the - * route config's destination address prefix length. - */ -- ipv6_addr_prefix(&prefix_addr, &ecm_in6, cfg->fc_dst_len); -+ ipv6_addr_prefix(&prefix_addr, &ecm_in6, min(128, cfg->fc_dst_len)); - - DEBUG_TRACE("src addr prefix: %pI6 prefix_len: %d ecm_in6: %pI6\n", &prefix_addr, cfg->fc_dst_len, &ecm_in6); - diff --git a/qca-nss-ecm/patches/0015-ecm-add-support-for-kernel-6.6.patch b/qca-nss-ecm/patches/0015-ecm-add-support-for-kernel-6.6.patch index 51e705b..478210c 100644 --- a/qca-nss-ecm/patches/0015-ecm-add-support-for-kernel-6.6.patch +++ b/qca-nss-ecm/patches/0015-ecm-add-support-for-kernel-6.6.patch @@ -1,144 +1,3 @@ ---- a/ecm_interface.c -+++ b/ecm_interface.c -@@ -8303,24 +8303,6 @@ static struct ctl_table ecm_interface_ta - { } - }; - --static struct ctl_table ecm_interface_root_dir[] = { -- { -- .procname = "ecm", -- .mode = 0555, -- .child = ecm_interface_table, -- }, -- { } --}; -- --static struct ctl_table ecm_interface_root[] = { -- { -- .procname = "net", -- .mode = 0555, -- .child = ecm_interface_root_dir, -- }, -- { } --}; -- - #ifdef ECM_INTERFACE_IPSEC_GLUE_LAYER_SUPPORT_ENABLE - /* - * ecm_interface_ipsec_register_callbacks() -@@ -8817,7 +8799,7 @@ int ecm_interface_init(void) - /* - * Register sysctl table. - */ -- ecm_interface_ctl_table_header = register_sysctl_table(ecm_interface_root); -+ ecm_interface_ctl_table_header = register_sysctl("net/ecm", ecm_interface_table); - - result = register_netdevice_notifier(&ecm_interface_netdev_notifier); - if (result != 0) { ---- a/frontends/ecm_front_end_common.c -+++ b/frontends/ecm_front_end_common.c -@@ -1180,34 +1180,16 @@ static struct ctl_table ecm_front_end_sy - {} - }; - --static struct ctl_table ecm_front_end_common_root[] = { -- { -- .procname = "ecm", -- .mode = 0555, -- .child = ecm_front_end_sysctl_tbl, -- }, -- { } --}; -- --static struct ctl_table ecm_front_end_common_root_dir[] = { -- { -- .procname = "net", -- .mode = 0555, -- .child = ecm_front_end_common_root, -- }, -- { } --}; -- - /* - * ecm_front_end_common_sysctl_register() - * Function to register sysctl node during front end init - */ --void ecm_front_end_common_sysctl_register() -+void ecm_front_end_common_sysctl_register(void) - { - /* - * Register sysctl table. - */ -- ecm_front_end_ctl_tbl_hdr = register_sysctl_table(ecm_front_end_common_root_dir); -+ ecm_front_end_ctl_tbl_hdr = register_sysctl("net/ecm", ecm_front_end_sysctl_tbl); - #ifdef ECM_FRONT_END_SFE_ENABLE - if (ecm_front_end_ctl_tbl_hdr) { - ecm_sfe_sysctl_tbl_init(); -@@ -1219,7 +1201,7 @@ void ecm_front_end_common_sysctl_registe - * ecm_front_end_common_sysctl_unregister() - * Function to unregister sysctl node during front end exit - */ --void ecm_front_end_common_sysctl_unregister() -+void ecm_front_end_common_sysctl_unregister(void) - { - /* - * Unregister sysctl table. -@@ -1718,7 +1700,11 @@ bool ecm_front_end_common_intf_ingress_q - { - #if defined(CONFIG_NET_CLS_ACT) - struct net_device *dev; -- struct mini_Qdisc *miniq; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0) -+ struct mini_Qdisc *entry; -+#else -+ struct bpf_mprog_entry *entry; -+#endif - - dev = dev_get_by_index(&init_net, interface_num); - if (!dev) { -@@ -1727,8 +1713,13 @@ bool ecm_front_end_common_intf_ingress_q - } - - BUG_ON(!rcu_read_lock_bh_held()); -- miniq = rcu_dereference_bh(dev->miniq_ingress); -- if (miniq) { -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0) -+ entry = rcu_dereference_bh(dev->miniq_ingress); -+#else -+ entry = rcu_dereference_bh(dev->tcx_ingress); -+#endif -+ if (entry) { - DEBUG_INFO("Ingress Qdisc is present for device[%s]\n", dev->name); - dev_put(dev); - return true; -@@ -1751,7 +1742,11 @@ bool ecm_front_end_common_intf_qdisc_che - struct Qdisc *q; - int i; - #if defined(CONFIG_NET_CLS_ACT) && defined(CONFIG_NET_EGRESS) -- struct mini_Qdisc *miniq; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0) -+ struct mini_Qdisc *entry; -+#else -+ struct bpf_mprog_entry *entry; -+#endif - #endif - - *is_ppeq = false; -@@ -1782,8 +1777,12 @@ bool ecm_front_end_common_intf_qdisc_che - } - - #if defined(CONFIG_NET_CLS_ACT) && defined(CONFIG_NET_EGRESS) -- miniq = rcu_dereference_bh(dev->miniq_egress); -- if (miniq) { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0) -+ entry = rcu_dereference_bh(dev->miniq_egress); -+#else -+ entry = rcu_dereference_bh(dev->tcx_egress); -+#endif -+ if (entry) { - DEBUG_INFO("Egress needed\n"); - dev_put(dev); - return true; --- a/frontends/nss/ecm_nss_common.h +++ b/frontends/nss/ecm_nss_common.h @@ -277,8 +277,10 @@ static inline bool ecm_nss_common_igs_ac diff --git a/qca-nss-ecm/patches/0016-ecm-conditionally-check-mlo-device.patch b/qca-nss-ecm/patches/0016-ecm-conditionally-check-mlo-device.patch index 6a5a5dd..c46030a 100644 --- a/qca-nss-ecm/patches/0016-ecm-conditionally-check-mlo-device.patch +++ b/qca-nss-ecm/patches/0016-ecm-conditionally-check-mlo-device.patch @@ -1,6 +1,6 @@ --- a/ecm_interface.c +++ b/ecm_interface.c -@@ -4033,7 +4033,11 @@ static uint32_t ecm_interface_multicast_ +@@ -4040,7 +4040,11 @@ static uint32_t ecm_interface_multicast_ * For MLO bond netdevice, destination for multicast is bond netdevice itself * Therefore, slave lookup is not needed. */ diff --git a/qca-ssdk-shell/Makefile b/qca-ssdk-shell/Makefile index 216a9f8..1b38e1a 100644 --- a/qca-ssdk-shell/Makefile +++ b/qca-ssdk-shell/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-ssdk-shell -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/ssdk-shell.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:= 2023-10-23 -PKG_SOURCE_VERSION:=001660c -PKG_MIRROR_HASH:=85a4288ea742a9f9764756a57588a8d0735d61cbe015dff140722dbc3ef6c0e5 -QSDK_VERSION:=12.4.r4 +PKG_SOURCE_DATE:=2023-11-27 +PKG_SOURCE_VERSION:=0a70480 +PKG_MIRROR_HASH:=0aa66dce0a42259b319a9005437baab44cbc4a2e94ee5cda7c7bf9f535c65f51 +QSDK_VERSION:=12.5.r2 PKG_VERSION:=$(QSDK_VERSION)-$(PKG_SOURCE_DATE)-$(PKG_SOURCE_VERSION) include $(INCLUDE_DIR)/kernel.mk diff --git a/qca-ssdk-shell/patches/0002-qca-ssdk-shell-fix-ioctl-segfault.patch b/qca-ssdk-shell/patches/0002-qca-ssdk-shell-fix-ioctl-segfault.patch index 7d091bd..e408b97 100644 --- a/qca-ssdk-shell/patches/0002-qca-ssdk-shell-fix-ioctl-segfault.patch +++ b/qca-ssdk-shell/patches/0002-qca-ssdk-shell-fix-ioctl-segfault.patch @@ -1,7 +1,5 @@ -Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/include/init/ssdk_init.h -=================================================================== ---- qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e.orig/include/init/ssdk_init.h -+++ qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/include/init/ssdk_init.h +--- a/include/init/ssdk_init.h ++++ b/include/init/ssdk_init.h @@ -33,8 +33,6 @@ extern "C" { #define SSDK_MAX_VIRTUAL_PORT_NUM \ @@ -41,11 +39,9 @@ Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/include/init/ssdk_init.h } ssdk_cfg_t; sw_error_t ssdk_init(a_uint32_t dev_id, ssdk_init_cfg *cfg); -Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell.c -=================================================================== ---- qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e.orig/src/shell/shell.c -+++ qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell.c -@@ -615,10 +615,8 @@ cmd_socket_init(int dev_id) +--- a/src/shell/shell.c ++++ b/src/shell/shell.c +@@ -616,10 +616,8 @@ cmd_socket_init(int dev_id) #endif init_cfg.chip_type=CHIP_UNSPECIFIED; /*qca808x_end*/ @@ -56,11 +52,9 @@ Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell.c /*qca808x_start*/ rv = ssdk_init(dev_id, &init_cfg); if (SW_OK == rv) -Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell_io.c -=================================================================== ---- qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e.orig/src/shell/shell_io.c -+++ qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell_io.c -@@ -11513,15 +11513,7 @@ static void +--- a/src/shell/shell_io.c ++++ b/src/shell/shell_io.c +@@ -11806,15 +11806,7 @@ static void _cmd_collect_shell_cfg(ssdk_cfg_t *shell_cfg) { memset(shell_cfg, 0, sizeof(ssdk_cfg_t)); @@ -76,7 +70,7 @@ Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell_io.c #ifdef VERSION aos_mem_copy(shell_cfg->build_ver, VERSION, sizeof(VERSION)); -@@ -11588,7 +11580,7 @@ _cmd_collect_shell_cfg(ssdk_cfg_t *shell +@@ -11881,7 +11873,7 @@ _cmd_collect_shell_cfg(ssdk_cfg_t *shell static void _cmd_data_print_cfg(ssdk_cfg_t *entry) { @@ -85,7 +79,7 @@ Index: qca-ssdk-shell-12.4.5.r5-2023-12-06-f07a66e/src/shell/shell_io.c dprintf("[build verison]:%-10s [build date]:%s\n", entry->build_ver, entry->build_date); dprintf("[chip type]:%-14s [arch]:%-12s [os]:%s\n", entry->chip_type, entry->cpu_type, entry->os_info); -@@ -11599,10 +11591,8 @@ _cmd_data_print_cfg(ssdk_cfg_t *entry) +@@ -11892,10 +11884,8 @@ _cmd_data_print_cfg(ssdk_cfg_t *entry) cmd_cpu_mode(init->cpu_mode), cmd_access_mode(init->reg_mode), init->nl_prot); /*qca808x_end*/ diff --git a/qca-ssdk-shell/patches/0003-qca-ssdk-shell-fix-tmpbool.patch b/qca-ssdk-shell/patches/0003-qca-ssdk-shell-fix-tmpbool.patch index a456df6..9e2c1b4 100644 --- a/qca-ssdk-shell/patches/0003-qca-ssdk-shell-fix-tmpbool.patch +++ b/qca-ssdk-shell/patches/0003-qca-ssdk-shell-fix-tmpbool.patch @@ -1,8 +1,6 @@ -Index: qca-ssdk-shell-12.4.r4-2023-10-23-001660c/src/shell/shell_io.c -=================================================================== ---- qca-ssdk-shell-12.4.r4-2023-10-23-001660c.orig/src/shell/shell_io.c -+++ qca-ssdk-shell-12.4.r4-2023-10-23-001660c/src/shell/shell_io.c -@@ -40434,7 +40434,7 @@ sw_error_t +--- a/src/shell/shell_io.c ++++ b/src/shell/shell_io.c +@@ -40876,7 +40876,7 @@ sw_error_t cmd_data_check_tunnel_flags_parser(char *cmd_str, void * val, a_uint32_t size) { char *cmd;