mirror of
https://github.com/breeze303/nss-packages.git
synced 2025-12-16 16:57:29 +00:00
qca-nss-ecm: update to 12.4.r1
Signed-off-by: bitthief <bitthief@protonmail.ch>
This commit is contained in:
parent
08daa5dfaa
commit
b4275fd896
@ -1,14 +1,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=qca-nss-ecm
|
PKG_NAME:=qca-nss-ecm
|
||||||
PKG_RELEASE:=$(AUTORELEASE)
|
PKG_RELEASE=1
|
||||||
|
|
||||||
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git
|
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2023-01-20
|
PKG_SOURCE_DATE:=2023-04-26
|
||||||
PKG_SOURCE_VERSION:=db66c472e07990600bec9f01fb79e103540b0ca3
|
PKG_SOURCE_VERSION:=f9b52bfceedca844c61e2e3df2078be8ee736853
|
||||||
PKG_MIRROR_HASH:=613fa9f8ff20984db5296763c35dea8a9ac0a5f507a0c125ea2814a6d4047a3a
|
PKG_MIRROR_HASH:=16d6d10b9544be68758736dee1c0e5c616fb1cf406646fbdf3e7a8db3844e7b3
|
||||||
PKG_RELEASE=1
|
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
PKG_FLAGS:=nonshared
|
PKG_FLAGS:=nonshared
|
||||||
|
|||||||
@ -12,11 +12,9 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|||||||
frontends/ecm_front_end_common.c | 7 ++++
|
frontends/ecm_front_end_common.c | 7 ++++
|
||||||
5 files changed, 72 insertions(+), 12 deletions(-)
|
5 files changed, 72 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index a59cbce..f7e40f8 100644
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -125,9 +125,17 @@ ccflags-$(ECM_INTERFACE_BOND_ENABLE) += -DECM_INTERFACE_BOND_ENABLE
|
@@ -130,10 +130,18 @@ ccflags-$(ECM_INTERFACE_BOND_ENABLE) +=
|
||||||
# Define ECM_INTERFACE_PPPOE_ENABLE=y in order
|
# Define ECM_INTERFACE_PPPOE_ENABLE=y in order
|
||||||
# to enable support for PPPoE acceleration.
|
# to enable support for PPPoE acceleration.
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -26,29 +24,30 @@ index a59cbce..f7e40f8 100644
|
|||||||
+endif
|
+endif
|
||||||
ccflags-$(ECM_INTERFACE_PPPOE_ENABLE) += -DECM_INTERFACE_PPPOE_ENABLE
|
ccflags-$(ECM_INTERFACE_PPPOE_ENABLE) += -DECM_INTERFACE_PPPOE_ENABLE
|
||||||
|
|
||||||
+# #############################################################################
|
# #############################################################################
|
||||||
+# Define ECM_INTERFACE_L2TPV2_PPTP_ENABLE=y in order
|
+# Define ECM_INTERFACE_L2TPV2_PPTP_ENABLE=y in order
|
||||||
+# to enable support for l2tpv2 or PPTP detection.
|
+# to enable support for l2tpv2 or PPTP detection.
|
||||||
+# #############################################################################
|
+# #############################################################################
|
||||||
+ccflags-$(ECM_INTERFACE_L2TPV2_PPTP_ENABLE) += -DECM_INTERFACE_L2TPV2_PPTP_ENABLE
|
+ccflags-$(ECM_INTERFACE_L2TPV2_PPTP_ENABLE) += -DECM_INTERFACE_L2TPV2_PPTP_ENABLE
|
||||||
+
|
+
|
||||||
# #############################################################################
|
+# #############################################################################
|
||||||
# Define ECM_INTERFACE_L2TPV2_ENABLE=y in order
|
# Define ECM_INTERFACE_L2TPV2_ENABLE=y in order
|
||||||
# to enable support for l2tpv2 acceleration.
|
# to enable support for l2tpv2 acceleration.
|
||||||
@@ -154,6 +162,12 @@ endif
|
# #############################################################################
|
||||||
endif
|
@@ -160,6 +168,12 @@ endif
|
||||||
ccflags-$(ECM_INTERFACE_PPP_ENABLE) += -DECM_INTERFACE_PPP_ENABLE
|
ccflags-$(ECM_INTERFACE_PPP_ENABLE) += -DECM_INTERFACE_PPP_ENABLE
|
||||||
|
|
||||||
+# #############################################################################
|
# #############################################################################
|
||||||
+# Define ECM_INTERFACE_GRE_ENABLE=y in order
|
+# Define ECM_INTERFACE_GRE_ENABLE=y in order
|
||||||
+# to enable support for GRE detection.
|
+# to enable support for GRE detection.
|
||||||
+# #############################################################################
|
+# #############################################################################
|
||||||
+ccflags-$(ECM_INTERFACE_GRE_ENABLE) += -DECM_INTERFACE_GRE_ENABLE
|
+ccflags-$(ECM_INTERFACE_GRE_ENABLE) += -DECM_INTERFACE_GRE_ENABLE
|
||||||
+
|
+
|
||||||
# #############################################################################
|
+# #############################################################################
|
||||||
# Define ECM_INTERFACE_GRE_TAP_ENABLE=y in order
|
# Define ECM_INTERFACE_GRE_TAP_ENABLE=y in order
|
||||||
# to enable support for GRE TAP interface.
|
# to enable support for GRE TAP interface.
|
||||||
@@ -237,7 +251,9 @@ ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABLE) += -DECM_INTERFACE_OVS_BRIDGE_ENABLE
|
# #############################################################################
|
||||||
|
@@ -242,7 +256,9 @@ ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABL
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
# Define ECM_INTERFACE_VLAN_ENABLE=y in order to enable support for VLAN
|
# Define ECM_INTERFACE_VLAN_ENABLE=y in order to enable support for VLAN
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -59,7 +58,7 @@ index a59cbce..f7e40f8 100644
|
|||||||
ccflags-$(ECM_INTERFACE_VLAN_ENABLE) += -DECM_INTERFACE_VLAN_ENABLE
|
ccflags-$(ECM_INTERFACE_VLAN_ENABLE) += -DECM_INTERFACE_VLAN_ENABLE
|
||||||
|
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@@ -279,7 +295,9 @@ ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) += -DECM_CLASSIFIER_OVS_ENABLE
|
@@ -284,7 +300,9 @@ ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) +=
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
# Define ECM_CLASSIFIER_MARK_ENABLE=y in order to enable mark classifier.
|
# Define ECM_CLASSIFIER_MARK_ENABLE=y in order to enable mark classifier.
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -70,7 +69,7 @@ index a59cbce..f7e40f8 100644
|
|||||||
ecm-$(ECM_CLASSIFIER_MARK_ENABLE) += ecm_classifier_mark.o
|
ecm-$(ECM_CLASSIFIER_MARK_ENABLE) += ecm_classifier_mark.o
|
||||||
ccflags-$(ECM_CLASSIFIER_MARK_ENABLE) += -DECM_CLASSIFIER_MARK_ENABLE
|
ccflags-$(ECM_CLASSIFIER_MARK_ENABLE) += -DECM_CLASSIFIER_MARK_ENABLE
|
||||||
|
|
||||||
@@ -303,7 +321,9 @@ ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += -DECM_CLASSIFIER_NL_ENABLE
|
@@ -308,7 +326,9 @@ ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += -
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
# Define ECM_CLASSIFIER_DSCP_ENABLE=y in order to enable DSCP classifier.
|
# Define ECM_CLASSIFIER_DSCP_ENABLE=y in order to enable DSCP classifier.
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -81,7 +80,7 @@ index a59cbce..f7e40f8 100644
|
|||||||
ecm-$(ECM_CLASSIFIER_DSCP_ENABLE) += ecm_classifier_dscp.o
|
ecm-$(ECM_CLASSIFIER_DSCP_ENABLE) += ecm_classifier_dscp.o
|
||||||
ccflags-$(ECM_CLASSIFIER_DSCP_ENABLE) += -DECM_CLASSIFIER_DSCP_ENABLE
|
ccflags-$(ECM_CLASSIFIER_DSCP_ENABLE) += -DECM_CLASSIFIER_DSCP_ENABLE
|
||||||
ccflags-$(ECM_CLASSIFIER_DSCP_IGS) += -DECM_CLASSIFIER_DSCP_IGS
|
ccflags-$(ECM_CLASSIFIER_DSCP_IGS) += -DECM_CLASSIFIER_DSCP_IGS
|
||||||
@@ -322,7 +342,9 @@ ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) += -DECM_CLASSIFIER_HYFI_ENABLE
|
@@ -327,7 +347,9 @@ ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) +=
|
||||||
# the Parental Controls subsystem classifier in ECM. Currently disabled until
|
# the Parental Controls subsystem classifier in ECM. Currently disabled until
|
||||||
# customers require it / if they need to integrate their Parental Controls with it.
|
# customers require it / if they need to integrate their Parental Controls with it.
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -92,7 +91,7 @@ index a59cbce..f7e40f8 100644
|
|||||||
ecm-$(ECM_CLASSIFIER_PCC_ENABLE) += ecm_classifier_pcc.o
|
ecm-$(ECM_CLASSIFIER_PCC_ENABLE) += ecm_classifier_pcc.o
|
||||||
ccflags-$(ECM_CLASSIFIER_PCC_ENABLE) += -DECM_CLASSIFIER_PCC_ENABLE
|
ccflags-$(ECM_CLASSIFIER_PCC_ENABLE) += -DECM_CLASSIFIER_PCC_ENABLE
|
||||||
|
|
||||||
@@ -363,27 +385,36 @@ ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE) += -DECM_NON_PORTED_SUPPORT_ENABLE
|
@@ -368,27 +390,36 @@ ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE)
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
# Define ECM_STATE_OUTPUT_ENABLE=y to support XML state output
|
# Define ECM_STATE_OUTPUT_ENABLE=y to support XML state output
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -132,7 +131,7 @@ index a59cbce..f7e40f8 100644
|
|||||||
ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE) += -DECM_TRACKER_DPI_SUPPORT_ENABLE
|
ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE) += -DECM_TRACKER_DPI_SUPPORT_ENABLE
|
||||||
|
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@@ -391,14 +422,18 @@ ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE) += -DECM_TRACKER_DPI_SUPPORT_ENABLE
|
@@ -396,14 +427,18 @@ ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE
|
||||||
# support for the database keeping lists of connections that are assigned
|
# support for the database keeping lists of connections that are assigned
|
||||||
# on a per TYPE of classifier basis.
|
# on a per TYPE of classifier basis.
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@ -153,7 +152,7 @@ index a59cbce..f7e40f8 100644
|
|||||||
ccflags-$(ECM_BAND_STEERING_ENABLE) += -DECM_BAND_STEERING_ENABLE
|
ccflags-$(ECM_BAND_STEERING_ENABLE) += -DECM_BAND_STEERING_ENABLE
|
||||||
|
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
@@ -468,7 +503,6 @@ ccflags-y += -DECM_TRACKER_UDP_DEBUG_LEVEL=1
|
@@ -479,7 +514,6 @@ ccflags-y += -DECM_TRACKER_UDP_DEBUG_LEV
|
||||||
ccflags-y += -DECM_BOND_NOTIFIER_DEBUG_LEVEL=1
|
ccflags-y += -DECM_BOND_NOTIFIER_DEBUG_LEVEL=1
|
||||||
ccflags-y += -DECM_INTERFACE_DEBUG_LEVEL=1
|
ccflags-y += -DECM_INTERFACE_DEBUG_LEVEL=1
|
||||||
ccflags-y += -DECM_STATE_DEBUG_LEVEL=1
|
ccflags-y += -DECM_STATE_DEBUG_LEVEL=1
|
||||||
@ -161,11 +160,9 @@ index a59cbce..f7e40f8 100644
|
|||||||
ccflags-y += -DECM_NOTIFIER_DEBUG_LEVEL=1
|
ccflags-y += -DECM_NOTIFIER_DEBUG_LEVEL=1
|
||||||
ccflags-y += -DECM_AE_CLASSIFIER_DEBUG_LEVEL=1
|
ccflags-y += -DECM_AE_CLASSIFIER_DEBUG_LEVEL=1
|
||||||
|
|
||||||
diff --git a/ecm_db/ecm_db_connection.c b/ecm_db/ecm_db_connection.c
|
|
||||||
index 6d0bff4..77e5f3f 100644
|
|
||||||
--- a/ecm_db/ecm_db_connection.c
|
--- a/ecm_db/ecm_db_connection.c
|
||||||
+++ b/ecm_db/ecm_db_connection.c
|
+++ b/ecm_db/ecm_db_connection.c
|
||||||
@@ -441,7 +441,9 @@ EXPORT_SYMBOL(ecm_db_connection_make_defunct);
|
@@ -446,7 +446,9 @@ EXPORT_SYMBOL(ecm_db_connection_make_def
|
||||||
*/
|
*/
|
||||||
void ecm_db_connection_data_totals_update(struct ecm_db_connection_instance *ci, bool is_from, uint64_t size, uint64_t packets)
|
void ecm_db_connection_data_totals_update(struct ecm_db_connection_instance *ci, bool is_from, uint64_t size, uint64_t packets)
|
||||||
{
|
{
|
||||||
@ -175,7 +172,7 @@ index 6d0bff4..77e5f3f 100644
|
|||||||
|
|
||||||
DEBUG_CHECK_MAGIC(ci, ECM_DB_CONNECTION_INSTANCE_MAGIC, "%px: magic failed\n", ci);
|
DEBUG_CHECK_MAGIC(ci, ECM_DB_CONNECTION_INSTANCE_MAGIC, "%px: magic failed\n", ci);
|
||||||
|
|
||||||
@@ -540,7 +542,9 @@ EXPORT_SYMBOL(ecm_db_connection_data_totals_update);
|
@@ -545,7 +547,9 @@ EXPORT_SYMBOL(ecm_db_connection_data_tot
|
||||||
*/
|
*/
|
||||||
void ecm_db_connection_data_totals_update_dropped(struct ecm_db_connection_instance *ci, bool is_from, uint64_t size, uint64_t packets)
|
void ecm_db_connection_data_totals_update_dropped(struct ecm_db_connection_instance *ci, bool is_from, uint64_t size, uint64_t packets)
|
||||||
{
|
{
|
||||||
@ -185,7 +182,7 @@ index 6d0bff4..77e5f3f 100644
|
|||||||
|
|
||||||
DEBUG_CHECK_MAGIC(ci, ECM_DB_CONNECTION_INSTANCE_MAGIC, "%px: magic failed\n", ci);
|
DEBUG_CHECK_MAGIC(ci, ECM_DB_CONNECTION_INSTANCE_MAGIC, "%px: magic failed\n", ci);
|
||||||
|
|
||||||
@@ -1526,6 +1530,7 @@ void ecm_db_connection_defunct_all(void)
|
@@ -1539,6 +1543,7 @@ void ecm_db_connection_defunct_all(void)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ecm_db_connection_defunct_all);
|
EXPORT_SYMBOL(ecm_db_connection_defunct_all);
|
||||||
|
|
||||||
@ -193,7 +190,7 @@ index 6d0bff4..77e5f3f 100644
|
|||||||
/*
|
/*
|
||||||
* ecm_db_connection_defunct_by_classifier()
|
* ecm_db_connection_defunct_by_classifier()
|
||||||
* Make defunct based on masked fields
|
* Make defunct based on masked fields
|
||||||
@@ -1692,6 +1697,7 @@ next_ci:
|
@@ -1705,6 +1710,7 @@ next_ci:
|
||||||
ECM_IP_ADDR_TO_OCTAL(dest_addr_mask), dest_port_mask, proto_mask, cnt);
|
ECM_IP_ADDR_TO_OCTAL(dest_addr_mask), dest_port_mask, proto_mask, cnt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -201,7 +198,7 @@ index 6d0bff4..77e5f3f 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ecm_db_connection_defunct_by_port()
|
* ecm_db_connection_defunct_by_port()
|
||||||
@@ -1981,6 +1987,7 @@ struct ecm_db_node_instance *ecm_db_connection_node_get_and_ref(struct ecm_db_co
|
@@ -1994,6 +2000,7 @@ struct ecm_db_node_instance *ecm_db_conn
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ecm_db_connection_node_get_and_ref);
|
EXPORT_SYMBOL(ecm_db_connection_node_get_and_ref);
|
||||||
|
|
||||||
@ -209,7 +206,7 @@ index 6d0bff4..77e5f3f 100644
|
|||||||
/*
|
/*
|
||||||
* ecm_db_connection_mapping_get_and_ref_next()
|
* ecm_db_connection_mapping_get_and_ref_next()
|
||||||
* Return reference to next connection in the mapping chain in the specified direction.
|
* Return reference to next connection in the mapping chain in the specified direction.
|
||||||
@@ -2022,6 +2029,7 @@ struct ecm_db_connection_instance *ecm_db_connection_iface_get_and_ref_next(stru
|
@@ -2035,6 +2042,7 @@ struct ecm_db_connection_instance *ecm_d
|
||||||
return nci;
|
return nci;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ecm_db_connection_iface_get_and_ref_next);
|
EXPORT_SYMBOL(ecm_db_connection_iface_get_and_ref_next);
|
||||||
@ -217,37 +214,35 @@ index 6d0bff4..77e5f3f 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ecm_db_connection_mapping_get_and_ref()
|
* ecm_db_connection_mapping_get_and_ref()
|
||||||
diff --git a/ecm_db/ecm_db_node.c b/ecm_db/ecm_db_node.c
|
|
||||||
index c3d70be..89b386f 100644
|
|
||||||
--- a/ecm_db/ecm_db_node.c
|
--- a/ecm_db/ecm_db_node.c
|
||||||
+++ b/ecm_db/ecm_db_node.c
|
+++ b/ecm_db/ecm_db_node.c
|
||||||
@@ -227,8 +227,10 @@ EXPORT_SYMBOL(ecm_db_node_get_and_ref_next);
|
@@ -227,9 +227,11 @@ EXPORT_SYMBOL(ecm_db_node_get_and_ref_ne
|
||||||
*/
|
*/
|
||||||
int ecm_db_node_deref(struct ecm_db_node_instance *ni)
|
int ecm_db_node_deref(struct ecm_db_node_instance *ni)
|
||||||
{
|
{
|
||||||
+#ifdef ECM_DB_XREF_ENABLE
|
+#ifdef ECM_DB_XREF_ENABLE
|
||||||
#if (DEBUG_LEVEL >= 1)
|
#if (DEBUG_LEVEL >= 1)
|
||||||
int dir;
|
int dir;
|
||||||
+#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
+#endif
|
||||||
DEBUG_CHECK_MAGIC(ni, ECM_DB_NODE_INSTANCE_MAGIC, "%px: magic failed\n", ni);
|
DEBUG_CHECK_MAGIC(ni, ECM_DB_NODE_INSTANCE_MAGIC, "%px: magic failed\n", ni);
|
||||||
|
|
||||||
@@ -489,8 +491,10 @@ EXPORT_SYMBOL(ecm_db_node_iface_get_and_ref);
|
spin_lock_bh(&ecm_db_lock);
|
||||||
|
@@ -489,9 +491,11 @@ EXPORT_SYMBOL(ecm_db_node_iface_get_and_
|
||||||
void ecm_db_node_add(struct ecm_db_node_instance *ni, struct ecm_db_iface_instance *ii, uint8_t *address,
|
void ecm_db_node_add(struct ecm_db_node_instance *ni, struct ecm_db_iface_instance *ii, uint8_t *address,
|
||||||
ecm_db_node_final_callback_t final, void *arg)
|
ecm_db_node_final_callback_t final, void *arg)
|
||||||
{
|
{
|
||||||
+#ifdef ECM_DB_XREF_ENABLE
|
+#ifdef ECM_DB_XREF_ENABLE
|
||||||
#if (DEBUG_LEVEL >= 1)
|
#if (DEBUG_LEVEL >= 1)
|
||||||
int dir;
|
int dir;
|
||||||
+#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
+#endif
|
||||||
ecm_db_node_hash_t hash_index;
|
ecm_db_node_hash_t hash_index;
|
||||||
struct ecm_db_listener_instance *li;
|
struct ecm_db_listener_instance *li;
|
||||||
diff --git a/ecm_interface.c b/ecm_interface.c
|
|
||||||
index d7ca169..2ca02bc 100644
|
|
||||||
--- a/ecm_interface.c
|
--- a/ecm_interface.c
|
||||||
+++ b/ecm_interface.c
|
+++ b/ecm_interface.c
|
||||||
@@ -1424,6 +1424,7 @@ struct neighbour *ecm_interface_ipv6_neigh_get(struct ecm_front_end_connection_i
|
@@ -1483,6 +1483,7 @@ struct neighbour *ecm_interface_ipv6_nei
|
||||||
*/
|
*/
|
||||||
bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||||
{
|
{
|
||||||
@ -255,7 +250,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
struct net_device *in;
|
struct net_device *in;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1448,6 +1449,7 @@ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
@@ -1507,6 +1508,7 @@ bool ecm_interface_is_pptp(struct sk_buf
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_put(in);
|
dev_put(in);
|
||||||
@ -263,7 +258,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1460,6 +1462,7 @@ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
@@ -1519,6 +1521,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)
|
bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct net_device *out, int ver)
|
||||||
{
|
{
|
||||||
@ -271,7 +266,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
uint32_t flag = 0;
|
uint32_t flag = 0;
|
||||||
struct net_device *in;
|
struct net_device *in;
|
||||||
|
|
||||||
@@ -1492,6 +1495,7 @@ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct n
|
@@ -1551,6 +1554,7 @@ bool ecm_interface_is_l2tp_packet_by_ver
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_put(in);
|
dev_put(in);
|
||||||
@ -279,7 +274,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1504,6 +1508,7 @@ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct n
|
@@ -1563,6 +1567,7 @@ bool ecm_interface_is_l2tp_packet_by_ver
|
||||||
*/
|
*/
|
||||||
bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *out)
|
bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||||
{
|
{
|
||||||
@ -287,7 +282,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
struct net_device *in;
|
struct net_device *in;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1526,6 +1531,7 @@ bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *ou
|
@@ -1585,6 +1590,7 @@ bool ecm_interface_is_l2tp_pptp(struct s
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_put(in);
|
dev_put(in);
|
||||||
@ -295,7 +290,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6898,6 +6904,7 @@ static void ecm_interface_regenerate_connections(struct ecm_db_iface_instance *i
|
@@ -7120,6 +7126,7 @@ static void ecm_interface_regenerate_con
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -303,7 +298,7 @@ index d7ca169..2ca02bc 100644
|
|||||||
for (dir = 0; dir < ECM_DB_OBJ_DIR_MAX; dir++) {
|
for (dir = 0; dir < ECM_DB_OBJ_DIR_MAX; dir++) {
|
||||||
/*
|
/*
|
||||||
* Re-generate all connections associated with this interface
|
* Re-generate all connections associated with this interface
|
||||||
@@ -6913,6 +6920,7 @@ static void ecm_interface_regenerate_connections(struct ecm_db_iface_instance *i
|
@@ -7135,6 +7142,7 @@ static void ecm_interface_regenerate_con
|
||||||
ci[dir] = cin;
|
ci[dir] = cin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -311,19 +306,17 @@ index d7ca169..2ca02bc 100644
|
|||||||
|
|
||||||
#ifdef ECM_MULTICAST_ENABLE
|
#ifdef ECM_MULTICAST_ENABLE
|
||||||
/*
|
/*
|
||||||
diff --git a/frontends/ecm_front_end_common.c b/frontends/ecm_front_end_common.c
|
|
||||||
index 3b33c41..e21ca24 100644
|
|
||||||
--- a/frontends/ecm_front_end_common.c
|
--- a/frontends/ecm_front_end_common.c
|
||||||
+++ b/frontends/ecm_front_end_common.c
|
+++ b/frontends/ecm_front_end_common.c
|
||||||
@@ -460,6 +460,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
@@ -491,6 +491,7 @@ bool ecm_front_end_gre_proto_is_accel_al
|
||||||
struct nf_conntrack_tuple *tuple,
|
struct nf_conntrack_tuple *tuple,
|
||||||
int ip_version, uint16_t offset)
|
int ip_version, uint16_t offset)
|
||||||
{
|
{
|
||||||
+#ifdef ECM_INTERFACE_GRE_ENABLE
|
+#ifdef ECM_INTERFACE_GRE_ENABLE
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
struct gre_base_hdr *greh;
|
struct gre_base_hdr *greh;
|
||||||
|
|
||||||
@@ -471,10 +472,12 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
@@ -502,10 +503,12 @@ bool ecm_front_end_gre_proto_is_accel_al
|
||||||
/*
|
/*
|
||||||
* Case 1: PPTP locally terminated
|
* Case 1: PPTP locally terminated
|
||||||
*/
|
*/
|
||||||
@ -336,7 +329,7 @@ index 3b33c41..e21ca24 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Case 2: PPTP pass through
|
* Case 2: PPTP pass through
|
||||||
@@ -582,6 +585,10 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
@@ -613,6 +616,10 @@ bool ecm_front_end_gre_proto_is_accel_al
|
||||||
*/
|
*/
|
||||||
DEBUG_TRACE("%px: GRE IPv%d pass through - allow acceleration\n", skb, ip_version);
|
DEBUG_TRACE("%px: GRE IPv%d pass through - allow acceleration\n", skb, ip_version);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- a/ecm_interface.c
|
--- a/ecm_interface.c
|
||||||
+++ b/ecm_interface.c
|
+++ b/ecm_interface.c
|
||||||
@@ -336,7 +336,7 @@ static struct net_device *ecm_interface_dev_find_by_local_addr_ipv6(ip_addr_t ad
|
@@ -336,7 +336,7 @@ static struct net_device *ecm_interface_
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
|
|
||||||
ECM_IP_ADDR_TO_NIN6_ADDR(addr6, addr);
|
ECM_IP_ADDR_TO_NIN6_ADDR(addr6, addr);
|
||||||
@ -9,7 +9,7 @@
|
|||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -737,7 +737,7 @@ static bool ecm_interface_mac_addr_get_ipv6_no_route(struct net_device *dev, ip_
|
@@ -779,7 +779,7 @@ static bool ecm_interface_mac_addr_get_i
|
||||||
* Get the MAC address that corresponds to IP address given.
|
* Get the MAC address that corresponds to IP address given.
|
||||||
*/
|
*/
|
||||||
ECM_IP_ADDR_TO_NIN6_ADDR(daddr, addr);
|
ECM_IP_ADDR_TO_NIN6_ADDR(daddr, addr);
|
||||||
@ -18,11 +18,9 @@
|
|||||||
if (local_dev) {
|
if (local_dev) {
|
||||||
DEBUG_TRACE("%pi6 is a local address\n", &daddr);
|
DEBUG_TRACE("%pi6 is a local address\n", &daddr);
|
||||||
memcpy(mac_addr, dev->dev_addr, ETH_ALEN);
|
memcpy(mac_addr, dev->dev_addr, ETH_ALEN);
|
||||||
diff --git a/frontends/ecm_front_end_common.c b/frontends/ecm_front_end_common.c
|
|
||||||
index 8142be1..927e548 100644
|
|
||||||
--- a/frontends/ecm_front_end_common.c
|
--- a/frontends/ecm_front_end_common.c
|
||||||
+++ b/frontends/ecm_front_end_common.c
|
+++ b/frontends/ecm_front_end_common.c
|
||||||
@@ -101,6 +101,10 @@
|
@@ -102,6 +102,10 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -33,7 +31,7 @@ index 8142be1..927e548 100644
|
|||||||
/*
|
/*
|
||||||
* Sysctl table header
|
* Sysctl table header
|
||||||
*/
|
*/
|
||||||
@@ -547,7 +551,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
@@ -578,7 +582,7 @@ bool ecm_front_end_gre_proto_is_accel_al
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
#ifdef ECM_IPV6_ENABLE
|
#ifdef ECM_IPV6_ENABLE
|
||||||
@ -42,7 +40,7 @@ index 8142be1..927e548 100644
|
|||||||
if (dev) {
|
if (dev) {
|
||||||
/*
|
/*
|
||||||
* Source IP address is local
|
* Source IP address is local
|
||||||
@@ -557,7 +561,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
@@ -588,7 +592,7 @@ bool ecm_front_end_gre_proto_is_accel_al
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,4 +48,4 @@ index 8142be1..927e548 100644
|
|||||||
+ dev = ipv6_dev_find_and_hold(&init_net, &(tuple->dst.u3.in6), 1);
|
+ dev = ipv6_dev_find_and_hold(&init_net, &(tuple->dst.u3.in6), 1);
|
||||||
if (dev) {
|
if (dev) {
|
||||||
/*
|
/*
|
||||||
* Destination IP address is local
|
* Destination IP address is local
|
||||||
|
|||||||
@ -38,11 +38,9 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|||||||
frontends/sfe/ecm_sfe_ported_ipv6.c | 8 +---
|
frontends/sfe/ecm_sfe_ported_ipv6.c | 8 +---
|
||||||
31 files changed, 122 insertions(+), 330 deletions(-)
|
31 files changed, 122 insertions(+), 330 deletions(-)
|
||||||
|
|
||||||
diff --git a/ecm_classifier_default.c b/ecm_classifier_default.c
|
|
||||||
index 39315a9..1dad277 100644
|
|
||||||
--- a/ecm_classifier_default.c
|
--- a/ecm_classifier_default.c
|
||||||
+++ b/ecm_classifier_default.c
|
+++ b/ecm_classifier_default.c
|
||||||
@@ -760,26 +760,14 @@ int ecm_classifier_default_init(struct dentry *dentry)
|
@@ -760,26 +760,14 @@ int ecm_classifier_default_init(struct d
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,11 +73,9 @@ index 39315a9..1dad277 100644
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff --git a/ecm_classifier_dscp.c b/ecm_classifier_dscp.c
|
|
||||||
index 4f0caeb..6c9401e 100644
|
|
||||||
--- a/ecm_classifier_dscp.c
|
--- a/ecm_classifier_dscp.c
|
||||||
+++ b/ecm_classifier_dscp.c
|
+++ b/ecm_classifier_dscp.c
|
||||||
@@ -816,12 +816,8 @@ int ecm_classifier_dscp_init(struct dentry *dentry)
|
@@ -816,12 +816,8 @@ int ecm_classifier_dscp_init(struct dent
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,11 +90,9 @@ index 4f0caeb..6c9401e 100644
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff --git a/ecm_classifier_emesh.c b/ecm_classifier_emesh.c
|
|
||||||
index 72cf2e1..f8aecec 100644
|
|
||||||
--- a/ecm_classifier_emesh.c
|
--- a/ecm_classifier_emesh.c
|
||||||
+++ b/ecm_classifier_emesh.c
|
+++ b/ecm_classifier_emesh.c
|
||||||
@@ -1954,33 +1954,17 @@ int ecm_classifier_emesh_sawf_init(struct dentry *dentry)
|
@@ -2059,33 +2059,17 @@ int ecm_classifier_emesh_sawf_init(struc
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,13 +132,11 @@ index 72cf2e1..f8aecec 100644
|
|||||||
+ debugfs_create_u32("cake_enabled", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
+ debugfs_create_u32("cake_enabled", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
||||||
+ (u32 *)&ecm_classifier_sawf_cake_enabled);
|
+ (u32 *)&ecm_classifier_sawf_cake_enabled);
|
||||||
|
|
||||||
/*
|
if (!debugfs_create_file("udp_ipsec_port", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
||||||
* Register for service prioritization notification update.
|
NULL, &ecm_classifier_sawf_emesh_udp_ipsec_port_fops)) {
|
||||||
diff --git a/ecm_classifier_hyfi.c b/ecm_classifier_hyfi.c
|
|
||||||
index a57a13e..fad7209 100644
|
|
||||||
--- a/ecm_classifier_hyfi.c
|
--- a/ecm_classifier_hyfi.c
|
||||||
+++ b/ecm_classifier_hyfi.c
|
+++ b/ecm_classifier_hyfi.c
|
||||||
@@ -1111,11 +1111,8 @@ int ecm_classifier_hyfi_rules_init(struct dentry *dentry)
|
@@ -1111,11 +1111,8 @@ int ecm_classifier_hyfi_rules_init(struc
|
||||||
goto classifier_task_cleanup;
|
goto classifier_task_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,11 +150,9 @@ index a57a13e..fad7209 100644
|
|||||||
|
|
||||||
if (!debugfs_create_file("cmd", S_IWUSR, ecm_classifier_hyfi_dentry,
|
if (!debugfs_create_file("cmd", S_IWUSR, ecm_classifier_hyfi_dentry,
|
||||||
NULL, &ecm_classifier_hyfi_cmd_fops)) {
|
NULL, &ecm_classifier_hyfi_cmd_fops)) {
|
||||||
diff --git a/ecm_classifier_mark.c b/ecm_classifier_mark.c
|
|
||||||
index d054d8e..65dd1e1 100644
|
|
||||||
--- a/ecm_classifier_mark.c
|
--- a/ecm_classifier_mark.c
|
||||||
+++ b/ecm_classifier_mark.c
|
+++ b/ecm_classifier_mark.c
|
||||||
@@ -753,12 +753,8 @@ int ecm_classifier_mark_init(struct dentry *dentry)
|
@@ -753,12 +753,8 @@ int ecm_classifier_mark_init(struct dent
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,11 +167,9 @@ index d054d8e..65dd1e1 100644
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff --git a/ecm_classifier_ovs.c b/ecm_classifier_ovs.c
|
|
||||||
index b9d98d4..16a2ea9 100644
|
|
||||||
--- a/ecm_classifier_ovs.c
|
--- a/ecm_classifier_ovs.c
|
||||||
+++ b/ecm_classifier_ovs.c
|
+++ b/ecm_classifier_ovs.c
|
||||||
@@ -2265,12 +2265,8 @@ int ecm_classifier_ovs_init(struct dentry *dentry)
|
@@ -2265,12 +2265,8 @@ int ecm_classifier_ovs_init(struct dentr
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,11 +184,9 @@ index b9d98d4..16a2ea9 100644
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff --git a/ecm_classifier_pcc.c b/ecm_classifier_pcc.c
|
|
||||||
index 6c6fcd4..af13357 100644
|
|
||||||
--- a/ecm_classifier_pcc.c
|
--- a/ecm_classifier_pcc.c
|
||||||
+++ b/ecm_classifier_pcc.c
|
+++ b/ecm_classifier_pcc.c
|
||||||
@@ -1246,12 +1246,8 @@ int ecm_classifier_pcc_init(struct dentry *dentry)
|
@@ -1246,12 +1246,8 @@ int ecm_classifier_pcc_init(struct dentr
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,11 +201,9 @@ index 6c6fcd4..af13357 100644
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff --git a/ecm_conntrack_notifier.c b/ecm_conntrack_notifier.c
|
|
||||||
index f4f2c60..7b20132 100644
|
|
||||||
--- a/ecm_conntrack_notifier.c
|
--- a/ecm_conntrack_notifier.c
|
||||||
+++ b/ecm_conntrack_notifier.c
|
+++ b/ecm_conntrack_notifier.c
|
||||||
@@ -429,12 +429,8 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
@@ -429,12 +429,8 @@ int ecm_conntrack_notifier_init(struct d
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,11 +218,9 @@ index f4f2c60..7b20132 100644
|
|||||||
|
|
||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||||
/*
|
/*
|
||||||
diff --git a/ecm_db/ecm_db_connection.c b/ecm_db/ecm_db_connection.c
|
|
||||||
index 77e5f3f..4bd47c3 100644
|
|
||||||
--- a/ecm_db/ecm_db_connection.c
|
--- a/ecm_db/ecm_db_connection.c
|
||||||
+++ b/ecm_db/ecm_db_connection.c
|
+++ b/ecm_db/ecm_db_connection.c
|
||||||
@@ -3776,11 +3776,8 @@ static struct file_operations ecm_db_connection_count_simple_fops = {
|
@@ -4378,11 +4378,8 @@ static struct file_operations ecm_db_con
|
||||||
*/
|
*/
|
||||||
bool ecm_db_connection_init(struct dentry *dentry)
|
bool ecm_db_connection_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -252,8 +234,6 @@ index 77e5f3f..4bd47c3 100644
|
|||||||
|
|
||||||
if (!debugfs_create_file("connection_count_simple", S_IRUGO, dentry,
|
if (!debugfs_create_file("connection_count_simple", S_IRUGO, dentry,
|
||||||
NULL, &ecm_db_connection_count_simple_fops)) {
|
NULL, &ecm_db_connection_count_simple_fops)) {
|
||||||
diff --git a/ecm_db/ecm_db_host.c b/ecm_db/ecm_db_host.c
|
|
||||||
index 8820576..38a21b4 100644
|
|
||||||
--- a/ecm_db/ecm_db_host.c
|
--- a/ecm_db/ecm_db_host.c
|
||||||
+++ b/ecm_db/ecm_db_host.c
|
+++ b/ecm_db/ecm_db_host.c
|
||||||
@@ -771,11 +771,8 @@ EXPORT_SYMBOL(ecm_db_host_alloc);
|
@@ -771,11 +771,8 @@ EXPORT_SYMBOL(ecm_db_host_alloc);
|
||||||
@ -270,8 +250,6 @@ index 8820576..38a21b4 100644
|
|||||||
|
|
||||||
ecm_db_host_table = vzalloc(sizeof(struct ecm_db_host_instance *) * ECM_DB_HOST_HASH_SLOTS);
|
ecm_db_host_table = vzalloc(sizeof(struct ecm_db_host_instance *) * ECM_DB_HOST_HASH_SLOTS);
|
||||||
if (!ecm_db_host_table) {
|
if (!ecm_db_host_table) {
|
||||||
diff --git a/ecm_db/ecm_db_iface.c b/ecm_db/ecm_db_iface.c
|
|
||||||
index 53c254c..f9ad269 100644
|
|
||||||
--- a/ecm_db/ecm_db_iface.c
|
--- a/ecm_db/ecm_db_iface.c
|
||||||
+++ b/ecm_db/ecm_db_iface.c
|
+++ b/ecm_db/ecm_db_iface.c
|
||||||
@@ -3706,11 +3706,8 @@ EXPORT_SYMBOL(ecm_db_iface_alloc);
|
@@ -3706,11 +3706,8 @@ EXPORT_SYMBOL(ecm_db_iface_alloc);
|
||||||
@ -288,8 +266,6 @@ index 53c254c..f9ad269 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/ecm_db/ecm_db_mapping.c b/ecm_db/ecm_db_mapping.c
|
|
||||||
index 1d06ef4..8574d20 100644
|
|
||||||
--- a/ecm_db/ecm_db_mapping.c
|
--- a/ecm_db/ecm_db_mapping.c
|
||||||
+++ b/ecm_db/ecm_db_mapping.c
|
+++ b/ecm_db/ecm_db_mapping.c
|
||||||
@@ -807,11 +807,8 @@ EXPORT_SYMBOL(ecm_db_mapping_alloc);
|
@@ -807,11 +807,8 @@ EXPORT_SYMBOL(ecm_db_mapping_alloc);
|
||||||
@ -306,8 +282,6 @@ index 1d06ef4..8574d20 100644
|
|||||||
|
|
||||||
ecm_db_mapping_table = vzalloc(sizeof(struct ecm_db_mapping_instance *) * ECM_DB_MAPPING_HASH_SLOTS);
|
ecm_db_mapping_table = vzalloc(sizeof(struct ecm_db_mapping_instance *) * ECM_DB_MAPPING_HASH_SLOTS);
|
||||||
if (!ecm_db_mapping_table) {
|
if (!ecm_db_mapping_table) {
|
||||||
diff --git a/ecm_db/ecm_db_node.c b/ecm_db/ecm_db_node.c
|
|
||||||
index 89b386f..513fb84 100644
|
|
||||||
--- a/ecm_db/ecm_db_node.c
|
--- a/ecm_db/ecm_db_node.c
|
||||||
+++ b/ecm_db/ecm_db_node.c
|
+++ b/ecm_db/ecm_db_node.c
|
||||||
@@ -1211,11 +1211,8 @@ keep_sni_conn:
|
@@ -1211,11 +1211,8 @@ keep_sni_conn:
|
||||||
@ -324,11 +298,9 @@ index 89b386f..513fb84 100644
|
|||||||
|
|
||||||
ecm_db_node_table = vzalloc(sizeof(struct ecm_db_node_instance *) * ECM_DB_NODE_HASH_SLOTS);
|
ecm_db_node_table = vzalloc(sizeof(struct ecm_db_node_instance *) * ECM_DB_NODE_HASH_SLOTS);
|
||||||
if (!ecm_db_node_table) {
|
if (!ecm_db_node_table) {
|
||||||
diff --git a/ecm_state.c b/ecm_state.c
|
|
||||||
index b4348a8..2424b58 100644
|
|
||||||
--- a/ecm_state.c
|
--- a/ecm_state.c
|
||||||
+++ b/ecm_state.c
|
+++ b/ecm_state.c
|
||||||
@@ -894,17 +894,11 @@ int ecm_state_init(struct dentry *dentry)
|
@@ -894,17 +894,11 @@ int ecm_state_init(struct dentry *dentry
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,11 +322,9 @@ index b4348a8..2424b58 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Register a char device that we will use to provide a dump of our state
|
* Register a char device that we will use to provide a dump of our state
|
||||||
diff --git a/frontends/cmn/ecm_bond_notifier.c b/frontends/cmn/ecm_bond_notifier.c
|
|
||||||
index ca7fb45..f7e75e7 100644
|
|
||||||
--- a/frontends/cmn/ecm_bond_notifier.c
|
--- a/frontends/cmn/ecm_bond_notifier.c
|
||||||
+++ b/frontends/cmn/ecm_bond_notifier.c
|
+++ b/frontends/cmn/ecm_bond_notifier.c
|
||||||
@@ -241,12 +241,8 @@ int ecm_bond_notifier_init(struct dentry *dentry)
|
@@ -241,12 +241,8 @@ int ecm_bond_notifier_init(struct dentry
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -369,8 +339,6 @@ index ca7fb45..f7e75e7 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Register Link Aggregation callbacks with the bonding driver
|
* Register Link Aggregation callbacks with the bonding driver
|
||||||
diff --git a/frontends/ecm_front_end_ipv4.c b/frontends/ecm_front_end_ipv4.c
|
|
||||||
index 8bf040b..3b060f1 100644
|
|
||||||
--- a/frontends/ecm_front_end_ipv4.c
|
--- a/frontends/ecm_front_end_ipv4.c
|
||||||
+++ b/frontends/ecm_front_end_ipv4.c
|
+++ b/frontends/ecm_front_end_ipv4.c
|
||||||
@@ -383,11 +383,8 @@ void ecm_front_end_ipv4_stop(int num)
|
@@ -383,11 +383,8 @@ void ecm_front_end_ipv4_stop(int num)
|
||||||
@ -387,8 +355,6 @@ index 8bf040b..3b060f1 100644
|
|||||||
|
|
||||||
return ecm_ipv4_init(dentry);
|
return ecm_ipv4_init(dentry);
|
||||||
}
|
}
|
||||||
diff --git a/frontends/ecm_front_end_ipv6.c b/frontends/ecm_front_end_ipv6.c
|
|
||||||
index c6f09a8..2450346 100644
|
|
||||||
--- a/frontends/ecm_front_end_ipv6.c
|
--- a/frontends/ecm_front_end_ipv6.c
|
||||||
+++ b/frontends/ecm_front_end_ipv6.c
|
+++ b/frontends/ecm_front_end_ipv6.c
|
||||||
@@ -262,11 +262,8 @@ void ecm_front_end_ipv6_stop(int num)
|
@@ -262,11 +262,8 @@ void ecm_front_end_ipv6_stop(int num)
|
||||||
@ -405,11 +371,9 @@ index c6f09a8..2450346 100644
|
|||||||
|
|
||||||
return ecm_ipv6_init(dentry);
|
return ecm_ipv6_init(dentry);
|
||||||
}
|
}
|
||||||
diff --git a/frontends/nss/ecm_nss_ipv4.c b/frontends/nss/ecm_nss_ipv4.c
|
|
||||||
index 0fee3e8..5b0ce29 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ipv4.c
|
--- a/frontends/nss/ecm_nss_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_ipv4.c
|
+++ b/frontends/nss/ecm_nss_ipv4.c
|
||||||
@@ -1009,41 +1009,23 @@ int ecm_nss_ipv4_init(struct dentry *dentry)
|
@@ -1009,41 +1009,23 @@ int ecm_nss_ipv4_init(struct dentry *den
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,7 +427,7 @@ index 0fee3e8..5b0ce29 100644
|
|||||||
|
|
||||||
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_nss_ipv4_dentry,
|
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_nss_ipv4_dentry,
|
||||||
NULL, &ecm_nss_ipv4_accel_limit_mode_fops)) {
|
NULL, &ecm_nss_ipv4_accel_limit_mode_fops)) {
|
||||||
@@ -1074,11 +1056,8 @@ int ecm_nss_ipv4_init(struct dentry *dentry)
|
@@ -1074,11 +1056,8 @@ int ecm_nss_ipv4_init(struct dentry *den
|
||||||
goto task_cleanup;
|
goto task_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -477,11 +441,9 @@ index 0fee3e8..5b0ce29 100644
|
|||||||
|
|
||||||
#ifdef ECM_NON_PORTED_SUPPORT_ENABLE
|
#ifdef ECM_NON_PORTED_SUPPORT_ENABLE
|
||||||
if (!ecm_nss_non_ported_ipv4_debugfs_init(ecm_nss_ipv4_dentry)) {
|
if (!ecm_nss_non_ported_ipv4_debugfs_init(ecm_nss_ipv4_dentry)) {
|
||||||
diff --git a/frontends/nss/ecm_nss_ipv6.c b/frontends/nss/ecm_nss_ipv6.c
|
|
||||||
index ee6b434..8d13f68 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ipv6.c
|
--- a/frontends/nss/ecm_nss_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_ipv6.c
|
+++ b/frontends/nss/ecm_nss_ipv6.c
|
||||||
@@ -986,41 +986,23 @@ int ecm_nss_ipv6_init(struct dentry *dentry)
|
@@ -986,41 +986,23 @@ int ecm_nss_ipv6_init(struct dentry *den
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -535,7 +497,7 @@ index ee6b434..8d13f68 100644
|
|||||||
|
|
||||||
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_nss_ipv6_dentry,
|
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_nss_ipv6_dentry,
|
||||||
NULL, &ecm_nss_ipv6_accel_limit_mode_fops)) {
|
NULL, &ecm_nss_ipv6_accel_limit_mode_fops)) {
|
||||||
@@ -1051,11 +1033,8 @@ int ecm_nss_ipv6_init(struct dentry *dentry)
|
@@ -1051,11 +1033,8 @@ int ecm_nss_ipv6_init(struct dentry *den
|
||||||
goto task_cleanup;
|
goto task_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -549,8 +511,6 @@ index ee6b434..8d13f68 100644
|
|||||||
|
|
||||||
#ifdef ECM_NON_PORTED_SUPPORT_ENABLE
|
#ifdef ECM_NON_PORTED_SUPPORT_ENABLE
|
||||||
if (!ecm_nss_non_ported_ipv6_debugfs_init(ecm_nss_ipv6_dentry)) {
|
if (!ecm_nss_non_ported_ipv6_debugfs_init(ecm_nss_ipv6_dentry)) {
|
||||||
diff --git a/frontends/nss/ecm_nss_multicast_ipv4.c b/frontends/nss/ecm_nss_multicast_ipv4.c
|
|
||||||
index a3dcb79..c9e92de 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_multicast_ipv4.c
|
--- a/frontends/nss/ecm_nss_multicast_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_multicast_ipv4.c
|
+++ b/frontends/nss/ecm_nss_multicast_ipv4.c
|
||||||
@@ -2619,14 +2619,8 @@ find_next_tuple:
|
@@ -2619,14 +2619,8 @@ find_next_tuple:
|
||||||
@ -569,7 +529,7 @@ index a3dcb79..c9e92de 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -2645,11 +2639,8 @@ void ecm_nss_multicast_ipv4_stop(int num)
|
@@ -2645,11 +2639,8 @@ void ecm_nss_multicast_ipv4_stop(int num
|
||||||
*/
|
*/
|
||||||
int ecm_nss_multicast_ipv4_init(struct dentry *dentry)
|
int ecm_nss_multicast_ipv4_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -585,7 +545,7 @@ index a3dcb79..c9e92de 100644
|
|||||||
* Register multicast update callback to MCS snooper
|
* Register multicast update callback to MCS snooper
|
||||||
--- a/frontends/nss/ecm_nss_multicast_ipv6.c
|
--- a/frontends/nss/ecm_nss_multicast_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_multicast_ipv6.c
|
+++ b/frontends/nss/ecm_nss_multicast_ipv6.c
|
||||||
@@ -2554,14 +2554,8 @@ static void ecm_nss_multicast_ipv6_mfc_update_event_callback(struct in6_addr *gr
|
@@ -2554,14 +2554,8 @@ static void ecm_nss_multicast_ipv6_mfc_u
|
||||||
*/
|
*/
|
||||||
bool ecm_nss_multicast_ipv6_debugfs_init(struct dentry *dentry)
|
bool ecm_nss_multicast_ipv6_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -601,7 +561,7 @@ index a3dcb79..c9e92de 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -2580,11 +2574,8 @@ void ecm_nss_multicast_ipv6_stop(int num)
|
@@ -2580,11 +2574,8 @@ void ecm_nss_multicast_ipv6_stop(int num
|
||||||
*/
|
*/
|
||||||
int ecm_nss_multicast_ipv6_init(struct dentry *dentry)
|
int ecm_nss_multicast_ipv6_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -615,11 +575,9 @@ index a3dcb79..c9e92de 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Register multicast update callback to MCS snooper
|
* Register multicast update callback to MCS snooper
|
||||||
diff --git a/frontends/nss/ecm_nss_non_ported_ipv4.c b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
|
||||||
index ec4f365..77de341 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_non_ported_ipv4.c
|
--- a/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||||
@@ -1830,11 +1830,8 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_ins
|
@@ -1830,11 +1830,8 @@ struct ecm_front_end_connection_instance
|
||||||
*/
|
*/
|
||||||
bool ecm_nss_non_ported_ipv4_debugfs_init(struct dentry *dentry)
|
bool ecm_nss_non_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -633,11 +591,9 @@ index ec4f365..77de341 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/nss/ecm_nss_non_ported_ipv6.c b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
|
||||||
index 13e0cc5..91ad7aa 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_non_ported_ipv6.c
|
--- a/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||||
@@ -1656,11 +1656,8 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_ins
|
@@ -1656,11 +1656,8 @@ struct ecm_front_end_connection_instance
|
||||||
*/
|
*/
|
||||||
bool ecm_nss_non_ported_ipv6_debugfs_init(struct dentry *dentry)
|
bool ecm_nss_non_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -651,11 +607,9 @@ index 13e0cc5..91ad7aa 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/nss/ecm_nss_ported_ipv4.c b/frontends/nss/ecm_nss_ported_ipv4.c
|
|
||||||
index 6375b6b..ea997e3 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
||||||
@@ -1896,21 +1896,11 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instanc
|
@@ -1896,21 +1896,11 @@ struct ecm_front_end_connection_instance
|
||||||
*/
|
*/
|
||||||
bool ecm_nss_ported_ipv4_debugfs_init(struct dentry *dentry)
|
bool ecm_nss_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -669,24 +623,22 @@ index 6375b6b..ea997e3 100644
|
|||||||
- DEBUG_ERROR("Failed to create ecm nss ipv4 udp_accelerated_count file in debugfs\n");
|
- DEBUG_ERROR("Failed to create ecm nss ipv4 udp_accelerated_count file in debugfs\n");
|
||||||
- return false;
|
- return false;
|
||||||
- }
|
- }
|
||||||
-
|
+ debugfs_create_u32("tcp_accelerated_count", S_IRUGO, dentry,
|
||||||
|
+ &ecm_nss_ported_ipv4_accelerated_count[ECM_FRONT_END_PORTED_PROTO_TCP]);
|
||||||
|
|
||||||
- if (!debugfs_create_u32("tcp_accelerated_count", S_IRUGO, dentry,
|
- if (!debugfs_create_u32("tcp_accelerated_count", S_IRUGO, dentry,
|
||||||
- &ecm_nss_ported_ipv4_accelerated_count[ECM_FRONT_END_PORTED_PROTO_TCP])) {
|
- &ecm_nss_ported_ipv4_accelerated_count[ECM_FRONT_END_PORTED_PROTO_TCP])) {
|
||||||
- DEBUG_ERROR("Failed to create ecm nss ipv4 tcp_accelerated_count file in debugfs\n");
|
- DEBUG_ERROR("Failed to create ecm nss ipv4 tcp_accelerated_count file in debugfs\n");
|
||||||
- debugfs_remove(udp_dentry);
|
- debugfs_remove(udp_dentry);
|
||||||
- return false;
|
- return false;
|
||||||
- }
|
- }
|
||||||
+ debugfs_create_u32("tcp_accelerated_count", S_IRUGO, dentry,
|
-
|
||||||
+ &ecm_nss_ported_ipv4_accelerated_count[ECM_FRONT_END_PORTED_PROTO_TCP]);
|
|
||||||
|
|
||||||
- return true;
|
- return true;
|
||||||
+ return true;
|
+ return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/nss/ecm_nss_ported_ipv6.c b/frontends/nss/ecm_nss_ported_ipv6.c
|
|
||||||
index 1be8a58..451a557 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
||||||
@@ -1809,21 +1809,11 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instanc
|
@@ -1809,21 +1809,11 @@ struct ecm_front_end_connection_instance
|
||||||
*/
|
*/
|
||||||
bool ecm_nss_ported_ipv6_debugfs_init(struct dentry *dentry)
|
bool ecm_nss_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -712,11 +664,9 @@ index 1be8a58..451a557 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ipv4.c b/frontends/sfe/ecm_sfe_ipv4.c
|
|
||||||
index 2076bad..3f30821 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ipv4.c
|
--- a/frontends/sfe/ecm_sfe_ipv4.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ipv4.c
|
+++ b/frontends/sfe/ecm_sfe_ipv4.c
|
||||||
@@ -925,48 +925,27 @@ int ecm_sfe_ipv4_init(struct dentry *dentry)
|
@@ -949,48 +949,27 @@ int ecm_sfe_ipv4_init(struct dentry *den
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_XFRM
|
#ifdef CONFIG_XFRM
|
||||||
@ -779,11 +729,9 @@ index 2076bad..3f30821 100644
|
|||||||
|
|
||||||
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_sfe_ipv4_dentry,
|
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_sfe_ipv4_dentry,
|
||||||
NULL, &ecm_sfe_ipv4_accel_limit_mode_fops)) {
|
NULL, &ecm_sfe_ipv4_accel_limit_mode_fops)) {
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ipv6.c b/frontends/sfe/ecm_sfe_ipv6.c
|
|
||||||
index e8981ee..54fdbf3 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ipv6.c
|
--- a/frontends/sfe/ecm_sfe_ipv6.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ipv6.c
|
+++ b/frontends/sfe/ecm_sfe_ipv6.c
|
||||||
@@ -917,48 +917,27 @@ int ecm_sfe_ipv6_init(struct dentry *dentry)
|
@@ -944,48 +944,27 @@ int ecm_sfe_ipv6_init(struct dentry *den
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_XFRM
|
#ifdef CONFIG_XFRM
|
||||||
@ -846,11 +794,9 @@ index e8981ee..54fdbf3 100644
|
|||||||
|
|
||||||
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_sfe_ipv6_dentry,
|
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_sfe_ipv6_dentry,
|
||||||
NULL, &ecm_sfe_ipv6_accel_limit_mode_fops)) {
|
NULL, &ecm_sfe_ipv6_accel_limit_mode_fops)) {
|
||||||
diff --git a/frontends/sfe/ecm_sfe_non_ported_ipv4.c b/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
|
||||||
index d7cad2a..696bd13 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
--- a/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
+++ b/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
||||||
@@ -1908,11 +1908,8 @@ struct ecm_front_end_connection_instance *ecm_sfe_non_ported_ipv4_connection_ins
|
@@ -1908,11 +1908,8 @@ struct ecm_front_end_connection_instance
|
||||||
*/
|
*/
|
||||||
bool ecm_sfe_non_ported_ipv4_debugfs_init(struct dentry *dentry)
|
bool ecm_sfe_non_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -864,11 +810,9 @@ index d7cad2a..696bd13 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/sfe/ecm_sfe_non_ported_ipv6.c b/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
|
||||||
index a9fb637..fe06de4 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
--- a/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
+++ b/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
||||||
@@ -1726,11 +1726,8 @@ struct ecm_front_end_connection_instance *ecm_sfe_non_ported_ipv6_connection_ins
|
@@ -1726,11 +1726,8 @@ struct ecm_front_end_connection_instance
|
||||||
*/
|
*/
|
||||||
bool ecm_sfe_non_ported_ipv6_debugfs_init(struct dentry *dentry)
|
bool ecm_sfe_non_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -882,11 +826,9 @@ index a9fb637..fe06de4 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ported_ipv4.c b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
|
||||||
index fc2c4ba..53f5b07 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ported_ipv4.c
|
--- a/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
+++ b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||||
@@ -2035,12 +2035,8 @@ bool ecm_sfe_ported_ipv4_debugfs_init(struct dentry *dentry)
|
@@ -2070,12 +2070,8 @@ bool ecm_sfe_ported_ipv4_debugfs_init(st
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -901,11 +843,9 @@ index fc2c4ba..53f5b07 100644
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ported_ipv6.c b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
|
||||||
index 90d642d..ae04cb4 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ported_ipv6.c
|
--- a/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
+++ b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||||
@@ -1982,12 +1982,8 @@ bool ecm_sfe_ported_ipv6_debugfs_init(struct dentry *dentry)
|
@@ -2018,12 +2018,8 @@ bool ecm_sfe_ported_ipv6_debugfs_init(st
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,11 +13,9 @@ Signed-off-by: Dirk Buchwalder buchwalder@posteo.de
|
|||||||
frontends/nss/ecm_nss_ipv6.c | 4 ++--
|
frontends/nss/ecm_nss_ipv6.c | 4 ++--
|
||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/frontends/nss/ecm_nss_ipv4.c b/frontends/nss/ecm_nss_ipv4.c
|
|
||||||
index 5b0ce29..719a747 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ipv4.c
|
--- a/frontends/nss/ecm_nss_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_ipv4.c
|
+++ b/frontends/nss/ecm_nss_ipv4.c
|
||||||
@@ -700,7 +700,7 @@ static void ecm_nss_ipv4_stats_sync_req_work(struct work_struct *work)
|
@@ -700,7 +700,7 @@ static void ecm_nss_ipv4_stats_sync_req_
|
||||||
}
|
}
|
||||||
spin_unlock_bh(&ecm_nss_ipv4_lock);
|
spin_unlock_bh(&ecm_nss_ipv4_lock);
|
||||||
|
|
||||||
@ -26,7 +24,7 @@ index 5b0ce29..719a747 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* If index is 0, we are starting a new round, but if we still have time remain
|
* If index is 0, we are starting a new round, but if we still have time remain
|
||||||
@@ -714,7 +714,7 @@ static void ecm_nss_ipv4_stats_sync_req_work(struct work_struct *work)
|
@@ -714,7 +714,7 @@ static void ecm_nss_ipv4_stats_sync_req_
|
||||||
}
|
}
|
||||||
|
|
||||||
if (time_after(ecm_nss_ipv4_next_req_time, current_jiffies)) {
|
if (time_after(ecm_nss_ipv4_next_req_time, current_jiffies)) {
|
||||||
@ -35,11 +33,9 @@ index 5b0ce29..719a747 100644
|
|||||||
}
|
}
|
||||||
ecm_nss_ipv4_roll_check_jiffies = jiffies;
|
ecm_nss_ipv4_roll_check_jiffies = jiffies;
|
||||||
ecm_nss_ipv4_next_req_time = ecm_nss_ipv4_roll_check_jiffies + ECM_NSS_IPV4_STATS_SYNC_PERIOD;
|
ecm_nss_ipv4_next_req_time = ecm_nss_ipv4_roll_check_jiffies + ECM_NSS_IPV4_STATS_SYNC_PERIOD;
|
||||||
diff --git a/frontends/nss/ecm_nss_ipv6.c b/frontends/nss/ecm_nss_ipv6.c
|
|
||||||
index 8d13f68..67ee364 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ipv6.c
|
--- a/frontends/nss/ecm_nss_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_ipv6.c
|
+++ b/frontends/nss/ecm_nss_ipv6.c
|
||||||
@@ -676,7 +676,7 @@ static void ecm_nss_ipv6_stats_sync_req_work(struct work_struct *work)
|
@@ -676,7 +676,7 @@ static void ecm_nss_ipv6_stats_sync_req_
|
||||||
}
|
}
|
||||||
spin_unlock_bh(&ecm_nss_ipv6_lock);
|
spin_unlock_bh(&ecm_nss_ipv6_lock);
|
||||||
|
|
||||||
@ -48,7 +44,7 @@ index 8d13f68..67ee364 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* If index is 0, we are starting a new round, but if we still have time remain
|
* If index is 0, we are starting a new round, but if we still have time remain
|
||||||
@@ -690,7 +690,7 @@ static void ecm_nss_ipv6_stats_sync_req_work(struct work_struct *work)
|
@@ -690,7 +690,7 @@ static void ecm_nss_ipv6_stats_sync_req_
|
||||||
}
|
}
|
||||||
|
|
||||||
if (time_after(ecm_nss_ipv6_next_req_time, current_jiffies)) {
|
if (time_after(ecm_nss_ipv6_next_req_time, current_jiffies)) {
|
||||||
|
|||||||
@ -11,11 +11,9 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|||||||
ecm_interface.c | 9 +++++++++
|
ecm_interface.c | 9 +++++++++
|
||||||
1 file changed, 9 insertions(+)
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
diff --git a/ecm_interface.c b/ecm_interface.c
|
|
||||||
index b461456..6be872a 100644
|
|
||||||
--- a/ecm_interface.c
|
--- a/ecm_interface.c
|
||||||
+++ b/ecm_interface.c
|
+++ b/ecm_interface.c
|
||||||
@@ -7775,9 +7775,13 @@ static int ecm_interface_wifi_event_handler(unsigned char *buf, int len)
|
@@ -8012,9 +8012,13 @@ static int ecm_interface_wifi_event_hand
|
||||||
static int ecm_interface_wifi_event_rx(struct socket *sock, struct sockaddr_nl *addr, unsigned char *buf, int len)
|
static int ecm_interface_wifi_event_rx(struct socket *sock, struct sockaddr_nl *addr, unsigned char *buf, int len)
|
||||||
{
|
{
|
||||||
struct msghdr msg;
|
struct msghdr msg;
|
||||||
@ -30,7 +28,7 @@ index b461456..6be872a 100644
|
|||||||
|
|
||||||
iov.iov_base = buf;
|
iov.iov_base = buf;
|
||||||
iov.iov_len = len;
|
iov.iov_len = len;
|
||||||
@@ -7787,7 +7791,8 @@ static int ecm_interface_wifi_event_rx(struct socket *sock, struct sockaddr_nl *
|
@@ -8024,7 +8028,8 @@ static int ecm_interface_wifi_event_rx(s
|
||||||
msg.msg_namelen = sizeof(struct sockaddr_nl);
|
msg.msg_namelen = sizeof(struct sockaddr_nl);
|
||||||
msg.msg_control = NULL;
|
msg.msg_control = NULL;
|
||||||
msg.msg_controllen = 0;
|
msg.msg_controllen = 0;
|
||||||
@ -40,7 +38,7 @@ index b461456..6be872a 100644
|
|||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
iov_iter_init(&msg.msg_iter, READ, &iov, 1, len);
|
iov_iter_init(&msg.msg_iter, READ, &iov, 1, len);
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0))
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0))
|
||||||
@@ -7798,6 +7803,9 @@ static int ecm_interface_wifi_event_rx(struct socket *sock, struct sockaddr_nl *
|
@@ -8035,6 +8040,9 @@ static int ecm_interface_wifi_event_rx(s
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
|
|||||||
@ -7,8 +7,6 @@ Subject: [PATCH] treewide: rework notifier changes for 5.15
|
|||||||
ecm_conntrack_notifier.c | 35 +++++++++++++++--------------------
|
ecm_conntrack_notifier.c | 35 +++++++++++++++--------------------
|
||||||
1 file changed, 15 insertions(+), 20 deletions(-)
|
1 file changed, 15 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
diff --git a/ecm_conntrack_notifier.c b/ecm_conntrack_notifier.c
|
|
||||||
index 5f802b7..50e8566 100644
|
|
||||||
--- a/ecm_conntrack_notifier.c
|
--- a/ecm_conntrack_notifier.c
|
||||||
+++ b/ecm_conntrack_notifier.c
|
+++ b/ecm_conntrack_notifier.c
|
||||||
@@ -332,15 +332,8 @@ EXPORT_SYMBOL(ecm_conntrack_ipv4_event);
|
@@ -332,15 +332,8 @@ EXPORT_SYMBOL(ecm_conntrack_ipv4_event);
|
||||||
@ -28,7 +26,7 @@ index 5f802b7..50e8566 100644
|
|||||||
struct nf_conn *ct = item->ct;
|
struct nf_conn *ct = item->ct;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -387,23 +380,17 @@ static int ecm_conntrack_event(unsigned int events, struct nf_ct_event *item)
|
@@ -387,23 +380,17 @@ static int ecm_conntrack_event(unsigned
|
||||||
return NOTIFY_DONE;
|
return NOTIFY_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,7 +55,7 @@ index 5f802b7..50e8566 100644
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -436,12 +423,16 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
@@ -436,12 +423,16 @@ int ecm_conntrack_notifier_init(struct d
|
||||||
/*
|
/*
|
||||||
* Eventing subsystem is available so we register a notifier hook to get fast notifications of expired connections
|
* Eventing subsystem is available so we register a notifier hook to get fast notifications of expired connections
|
||||||
*/
|
*/
|
||||||
@ -72,13 +70,13 @@ index 5f802b7..50e8566 100644
|
|||||||
+#else
|
+#else
|
||||||
+ nf_conntrack_register_notifier(&init_net, &ecm_conntrack_notifier);
|
+ nf_conntrack_register_notifier(&init_net, &ecm_conntrack_notifier);
|
||||||
+#endif
|
+#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
/*
|
||||||
@@ -455,7 +446,11 @@ void ecm_conntrack_notifier_exit(void)
|
* Hold netns reference to keep the basic conntrack alive and
|
||||||
{
|
@@ -483,7 +474,11 @@ void ecm_conntrack_notifier_exit(void)
|
||||||
DEBUG_INFO("ECM Conntrack Notifier exit\n");
|
#ifdef ECM_IPV6_ENABLE
|
||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
nf_ct_netns_put(&init_net, NFPROTO_IPV6);
|
||||||
|
#endif
|
||||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
|
||||||
nf_conntrack_unregister_notifier(&init_net, &ecm_conntrack_notifier);
|
nf_conntrack_unregister_notifier(&init_net, &ecm_conntrack_notifier);
|
||||||
+#else
|
+#else
|
||||||
|
|||||||
@ -10,15 +10,12 @@ Subject: [PATCH] frontends: drop use of static be_liberal and no_window_check
|
|||||||
frontends/sfe/ecm_sfe_ported_ipv6.c | 22 ++++++++--------------
|
frontends/sfe/ecm_sfe_ported_ipv6.c | 22 ++++++++--------------
|
||||||
4 files changed, 31 insertions(+), 55 deletions(-)
|
4 files changed, 31 insertions(+), 55 deletions(-)
|
||||||
|
|
||||||
diff --git a/frontends/nss/ecm_nss_ported_ipv4.c b/frontends/nss/ecm_nss_ported_ipv4.c
|
|
||||||
index 6375b6b..ed9c10b 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
||||||
@@ -99,14 +99,6 @@
|
@@ -100,14 +100,6 @@ static int ecm_nss_ported_ipv4_accelerat
|
||||||
static int ecm_nss_ported_ipv4_accelerated_count[ECM_FRONT_END_PORTED_PROTO_MAX] = {0};
|
|
||||||
/* Array of Number of TCP and UDP connections currently offloaded */
|
/* Array of Number of TCP and UDP connections currently offloaded */
|
||||||
|
|
||||||
-/*
|
/*
|
||||||
- * Expose what should be a static flag in the TCP connection tracker.
|
- * Expose what should be a static flag in the TCP connection tracker.
|
||||||
- */
|
- */
|
||||||
-#ifdef ECM_OPENWRT_SUPPORT
|
-#ifdef ECM_OPENWRT_SUPPORT
|
||||||
@ -26,10 +23,11 @@ index 6375b6b..ed9c10b 100644
|
|||||||
-#endif
|
-#endif
|
||||||
-extern int nf_ct_tcp_be_liberal;
|
-extern int nf_ct_tcp_be_liberal;
|
||||||
-
|
-
|
||||||
/*
|
-/*
|
||||||
* ecm_nss_ported_ipv4_connection_callback()
|
* ecm_nss_ported_ipv4_connection_callback()
|
||||||
* Callback for handling create ack/nack calls.
|
* Callback for handling create ack/nack calls.
|
||||||
@@ -343,6 +335,12 @@ static void ecm_nss_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
*/
|
||||||
|
@@ -343,6 +335,12 @@ static void ecm_nss_ported_ipv4_connecti
|
||||||
uint8_t dest_mac_xlate[ETH_ALEN];
|
uint8_t dest_mac_xlate[ETH_ALEN];
|
||||||
ecm_db_direction_t ecm_dir;
|
ecm_db_direction_t ecm_dir;
|
||||||
ecm_front_end_acceleration_mode_t result_mode;
|
ecm_front_end_acceleration_mode_t result_mode;
|
||||||
@ -40,9 +38,9 @@ index 6375b6b..ed9c10b 100644
|
|||||||
+ tn = nf_tcp_pernet(net);
|
+ tn = nf_tcp_pernet(net);
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||||
|
|
||||||
@@ -1212,12 +1210,8 @@ static void ecm_nss_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
@@ -1212,12 +1210,8 @@ static void ecm_nss_ported_ipv4_connecti
|
||||||
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
||||||
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
||||||
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||||
@ -57,15 +55,12 @@ index 6375b6b..ed9c10b 100644
|
|||||||
|| (ct->proto.tcp.seen[return_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) {
|
|| (ct->proto.tcp.seen[return_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) {
|
||||||
nircm->rule_flags |= NSS_IPV4_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
nircm->rule_flags |= NSS_IPV4_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
||||||
}
|
}
|
||||||
diff --git a/frontends/nss/ecm_nss_ported_ipv6.c b/frontends/nss/ecm_nss_ported_ipv6.c
|
|
||||||
index 1be8a58..3062c12 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
||||||
@@ -100,14 +100,6 @@
|
@@ -101,14 +101,6 @@ static int ecm_nss_ported_ipv6_accelerat
|
||||||
static int ecm_nss_ported_ipv6_accelerated_count[ECM_FRONT_END_PORTED_PROTO_MAX] = {0};
|
|
||||||
/* Array of Number of TCP and UDP connections currently offloaded */
|
/* Array of Number of TCP and UDP connections currently offloaded */
|
||||||
|
|
||||||
-/*
|
/*
|
||||||
- * Expose what should be a static flag in the TCP connection tracker.
|
- * Expose what should be a static flag in the TCP connection tracker.
|
||||||
- */
|
- */
|
||||||
-#ifdef ECM_OPENWRT_SUPPORT
|
-#ifdef ECM_OPENWRT_SUPPORT
|
||||||
@ -73,10 +68,11 @@ index 1be8a58..3062c12 100644
|
|||||||
-#endif
|
-#endif
|
||||||
-extern int nf_ct_tcp_be_liberal;
|
-extern int nf_ct_tcp_be_liberal;
|
||||||
-
|
-
|
||||||
/*
|
-/*
|
||||||
* ecm_nss_ported_ipv6_connection_callback()
|
* ecm_nss_ported_ipv6_connection_callback()
|
||||||
* Callback for handling create ack/nack calls.
|
* Callback for handling create ack/nack calls.
|
||||||
@@ -348,6 +340,12 @@ static void ecm_nss_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
*/
|
||||||
|
@@ -348,6 +340,12 @@ static void ecm_nss_ported_ipv6_connecti
|
||||||
ip_addr_t src_ip;
|
ip_addr_t src_ip;
|
||||||
ip_addr_t dest_ip;
|
ip_addr_t dest_ip;
|
||||||
ecm_front_end_acceleration_mode_t result_mode;
|
ecm_front_end_acceleration_mode_t result_mode;
|
||||||
@ -87,9 +83,9 @@ index 1be8a58..3062c12 100644
|
|||||||
+ tn = nf_tcp_pernet(net);
|
+ tn = nf_tcp_pernet(net);
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||||
|
|
||||||
@@ -1138,11 +1136,7 @@ static void ecm_nss_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
@@ -1138,11 +1136,7 @@ static void ecm_nss_ported_ipv6_connecti
|
||||||
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
||||||
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
||||||
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||||
@ -102,15 +98,12 @@ index 1be8a58..3062c12 100644
|
|||||||
|| (ct->proto.tcp.seen[flow_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)
|
|| (ct->proto.tcp.seen[flow_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)
|
||||||
|| (ct->proto.tcp.seen[return_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) {
|
|| (ct->proto.tcp.seen[return_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) {
|
||||||
nircm->rule_flags |= NSS_IPV6_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
nircm->rule_flags |= NSS_IPV6_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ported_ipv4.c b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
|
||||||
index 6e375f8..e5ae593 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ported_ipv4.c
|
--- a/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
+++ b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||||
@@ -92,14 +92,6 @@
|
@@ -93,14 +93,6 @@ static int ecm_sfe_ported_ipv4_accelerat
|
||||||
static int ecm_sfe_ported_ipv4_accelerated_count[ECM_FRONT_END_PORTED_PROTO_MAX] = {0};
|
|
||||||
/* Array of Number of TCP and UDP connections currently offloaded */
|
/* Array of Number of TCP and UDP connections currently offloaded */
|
||||||
|
|
||||||
-/*
|
/*
|
||||||
- * Expose what should be a static flag in the TCP connection tracker.
|
- * Expose what should be a static flag in the TCP connection tracker.
|
||||||
- */
|
- */
|
||||||
-#ifdef ECM_OPENWRT_SUPPORT
|
-#ifdef ECM_OPENWRT_SUPPORT
|
||||||
@ -118,16 +111,17 @@ index 6e375f8..e5ae593 100644
|
|||||||
-#endif
|
-#endif
|
||||||
-extern int nf_ct_tcp_be_liberal;
|
-extern int nf_ct_tcp_be_liberal;
|
||||||
-
|
-
|
||||||
/*
|
-/*
|
||||||
* ecm_sfe_ported_ipv4_connection_callback()
|
* ecm_sfe_ported_ipv4_connection_callback()
|
||||||
* Callback for handling create ack/nack calls.
|
* Callback for handling create ack/nack calls.
|
||||||
@@ -336,11 +328,17 @@ static void ecm_sfe_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
*/
|
||||||
|
@@ -339,11 +331,17 @@ static void ecm_sfe_ported_ipv4_connecti
|
||||||
uint8_t dest_mac_xlate[ETH_ALEN];
|
uint8_t dest_mac_xlate[ETH_ALEN];
|
||||||
ecm_db_direction_t ecm_dir;
|
ecm_db_direction_t ecm_dir;
|
||||||
ecm_front_end_acceleration_mode_t result_mode;
|
ecm_front_end_acceleration_mode_t result_mode;
|
||||||
+ struct nf_tcp_net *tn;
|
+ struct nf_tcp_net *tn;
|
||||||
struct ecm_classifier_instance *aci;
|
struct ecm_classifier_instance *aci;
|
||||||
struct ecm_classifier_rule_create ecrc;
|
struct ecm_classifier_rule_create ecrc;
|
||||||
uint32_t l2_accel_bits = (ECM_SFE_COMMON_FLOW_L2_ACCEL_ALLOWED | ECM_SFE_COMMON_RETURN_L2_ACCEL_ALLOWED);
|
uint32_t l2_accel_bits = (ECM_SFE_COMMON_FLOW_L2_ACCEL_ALLOWED | ECM_SFE_COMMON_RETURN_L2_ACCEL_ALLOWED);
|
||||||
ecm_sfe_common_l2_accel_check_callback_t l2_accel_check;
|
ecm_sfe_common_l2_accel_check_callback_t l2_accel_check;
|
||||||
|
|
||||||
@ -136,10 +130,10 @@ index 6e375f8..e5ae593 100644
|
|||||||
+ tn = nf_tcp_pernet(net);
|
+ tn = nf_tcp_pernet(net);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1286,11 +1284,7 @@ static void ecm_sfe_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
@@ -1309,11 +1307,7 @@ static void ecm_sfe_ported_ipv4_connecti
|
||||||
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
||||||
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
||||||
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||||
@ -152,15 +146,12 @@ index 6e375f8..e5ae593 100644
|
|||||||
|| (ct->proto.tcp.seen[flow_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)
|
|| (ct->proto.tcp.seen[flow_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)
|
||||||
|| (ct->proto.tcp.seen[return_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) {
|
|| (ct->proto.tcp.seen[return_dir].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) {
|
||||||
nircm->rule_flags |= SFE_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
nircm->rule_flags |= SFE_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ported_ipv6.c b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
|
||||||
index f1885aa..4a6fdbd 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ported_ipv6.c
|
--- a/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
+++ b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||||
@@ -92,14 +92,6 @@
|
@@ -93,14 +93,6 @@ static int ecm_sfe_ported_ipv6_accelerat
|
||||||
static int ecm_sfe_ported_ipv6_accelerated_count[ECM_FRONT_END_PORTED_PROTO_MAX] = {0};
|
|
||||||
/* Array of Number of TCP and UDP connections currently offloaded */
|
/* Array of Number of TCP and UDP connections currently offloaded */
|
||||||
|
|
||||||
-/*
|
/*
|
||||||
- * Expose what should be a static flag in the TCP connection tracker.
|
- * Expose what should be a static flag in the TCP connection tracker.
|
||||||
- */
|
- */
|
||||||
-#ifdef ECM_OPENWRT_SUPPORT
|
-#ifdef ECM_OPENWRT_SUPPORT
|
||||||
@ -168,12 +159,13 @@ index f1885aa..4a6fdbd 100644
|
|||||||
-#endif
|
-#endif
|
||||||
-extern int nf_ct_tcp_be_liberal;
|
-extern int nf_ct_tcp_be_liberal;
|
||||||
-
|
-
|
||||||
/*
|
-/*
|
||||||
* ecm_sfe_ported_ipv6_connection_callback()
|
* ecm_sfe_ported_ipv6_connection_callback()
|
||||||
* Callback for handling create ack/nack calls.
|
* Callback for handling create ack/nack calls.
|
||||||
@@ -342,9 +334,15 @@ static void ecm_sfe_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
*/
|
||||||
struct ecm_classifier_instance *aci;
|
@@ -345,9 +337,15 @@ static void ecm_sfe_ported_ipv6_connecti
|
||||||
struct ecm_classifier_rule_create ecrc;
|
struct ecm_classifier_instance *aci;
|
||||||
|
struct ecm_classifier_rule_create ecrc;
|
||||||
ecm_front_end_acceleration_mode_t result_mode;
|
ecm_front_end_acceleration_mode_t result_mode;
|
||||||
- uint32_t l2_accel_bits = (ECM_SFE_COMMON_FLOW_L2_ACCEL_ALLOWED | ECM_SFE_COMMON_RETURN_L2_ACCEL_ALLOWED);
|
- uint32_t l2_accel_bits = (ECM_SFE_COMMON_FLOW_L2_ACCEL_ALLOWED | ECM_SFE_COMMON_RETURN_L2_ACCEL_ALLOWED);
|
||||||
+ struct nf_tcp_net *tn;
|
+ struct nf_tcp_net *tn;
|
||||||
@ -185,10 +177,10 @@ index f1885aa..4a6fdbd 100644
|
|||||||
+ tn = nf_tcp_pernet(net);
|
+ tn = nf_tcp_pernet(net);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1247,11 +1245,7 @@ static void ecm_sfe_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
@@ -1271,11 +1269,7 @@ static void ecm_sfe_ported_ipv6_connecti
|
||||||
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
nircm->tcp_rule.return_max_window = ct->proto.tcp.seen[return_dir].td_maxwin;
|
||||||
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
nircm->tcp_rule.return_end = ct->proto.tcp.seen[return_dir].td_end;
|
||||||
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
nircm->tcp_rule.return_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||||
|
|||||||
@ -10,11 +10,9 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|||||||
ecm_tracker_datagram.c | 8 ++++----
|
ecm_tracker_datagram.c | 8 ++++----
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/ecm_tracker_datagram.c b/ecm_tracker_datagram.c
|
|
||||||
index 9c04d73..ae14146 100644
|
|
||||||
--- a/ecm_tracker_datagram.c
|
--- a/ecm_tracker_datagram.c
|
||||||
+++ b/ecm_tracker_datagram.c
|
+++ b/ecm_tracker_datagram.c
|
||||||
@@ -203,7 +203,7 @@ static void ecm_tracker_datagram_datagram_discard(struct ecm_tracker_datagram_in
|
@@ -203,7 +203,7 @@ static void ecm_tracker_datagram_datagra
|
||||||
* ecm_tracker_datagram_discard_all()
|
* ecm_tracker_datagram_discard_all()
|
||||||
* Discard all tracked data
|
* Discard all tracked data
|
||||||
*/
|
*/
|
||||||
@ -23,7 +21,7 @@ index 9c04d73..ae14146 100644
|
|||||||
{
|
{
|
||||||
int32_t src_count;
|
int32_t src_count;
|
||||||
int32_t dest_count;
|
int32_t dest_count;
|
||||||
@@ -364,7 +364,7 @@ static void ecm_tracker_datagram_datagram_discard_callback(struct ecm_tracker_in
|
@@ -364,7 +364,7 @@ static void ecm_tracker_datagram_datagra
|
||||||
* ecm_tracker_datagram_datagram_size_get()
|
* ecm_tracker_datagram_datagram_size_get()
|
||||||
* Return size in bytes of datagram at index i that was sent to the target
|
* Return size in bytes of datagram at index i that was sent to the target
|
||||||
*/
|
*/
|
||||||
@ -31,8 +29,8 @@ index 9c04d73..ae14146 100644
|
|||||||
+int32_t ecm_tracker_datagram_datagram_size_get(struct ecm_tracker_datagram_instance *uti, ecm_tracker_sender_type_t sender, int32_t i)
|
+int32_t ecm_tracker_datagram_datagram_size_get(struct ecm_tracker_datagram_instance *uti, ecm_tracker_sender_type_t sender, int32_t i)
|
||||||
{
|
{
|
||||||
struct ecm_tracker_datagram_internal_instance *dtii = (struct ecm_tracker_datagram_internal_instance *)uti;
|
struct ecm_tracker_datagram_internal_instance *dtii = (struct ecm_tracker_datagram_internal_instance *)uti;
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ static int32_t ecm_tracker_datagram_datagram_size_get_callback(struct ecm_tracke
|
@@ -412,7 +412,7 @@ static int32_t ecm_tracker_datagram_data
|
||||||
* ecm_tracker_datagram_datagram_read()
|
* ecm_tracker_datagram_datagram_read()
|
||||||
* Read size bytes from datagram at index i into the buffer
|
* Read size bytes from datagram at index i into the buffer
|
||||||
*/
|
*/
|
||||||
@ -41,7 +39,7 @@ index 9c04d73..ae14146 100644
|
|||||||
{
|
{
|
||||||
struct ecm_tracker_datagram_internal_instance *dtii = (struct ecm_tracker_datagram_internal_instance *)uti;
|
struct ecm_tracker_datagram_internal_instance *dtii = (struct ecm_tracker_datagram_internal_instance *)uti;
|
||||||
int res;
|
int res;
|
||||||
@@ -466,7 +466,7 @@ static int ecm_tracker_datagram_datagram_read_callback(struct ecm_tracker_instan
|
@@ -466,7 +466,7 @@ static int ecm_tracker_datagram_datagram
|
||||||
* ecm_tracker_datagram_datagram_add()
|
* ecm_tracker_datagram_datagram_add()
|
||||||
* Append the datagram onto the tracker queue for the given target
|
* Append the datagram onto the tracker queue for the given target
|
||||||
*/
|
*/
|
||||||
@ -50,6 +48,3 @@ index 9c04d73..ae14146 100644
|
|||||||
{
|
{
|
||||||
struct ecm_tracker_datagram_internal_instance *dtii = (struct ecm_tracker_datagram_internal_instance *)uti;
|
struct ecm_tracker_datagram_internal_instance *dtii = (struct ecm_tracker_datagram_internal_instance *)uti;
|
||||||
struct sk_buff *skbc;
|
struct sk_buff *skbc;
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
|
||||||
|
|||||||
@ -13,8 +13,6 @@ instead or relying on a downstream api not present upstream.
|
|||||||
frontends/sfe/ecm_sfe_ipv6.c | 3 ++-
|
frontends/sfe/ecm_sfe_ipv6.c | 3 ++-
|
||||||
4 files changed, 8 insertions(+), 4 deletions(-)
|
4 files changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/frontends/nss/ecm_nss_ipv4.c b/frontends/nss/ecm_nss_ipv4.c
|
|
||||||
index 719a747..558819a 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ipv4.c
|
--- a/frontends/nss/ecm_nss_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_ipv4.c
|
+++ b/frontends/nss/ecm_nss_ipv4.c
|
||||||
@@ -610,7 +610,8 @@ sync_conntrack:
|
@@ -610,7 +610,8 @@ sync_conntrack:
|
||||||
@ -27,8 +25,6 @@ index 719a747..558819a 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
spin_lock_bh(&ct->lock);
|
spin_lock_bh(&ct->lock);
|
||||||
diff --git a/frontends/nss/ecm_nss_ipv6.c b/frontends/nss/ecm_nss_ipv6.c
|
|
||||||
index 67ee364..51eb069 100644
|
|
||||||
--- a/frontends/nss/ecm_nss_ipv6.c
|
--- a/frontends/nss/ecm_nss_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_ipv6.c
|
+++ b/frontends/nss/ecm_nss_ipv6.c
|
||||||
@@ -587,7 +587,8 @@ sync_conntrack:
|
@@ -587,7 +587,8 @@ sync_conntrack:
|
||||||
@ -41,11 +37,9 @@ index 67ee364..51eb069 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
spin_lock_bh(&ct->lock);
|
spin_lock_bh(&ct->lock);
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ipv4.c b/frontends/sfe/ecm_sfe_ipv4.c
|
|
||||||
index 3f30821..931af5d 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ipv4.c
|
--- a/frontends/sfe/ecm_sfe_ipv4.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ipv4.c
|
+++ b/frontends/sfe/ecm_sfe_ipv4.c
|
||||||
@@ -538,7 +538,8 @@ sync_conntrack:
|
@@ -562,7 +562,8 @@ sync_conntrack:
|
||||||
#else
|
#else
|
||||||
timeouts = nf_ct_timeout_lookup(ct);
|
timeouts = nf_ct_timeout_lookup(ct);
|
||||||
if (!timeouts) {
|
if (!timeouts) {
|
||||||
@ -55,11 +49,9 @@ index 3f30821..931af5d 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
spin_lock_bh(&ct->lock);
|
spin_lock_bh(&ct->lock);
|
||||||
diff --git a/frontends/sfe/ecm_sfe_ipv6.c b/frontends/sfe/ecm_sfe_ipv6.c
|
|
||||||
index 54fdbf3..63d8888 100644
|
|
||||||
--- a/frontends/sfe/ecm_sfe_ipv6.c
|
--- a/frontends/sfe/ecm_sfe_ipv6.c
|
||||||
+++ b/frontends/sfe/ecm_sfe_ipv6.c
|
+++ b/frontends/sfe/ecm_sfe_ipv6.c
|
||||||
@@ -527,7 +527,8 @@ sync_conntrack:
|
@@ -554,7 +554,8 @@ sync_conntrack:
|
||||||
#else
|
#else
|
||||||
timeouts = nf_ct_timeout_lookup(ct);
|
timeouts = nf_ct_timeout_lookup(ct);
|
||||||
if (!timeouts) {
|
if (!timeouts) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- a/ecm_interface.c
|
--- a/ecm_interface.c
|
||||||
+++ b/ecm_interface.c
|
+++ b/ecm_interface.c
|
||||||
@@ -3553,7 +3553,7 @@ identifier_update:
|
@@ -3612,7 +3612,7 @@ identifier_update:
|
||||||
if (skb && (skb->skb_iif == dev->ifindex)) {
|
if (skb && (skb->skb_iif == dev->ifindex)) {
|
||||||
struct pppol2tp_common_addr info;
|
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);
|
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;
|
type_info.unknown.os_specific_ident = dev_interface_num;
|
||||||
|
|
||||||
@@ -3563,7 +3563,7 @@ identifier_update:
|
@@ -3622,7 +3622,7 @@ identifier_update:
|
||||||
ii = ecm_interface_unknown_interface_establish(&type_info.unknown, dev_name, dev_interface_num, ae_interface_num, dev_mtu);
|
ii = ecm_interface_unknown_interface_establish(&type_info.unknown, dev_name, dev_interface_num, ae_interface_num, dev_mtu);
|
||||||
return ii;
|
return ii;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,45 +0,0 @@
|
|||||||
diff --git a/ecm_conntrack_notifier.c b/ecm_conntrack_notifier.c
|
|
||||||
index 50e8566..cf8bd33 100644
|
|
||||||
--- a/ecm_conntrack_notifier.c
|
|
||||||
+++ b/ecm_conntrack_notifier.c
|
|
||||||
@@ -433,6 +433,26 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
|
||||||
#else
|
|
||||||
nf_conntrack_register_notifier(&init_net, &ecm_conntrack_notifier);
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Hold netns reference to keep the basic conntrack alive and
|
|
||||||
+ * track conntrack even when firewall stopped.
|
|
||||||
+ */
|
|
||||||
+ result = nf_ct_netns_get(&init_net, NFPROTO_IPV4);
|
|
||||||
+ if (result < 0) {
|
|
||||||
+ DEBUG_ERROR("Can't hold ipv4 netns.\n");
|
|
||||||
+ debugfs_remove_recursive(ecm_conntrack_notifier_dentry);
|
|
||||||
+ return result;
|
|
||||||
+ }
|
|
||||||
+#ifdef ECM_IPV6_ENABLE
|
|
||||||
+ result = nf_ct_netns_get(&init_net, NFPROTO_IPV6);
|
|
||||||
+ if (result < 0) {
|
|
||||||
+ DEBUG_ERROR("Can't hold ipv6 netns.\n");
|
|
||||||
+ nf_ct_netns_put(&init_net, NFPROTO_IPV4);
|
|
||||||
+ debugfs_remove_recursive(ecm_conntrack_notifier_dentry);
|
|
||||||
+ return result;
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
@@ -446,6 +466,13 @@ void ecm_conntrack_notifier_exit(void)
|
|
||||||
{
|
|
||||||
DEBUG_INFO("ECM Conntrack Notifier exit\n");
|
|
||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
|
||||||
+ /*
|
|
||||||
+ * Release netns reference.
|
|
||||||
+ */
|
|
||||||
+ nf_ct_netns_put(&init_net, NFPROTO_IPV4);
|
|
||||||
+#ifdef ECM_IPV6_ENABLE
|
|
||||||
+ nf_ct_netns_put(&init_net, NFPROTO_IPV6);
|
|
||||||
+#endif
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
|
|
||||||
nf_conntrack_unregister_notifier(&init_net, &ecm_conntrack_notifier);
|
|
||||||
#else
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
--- a/frontends/nss/ecm_nss_common.c
|
--- a/frontends/nss/ecm_nss_common.c
|
||||||
+++ b/frontends/nss/ecm_nss_common.c
|
+++ b/frontends/nss/ecm_nss_common.c
|
||||||
@@ -67,6 +67,7 @@ bool ecm_nss_ipv6_is_conn_limit_reached(void)
|
@@ -67,6 +67,7 @@ bool ecm_nss_ipv6_is_conn_limit_reached(
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -8,14 +8,14 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -116,3 +117,4 @@ bool ecm_nss_ipv4_is_conn_limit_reached(void)
|
@@ -116,3 +117,4 @@ bool ecm_nss_ipv4_is_conn_limit_reached(
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
+EXPORT_SYMBOL(ecm_nss_ipv4_is_conn_limit_reached);
|
+EXPORT_SYMBOL(ecm_nss_ipv4_is_conn_limit_reached);
|
||||||
--- a/frontends/nss/ecm_nss_non_ported_ipv4.c
|
--- a/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||||
@@ -1824,6 +1824,7 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_ins
|
@@ -1824,6 +1824,7 @@ struct ecm_front_end_connection_instance
|
||||||
|
|
||||||
return feci;
|
return feci;
|
||||||
}
|
}
|
||||||
@ -36,7 +36,7 @@
|
|||||||
struct ecm_db_connection_instance **nci);
|
struct ecm_db_connection_instance **nci);
|
||||||
--- a/frontends/nss/ecm_nss_non_ported_ipv6.c
|
--- a/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||||
@@ -1650,6 +1650,7 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_ins
|
@@ -1650,6 +1650,7 @@ struct ecm_front_end_connection_instance
|
||||||
|
|
||||||
return feci;
|
return feci;
|
||||||
}
|
}
|
||||||
@ -57,7 +57,7 @@
|
|||||||
struct ecm_db_connection_instance **nci);
|
struct ecm_db_connection_instance **nci);
|
||||||
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
||||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
||||||
@@ -1884,6 +1884,7 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instanc
|
@@ -1884,6 +1884,7 @@ struct ecm_front_end_connection_instance
|
||||||
|
|
||||||
return feci;
|
return feci;
|
||||||
}
|
}
|
||||||
@ -78,7 +78,7 @@
|
|||||||
struct ecm_db_connection_instance **nci);
|
struct ecm_db_connection_instance **nci);
|
||||||
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
||||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
||||||
@@ -1797,6 +1797,7 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instanc
|
@@ -1797,6 +1797,7 @@ struct ecm_front_end_connection_instance
|
||||||
|
|
||||||
return feci;
|
return feci;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,28 +40,22 @@ Signed-off-By: Francis Le Bourse <francis.lebourse@sfr.fr>
|
|||||||
ecm_db/ecm_db.c | 4 ++--
|
ecm_db/ecm_db.c | 4 ++--
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/ecm_db/ecm_db.c b/ecm_db/ecm_db.c
|
|
||||||
index c6f408d..df04afd 100644
|
|
||||||
--- a/ecm_db/ecm_db.c
|
--- a/ecm_db/ecm_db.c
|
||||||
+++ b/ecm_db/ecm_db.c
|
+++ b/ecm_db/ecm_db.c
|
||||||
@@ -298,7 +298,7 @@ static int ecm_db_ipv6_route_table_update_event(struct notifier_block *nb,
|
@@ -298,7 +298,7 @@ static int ecm_db_ipv6_route_table_updat
|
||||||
* Compute ECM connection's prefix destination address by masking it with the
|
* Compute ECM connection's prefix destination address by masking it with the
|
||||||
* route config's destination address prefix length.
|
* 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, cfg->fc_dst_len);
|
||||||
+ ipv6_addr_prefix(&prefix_addr, &ecm_in6, min(128, 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);
|
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_update_event(struct notifier_block *nb,
|
@@ -326,7 +326,7 @@ static int ecm_db_ipv6_route_table_updat
|
||||||
* Compute ECM connection's prefix source address by masking it with the
|
* Compute ECM connection's prefix source address by masking it with the
|
||||||
* route config's destination address prefix length.
|
* 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, cfg->fc_dst_len);
|
||||||
+ ipv6_addr_prefix(&prefix_addr, &ecm_in6, min(128, 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);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.1.4
|
|
||||||
|
|
||||||
|
DEBUG_TRACE("src addr prefix: %pI6 prefix_len: %d ecm_in6: %pI6\n", &prefix_addr, cfg->fc_dst_len, &ecm_in6);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user