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 7d765b6..3ad62c8 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 @@ -32,7 +32,7 @@ Signed-off-by: Ansuel Smith ecm-y := \ frontends/cmn/ecm_ae_classifier.o \ -@@ -115,10 +117,18 @@ ccflags-$(ECM_INTERFACE_BOND_ENABLE) += +@@ -117,10 +119,18 @@ ccflags-$(ECM_INTERFACE_BOND_ENABLE) += # Define ECM_INTERFACE_PPPOE_ENABLE=y in order # to enable support for PPPoE acceleration. # ############################################################################# @@ -52,7 +52,7 @@ Signed-off-by: Ansuel Smith # Define ECM_INTERFACE_L2TPV2_ENABLE=y in order # to enable support for l2tpv2 acceleration. # ############################################################################# -@@ -151,6 +161,12 @@ endif +@@ -153,6 +163,12 @@ endif ccflags-$(ECM_INTERFACE_PPP_ENABLE) += -DECM_INTERFACE_PPP_ENABLE # ############################################################################# @@ -65,7 +65,7 @@ Signed-off-by: Ansuel Smith # Define ECM_INTERFACE_GRE_TAP_ENABLE=y in order # to enable support for GRE TAP interface. # ############################################################################# -@@ -233,7 +249,9 @@ ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABL +@@ -235,7 +251,9 @@ ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABL # ############################################################################# # Define ECM_INTERFACE_VLAN_ENABLE=y in order to enable support for VLAN # ############################################################################# @@ -76,7 +76,7 @@ Signed-off-by: Ansuel Smith ccflags-$(ECM_INTERFACE_VLAN_ENABLE) += -DECM_INTERFACE_VLAN_ENABLE # ############################################################################# -@@ -275,7 +293,9 @@ ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) += +@@ -279,7 +297,9 @@ ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) += # ############################################################################# # Define ECM_CLASSIFIER_MARK_ENABLE=y in order to enable mark classifier. # ############################################################################# @@ -87,7 +87,7 @@ Signed-off-by: Ansuel Smith ecm-$(ECM_CLASSIFIER_MARK_ENABLE) += ecm_classifier_mark.o ccflags-$(ECM_CLASSIFIER_MARK_ENABLE) += -DECM_CLASSIFIER_MARK_ENABLE -@@ -299,7 +319,9 @@ ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += - +@@ -303,7 +323,9 @@ ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += - # ############################################################################# # Define ECM_CLASSIFIER_DSCP_ENABLE=y in order to enable DSCP classifier. # ############################################################################# @@ -98,7 +98,7 @@ Signed-off-by: Ansuel Smith ecm-$(ECM_CLASSIFIER_DSCP_ENABLE) += ecm_classifier_dscp.o ccflags-$(ECM_CLASSIFIER_DSCP_ENABLE) += -DECM_CLASSIFIER_DSCP_ENABLE ccflags-$(ECM_CLASSIFIER_DSCP_IGS) += -DECM_CLASSIFIER_DSCP_IGS -@@ -318,7 +340,9 @@ ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) += +@@ -322,7 +344,9 @@ ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) += # the Parental Controls subsystem classifier in ECM. Currently disabled until # customers require it / if they need to integrate their Parental Controls with it. # ############################################################################# @@ -109,7 +109,7 @@ Signed-off-by: Ansuel Smith ecm-$(ECM_CLASSIFIER_PCC_ENABLE) += ecm_classifier_pcc.o ccflags-$(ECM_CLASSIFIER_PCC_ENABLE) += -DECM_CLASSIFIER_PCC_ENABLE -@@ -367,27 +391,36 @@ ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE) +@@ -371,27 +395,36 @@ ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE) # ############################################################################# # Define ECM_STATE_OUTPUT_ENABLE=y to support XML state output # ############################################################################# @@ -149,7 +149,7 @@ Signed-off-by: Ansuel Smith ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE) += -DECM_TRACKER_DPI_SUPPORT_ENABLE # ############################################################################# -@@ -395,14 +428,18 @@ ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE +@@ -399,14 +432,18 @@ ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE # support for the database keeping lists of connections that are assigned # on a per TYPE of classifier basis. # ############################################################################# @@ -252,7 +252,7 @@ Signed-off-by: Ansuel Smith --- a/ecm_interface.c +++ b/ecm_interface.c -@@ -1525,6 +1525,7 @@ struct neighbour *ecm_interface_ipv6_nei +@@ -1531,6 +1531,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; /* -@@ -1549,6 +1550,7 @@ bool ecm_interface_is_pptp(struct sk_buf +@@ -1555,6 +1556,7 @@ bool ecm_interface_is_pptp(struct sk_buf } dev_put(in); @@ -268,7 +268,7 @@ Signed-off-by: Ansuel Smith return false; } -@@ -1561,6 +1563,7 @@ bool ecm_interface_is_pptp(struct sk_buf +@@ -1567,6 +1569,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; -@@ -1593,6 +1596,7 @@ bool ecm_interface_is_l2tp_packet_by_ver +@@ -1599,6 +1602,7 @@ bool ecm_interface_is_l2tp_packet_by_ver } dev_put(in); @@ -284,7 +284,7 @@ Signed-off-by: Ansuel Smith return false; } -@@ -1605,6 +1609,7 @@ bool ecm_interface_is_l2tp_packet_by_ver +@@ -1611,6 +1615,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; /* -@@ -1627,6 +1632,7 @@ bool ecm_interface_is_l2tp_pptp(struct s +@@ -1633,6 +1638,7 @@ bool ecm_interface_is_l2tp_pptp(struct s } dev_put(in); @@ -300,7 +300,7 @@ Signed-off-by: Ansuel Smith return false; } -@@ -7182,6 +7188,7 @@ static void ecm_interface_regenerate_con +@@ -7292,6 +7298,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 -@@ -7197,6 +7204,7 @@ static void ecm_interface_regenerate_con +@@ -7307,6 +7314,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 -@@ -538,6 +538,7 @@ bool ecm_front_end_gre_proto_is_accel_al +@@ -594,6 +594,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; -@@ -549,10 +550,12 @@ bool ecm_front_end_gre_proto_is_accel_al +@@ -605,10 +606,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 -@@ -680,6 +683,10 @@ bool ecm_front_end_gre_proto_is_accel_al +@@ -736,6 +739,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/0009-frontends-drop-udp_get_timeouts-and-use-standard-ups.patch b/qca-nss-ecm/patches/0009-frontends-drop-udp_get_timeouts-and-use-standard-ups.patch index a676419..217792d 100644 --- a/qca-nss-ecm/patches/0009-frontends-drop-udp_get_timeouts-and-use-standard-ups.patch +++ b/qca-nss-ecm/patches/0009-frontends-drop-udp_get_timeouts-and-use-standard-ups.patch @@ -39,7 +39,7 @@ instead or relying on a downstream api not present upstream. spin_lock_bh(&ct->lock); --- a/frontends/sfe/ecm_sfe_ipv4.c +++ b/frontends/sfe/ecm_sfe_ipv4.c -@@ -563,7 +563,8 @@ sync_conntrack: +@@ -576,7 +576,8 @@ sync_conntrack: #else timeouts = nf_ct_timeout_lookup(ct); if (!timeouts) { @@ -51,7 +51,7 @@ instead or relying on a downstream api not present upstream. spin_lock_bh(&ct->lock); --- a/frontends/sfe/ecm_sfe_ipv6.c +++ b/frontends/sfe/ecm_sfe_ipv6.c -@@ -556,7 +556,8 @@ sync_conntrack: +@@ -569,7 +569,8 @@ sync_conntrack: #else timeouts = nf_ct_timeout_lookup(ct); if (!timeouts) { 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 27238cc..8603b23 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 -@@ -3640,7 +3640,7 @@ identifier_update: +@@ -3718,7 +3718,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; -@@ -3650,7 +3650,7 @@ identifier_update: +@@ -3728,7 +3728,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/0013-treewide-export-ipv4-and-ipv6-symbols.patch b/qca-nss-ecm/patches/0013-treewide-export-ipv4-and-ipv6-symbols.patch index 30ec513..4802cac 100644 --- a/qca-nss-ecm/patches/0013-treewide-export-ipv4-and-ipv6-symbols.patch +++ b/qca-nss-ecm/patches/0013-treewide-export-ipv4-and-ipv6-symbols.patch @@ -15,7 +15,7 @@ +EXPORT_SYMBOL(ecm_nss_ipv4_is_conn_limit_reached); --- a/frontends/nss/ecm_nss_non_ported_ipv4.c +++ b/frontends/nss/ecm_nss_non_ported_ipv4.c -@@ -1847,6 +1847,7 @@ struct ecm_front_end_connection_instance +@@ -1897,6 +1897,7 @@ struct ecm_front_end_connection_instance return feci; } @@ -36,7 +36,7 @@ struct ecm_db_connection_instance **nci); --- a/frontends/nss/ecm_nss_non_ported_ipv6.c +++ b/frontends/nss/ecm_nss_non_ported_ipv6.c -@@ -1657,6 +1657,7 @@ struct ecm_front_end_connection_instance +@@ -1707,6 +1707,7 @@ struct ecm_front_end_connection_instance return feci; } @@ -57,7 +57,7 @@ struct ecm_db_connection_instance **nci); --- a/frontends/nss/ecm_nss_ported_ipv4.c +++ b/frontends/nss/ecm_nss_ported_ipv4.c -@@ -1906,6 +1906,7 @@ struct ecm_front_end_connection_instance +@@ -1956,6 +1956,7 @@ struct ecm_front_end_connection_instance return feci; } @@ -78,7 +78,7 @@ struct ecm_db_connection_instance **nci); --- a/frontends/nss/ecm_nss_ported_ipv6.c +++ b/frontends/nss/ecm_nss_ported_ipv6.c -@@ -1812,6 +1812,7 @@ struct ecm_front_end_connection_instance +@@ -1862,6 +1862,7 @@ struct ecm_front_end_connection_instance return feci; } 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 d352982..5c0b62a 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 -@@ -4057,7 +4057,11 @@ static uint32_t ecm_interface_multicast_ +@@ -4141,7 +4141,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-nss-ecm/patches/0017-ecm-interface-fix-fortify_memcpy_chk.patch b/qca-nss-ecm/patches/0017-ecm-interface-fix-fortify_memcpy_chk.patch index 8aa3f3a..12596ae 100644 --- a/qca-nss-ecm/patches/0017-ecm-interface-fix-fortify_memcpy_chk.patch +++ b/qca-nss-ecm/patches/0017-ecm-interface-fix-fortify_memcpy_chk.patch @@ -1,6 +1,6 @@ --- a/ecm_interface.c +++ b/ecm_interface.c -@@ -8009,7 +8009,7 @@ static int ecm_interface_wifi_event_iwev +@@ -8537,7 +8537,7 @@ static int ecm_interface_wifi_event_iwev /* * Copy the base data structure to get iwe->len */ @@ -9,7 +9,7 @@ /* * Check that len is valid and that we have that much in the buffer. -@@ -8026,10 +8026,10 @@ static int ecm_interface_wifi_event_iwev +@@ -8554,10 +8554,10 @@ static int ecm_interface_wifi_event_iwev dpos = (char *)&iwe_buf.u.data.length; dlen = dpos - (char *)&iwe_buf; @@ -22,7 +22,7 @@ return -1; } -@@ -8037,7 +8037,7 @@ static int ecm_interface_wifi_event_iwev +@@ -8565,7 +8565,7 @@ static int ecm_interface_wifi_event_iwev * Check the flags of iw event if it indicates the IW authorized signal. */ if (iwe->u.data.flags == ECM_INTERFACE_WIFI_EVENT_NODE_AUTH) { @@ -31,7 +31,7 @@ if (!dbuf) { DEBUG_WARN("Failed to allocated a buffer to process the custom event"); return -1; -@@ -8060,16 +8060,16 @@ static int ecm_interface_wifi_event_iwev +@@ -8588,16 +8588,16 @@ static int ecm_interface_wifi_event_iwev return 0; } diff --git a/qca-nss-ecm/patches/0018-ecm-compat-nss-12_2.patch b/qca-nss-ecm/patches/0018-ecm-compat-nss-12_2.patch index 44c7d7e..7f72eea 100644 --- a/qca-nss-ecm/patches/0018-ecm-compat-nss-12_2.patch +++ b/qca-nss-ecm/patches/0018-ecm-compat-nss-12_2.patch @@ -1,6 +1,6 @@ --- a/frontends/nss/ecm_nss_non_ported_ipv4.c +++ b/frontends/nss/ecm_nss_non_ported_ipv4.c -@@ -855,7 +855,7 @@ static void ecm_nss_non_ported_ipv4_conn +@@ -880,7 +880,7 @@ static void ecm_nss_non_ported_ipv4_conn #endif break; case ECM_DB_IFACE_TYPE_RAWIP: @@ -9,7 +9,7 @@ nircm->valid_flags |= NSS_IPV4_RULE_CREATE_RAWIP_VALID; #else rule_invalid = true; -@@ -1072,7 +1072,7 @@ static void ecm_nss_non_ported_ipv4_conn +@@ -1122,7 +1122,7 @@ static void ecm_nss_non_ported_ipv4_conn #endif break; case ECM_DB_IFACE_TYPE_RAWIP: