diff --git a/firmware/nss-firmware/Makefile b/firmware/nss-firmware/Makefile index be14105..7ae9fd5 100644 --- a/firmware/nss-firmware/Makefile +++ b/firmware/nss-firmware/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nss-firmware -PKG_SOURCE_DATE:=2022-07-12 -PKG_SOURCE_VERSION:=ade6bff5 -PKG_MIRROR_HASH:=6652eea8941a0db28f983fa450b28ffaae332e4494c21cb9dbfe4648568db28d -PKG_RELEASE:=3 +PKG_SOURCE_DATE:=2024-07-22 +PKG_SOURCE_VERSION:=8dceff47ef0ac967d01bf0dacd84d44842774af2 +PKG_MIRROR_HASH:=3334a63d0b2c7afe4f6d4e3c2ac86bc3e2a0d97df17f478eeec7d29936062edf +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/quic/qca-sdk-nss-fw.git +PKG_SOURCE_URL:=https://github.com/qosmio/qca-sdk-nss-fw.git PKG_LICENSE_FILES:=LICENSE.md @@ -22,7 +22,7 @@ PKG_MAINTAINER:=Sean K PKG_CONFIG_DEPENDS:= \ CONFIG_NSS_FIRMWARE_VERSION_11_4 \ - CONFIG_NSS_FIRMWARE_VERSION_12_1 + CONFIG_NSS_FIRMWARE_VERSION_12_5 include $(INCLUDE_DIR)/package.mk @@ -68,10 +68,10 @@ define Package/nss-firmware-default/config choice prompt "Version" - default NSS_FIRMWARE_VERSION_12_1 + default NSS_FIRMWARE_VERSION_12_5 - config NSS_FIRMWARE_VERSION_12_1 - bool "NSS Firmware 12.1 Release 022" + config NSS_FIRMWARE_VERSION_12_5 + bool "NSS Firmware 12.5 Release 210" help This version does not work with NSS MESH @@ -89,10 +89,10 @@ ifneq ($(CONFIG_NSS_FIRMWARE_VERSION_11_4),) NSS_REL:=5 VERSION_PATH=$(PKG_BUILD_DIR)/QCA_Networking_2021.SPF_$(NSS_MAJOR)/CS else - NSS_MAJOR:=12.0.0 - NSS_MINOR:=12.1 - NSS_REL:=022 - VERSION_PATH=$(PKG_BUILD_DIR)/QCA_Networking_2022.SPF_$(NSS_MAJOR)/ED1 + NSS_MAJOR:=12.5 + NSS_MINOR:=12.5 + NSS_REL:=210 + VERSION_PATH=$(PKG_BUILD_DIR)/QCA_Networking_2024.SPF_$(NSS_MAJOR)/ED1 endif define Build/Compile 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 8b67013..155ee4f 100644 --- a/qca-nss-clients/patches/0018-kernel-6.1-support.patch +++ b/qca-nss-clients/patches/0018-kernel-6.1-support.patch @@ -193,7 +193,7 @@ @@ -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); - memset(dev->broadcast, 0xff, dev->addr_len); - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); @@ -201,7 +201,7 @@ + eth_hw_addr_set(dev, mac_addr); + eth_broadcast_addr(dev->broadcast); } - + /* --- a/clmapmgr/nss_clmapmgr.c +++ b/clmapmgr/nss_clmapmgr.c diff --git a/qca-nss-drv/patches/0023-nss-drv-limit-fw-12.1.patch b/qca-nss-drv/patches/0023-nss-drv-limit-fw-12.1.patch deleted file mode 100644 index 74503d1..0000000 --- a/qca-nss-drv/patches/0023-nss-drv-limit-fw-12.1.patch +++ /dev/null @@ -1,198 +0,0 @@ ---- a/exports/nss_capwap.h -+++ b/exports/nss_capwap.h -@@ -285,16 +285,6 @@ struct nss_capwap_dtls_msg { - }; - - /** -- * nss_capwap_flow_attr -- * Inner Flow attributes. -- */ --struct nss_capwap_flow_attr { -- uint8_t type; /**< Type to indicate if SCS is valid or SAWF is valid. */ -- uint32_t flow_id; /**< Flow Identification. */ -- uint32_t scs_sdwf_id; /**< SCS or SDWF Identification. */ --}; -- --/** - * nss_capwap_flow_rule_msg - * CAPWAP flow rule message structure. - */ -@@ -312,7 +302,7 @@ struct nss_capwap_flow_rule_msg { - /* - * Flow attributes. - */ -- struct nss_capwap_flow_attr flow_attr; -+ uint32_t flow_id; /**< Flow identification. */ - }; - - /** ---- a/exports/nss_ipv4.h -+++ b/exports/nss_ipv4.h -@@ -290,7 +290,6 @@ enum nss_ipv4_stats_types { - #define NSS_IPV4_RULE_CREATE_IDENTIFIER_VALID 0x1000 - /**< Identifier is valid. */ - #define NSS_IPV4_RULE_CREATE_MIRROR_VALID 0x2000 /**< Mirror fields are valid. */ --#define NSS_IPV4_RULE_CREATE_RAWIP_VALID 0x4000 /**< RAW IP fields are valid. */ - - /* - * Multicast command rule flags ---- a/exports/nss_pvxlan.h -+++ b/exports/nss_pvxlan.h -@@ -63,8 +63,6 @@ typedef enum nss_pvxlan_msg_type { - NSS_PVXLAN_MSG_TYPE_TUNNEL_DISABLE, /**< Disable the tunnel. */ - NSS_PVXLAN_MSG_TYPE_MAC_ADD, /**< Add MAC rule to the database. */ - NSS_PVXLAN_MSG_TYPE_MAC_DEL, /**< Remove MAC rule from the database. */ -- NSS_PVXLAN_MSG_TYPE_CONFIG_VP, /**< VP configuration. */ -- NSS_PVXLAN_MSG_TYPE_UNCONFIG_VP, /**< VP unconfiguration. */ - NSS_PVXLAN_MSG_TYPE_MAX, /**< Maximum message type. */ - } nss_pvxlan_msg_type_t; - -@@ -97,10 +95,6 @@ typedef enum nss_pvxlan_error_response_t - /**< MAC entry allocation failed. */ - PVXLAN_ERROR_MSG_MAC_ENTRY_DELETE_FAILED, - /**< MAC entry deletion failed. */ -- PVXLAN_ERROR_MSG_CONFIG_VP_FAILED, -- /**< VP configuration failed. */ -- PVXLAN_ERROR_MSG_UNCONFIG_VP_FAILED, -- /**< VP unconfiguration failed. */ - NSS_PVXLAN_ERROR_MAX, /**< Maximum error type. */ - } nss_pvxlan_error_response_t; - -@@ -182,18 +176,6 @@ struct nss_pvxlan_mac_msg { - }; - - /** -- * nss_pvxlan_vp_msg -- * VP configuration message. -- * -- * This updates the VP number and "PPE to host" mode associated with -- * the PVxLAN tunnel. -- */ --struct nss_pvxlan_vp_msg { -- int16_t vp_num; /**< VP number. */ -- bool ppe_to_host; /**< Enable/disable PPE to host mode. */ --}; -- --/** - * nss_pvxlan_msg - * Data for sending and receiving proxy VxLAN messages. - */ -@@ -216,8 +198,6 @@ struct nss_pvxlan_msg { - /**< MAC rule add message. */ - struct nss_pvxlan_mac_msg mac_del; - /**< MAC rule delete message. */ -- struct nss_pvxlan_vp_msg vp_config; -- /**< VP configuration message. */ - } msg; /**< Message payload. */ - }; - ---- a/exports/nss_wifili_if.h -+++ b/exports/nss_wifili_if.h -@@ -1444,8 +1444,6 @@ struct nss_wifili_rx_ctrl_stats { - uint32_t bcast_rcv_bytes; /**< Total number of broadcast bytes received. */ - uint32_t defrag_mcast_drop; /**< Total number of defrag multicast dropped packets. */ - uint32_t mcast_3addr_drop; /**< Total number of 3 address multicast dropped packets. */ -- uint32_t ucast_rcv_cnt; /**< Total number of unicast packets received. */ -- uint32_t ucast_rcv_bytes; /**< Total number of unicast bytes received. */ - }; - - /** -@@ -1457,8 +1455,6 @@ struct nss_wifili_retry_ctrl_stats { - uint32_t tx_retry_count; /**< Transmit retry count. */ - uint32_t tx_multiple_retry_count; /**< Transmit multiple retry count. */ - uint32_t rx_retry_count; /**< Receive retry count. */ -- uint32_t tx_mpdu_retry_count; /**< Per mpdu retry count. */ -- uint32_t tx_mpdu_total_retry_count; /**< Total mpdu retry count. */ - }; - - /** ---- a/nss_pvxlan_log.c -+++ b/nss_pvxlan_log.c -@@ -35,8 +35,7 @@ static int8_t *nss_pvxlan_log_message_ty - "PVxLAN Enable Tunnel", - "PVxLAN Disable Tunnel", - "PVxLAN Add MAC rule", -- "PVxLAN Delete MAC rule", -- "PVxLAN Config VP" -+ "PVxLAN Delete MAC rule" - }; - - /* -@@ -53,8 +52,7 @@ static int8_t *nss_pvxlan_log_error_resp - "PVXLAN Invalid Flag", - "PVXLAN MAC Table Full", - "PVXLAN MAC Exists", -- "PVXLAN MAC Does Not Exist", -- "PVXLAN Config VP failed" -+ "PVXLAN MAC Does Not Exist" - }; - - /* -@@ -159,30 +157,6 @@ static void nss_pvxlan_log_mac_del_msg(s - } - - /* -- * nss_pvxlan_log_unconfig_vp_msg() -- * Log NSS PVXLAN unconfig VP message. -- */ --static void nss_pvxlan_log_unconfig_vp_msg(struct nss_pvxlan_msg *npvm) --{ -- nss_trace("%px: NSS PVXLAN unconfigure VP number\n", npvm); --} -- --/* -- * nss_pvxlan_log_config_vp_msg() -- * Log NSS PVXLAN config VP message. -- */ --static void nss_pvxlan_log_config_vp_msg(struct nss_pvxlan_msg *npvm) --{ -- struct nss_pvxlan_vp_msg *vpm __maybe_unused = &npvm->msg.vp_config; -- -- nss_trace("%px: NSS PVXLAN update_vp_num %d\n" -- "NSS PVXLAN ppe to host mode %s\n", -- vpm, -- vpm->vp_num, -- vpm->ppe_to_host ? "enabled" : "disabled"); --} -- --/* - * nss_pvxlan_log_verbose() - * Log message contents. - */ -@@ -213,14 +187,6 @@ static void nss_pvxlan_log_verbose(struc - nss_pvxlan_log_mac_del_msg(npvm); - break; - -- case NSS_PVXLAN_MSG_TYPE_CONFIG_VP: -- nss_pvxlan_log_config_vp_msg(npvm); -- break; -- -- case NSS_PVXLAN_MSG_TYPE_UNCONFIG_VP: -- nss_pvxlan_log_unconfig_vp_msg(npvm); -- break; -- - case NSS_PVXLAN_MSG_TYPE_SYNC_STATS: - break; - ---- a/nss_capwap_log.c -+++ b/nss_capwap_log.c -@@ -166,7 +166,7 @@ static void nss_capwap_flow_rule_msg(str - "CAPWAP Destination Port: %d\n" - "CAPWAP Source IP: %x %x %x %x\n" - "CAPWAP Destination IP: %x %x %x %x" -- "CAPWAP Flow type:%d Flow ID: %d SCS_SDWF ID: %d", -+ "CAPWAP Flow ID: %d", - ncfrm, - ncfrm->ip_version, ncfrm->protocol, - ncfrm->src_port, ncfrm->dst_port, -@@ -174,9 +174,7 @@ static void nss_capwap_flow_rule_msg(str - ncfrm->src_ip[2], ncfrm->src_ip[3], - ncfrm->dst_ip[0], ncfrm->dst_ip[1], - ncfrm->dst_ip[2], ncfrm->dst_ip[3], -- ncfrm->flow_attr.type, -- ncfrm->flow_attr.flow_id, -- ncfrm->flow_attr.scs_sdwf_id); -+ ncfrm->flow_id); - } - - /* diff --git a/qca-nss-ecm/patches/0018-ecm-limit-fw-12.2.patch b/qca-nss-ecm/patches/0018-ecm-limit-fw-12.2.patch deleted file mode 100644 index 296ef34..0000000 --- a/qca-nss-ecm/patches/0018-ecm-limit-fw-12.2.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- b/frontends/nss/ecm_nss_non_ported_ipv4.c -+++ a/frontends/nss/ecm_nss_non_ported_ipv4.c -@@ -852,14 +852,6 @@ - #else - rule_invalid = true; - DEBUG_TRACE("%px: PPTP - unsupported\n", feci); --#endif -- break; -- case ECM_DB_IFACE_TYPE_RAWIP: --#ifdef ECM_INTERFACE_RAWIP_ENABLE -- nircm->valid_flags |= NSS_IPV4_RULE_CREATE_RAWIP_VALID; --#else -- rule_invalid = true; -- DEBUG_TRACE("%px: RAWIP - unsupported\n", feci); - #endif - break; - default: -@@ -1069,14 +1061,6 @@ - #else - rule_invalid = true; - DEBUG_TRACE("%px: IPSEC - unsupported\n", feci); --#endif -- break; -- case ECM_DB_IFACE_TYPE_RAWIP: --#ifdef ECM_INTERFACE_RAWIP_ENABLE -- nircm->valid_flags |= NSS_IPV4_RULE_CREATE_RAWIP_VALID; --#else -- rule_invalid = true; -- DEBUG_TRACE("%px: RAWIP - unsupported\n", feci); - #endif - break; - default: -