mirror of
https://github.com/breeze303/nss-packages.git
synced 2025-12-16 16:57:29 +00:00
qca-nss-ecm: update to QSDK 12.3r2
Bump QCA NSS ECM to NHSS.QSDK.12.3.r2 tag.
Massive thanks to @AgustinLorenzo.
Reference:
8d73961018
This commit is contained in:
parent
cd3706b916
commit
07350c9f03
@ -5,9 +5,10 @@ PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2022-07-09
|
||||
PKG_SOURCE_VERSION:=83b4e6266f94e1084acc69c97706d0c86a44cfe3
|
||||
PKG_MIRROR_HASH:=62d87358f3cbb8266ebc04000980516cc4c95025ed6d6d332e54d6c18f2e2510
|
||||
PKG_SOURCE_DATE:=2023-01-20
|
||||
PKG_SOURCE_VERSION:=db66c472e07990600bec9f01fb79e103540b0ca3
|
||||
PKG_MIRROR_HASH:=613fa9f8ff20984db5296763c35dea8a9ac0a5f507a0c125ea2814a6d4047a3a
|
||||
PKG_RELEASE=1
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_FLAGS:=nonshared
|
||||
@ -32,7 +33,8 @@ define KernelPackage/qca-nss-ecm
|
||||
+kmod-ppp +kmod-pppoe +kmod-pptp +kmod-bonding \
|
||||
+PACKAGE_kmod-pppol2tp:kmod-pppol2tp \
|
||||
+PACKAGE_kmod-qca-mcs:kmod-qca-mcs \
|
||||
+PACKAGE_kmod-nat46:kmod-nat46
|
||||
+PACKAGE_kmod-nat46:kmod-nat46 \
|
||||
+PACKAGE_kmod-vxlan:kmod-vxlan
|
||||
TITLE:=QCA NSS Enhanced Connection Manager (ECM)
|
||||
FILES:=$(PKG_BUILD_DIR)/ecm.ko
|
||||
KCONFIG:=CONFIG_BRIDGE_NETFILTER=y \
|
||||
@ -53,7 +55,6 @@ define KernelPackage/qca-nss-ecm/install
|
||||
$(INSTALL_DATA) ./files/qca-nss-ecm.uci $(1)/etc/config/ecm
|
||||
$(INSTALL_DATA) ./files/qca-nss-ecm.defaults $(1)/etc/uci-defaults/99-qca-nss-ecm
|
||||
$(INSTALL_BIN) ./files/qca-nss-ecm.sysctl $(1)/etc/sysctl.d/qca-nss-ecm.conf
|
||||
echo 'net.netfilter.nf_conntrack_max=32768' >> $(1)/etc/sysctl.d/qca-nss-ecm.conf
|
||||
endef
|
||||
|
||||
EXTRA_CFLAGS+= \
|
||||
|
||||
@ -1,2 +1 @@
|
||||
# nf_conntrack_tcp_no_window_check is 0 by default, set it to 1
|
||||
net.netfilter.nf_conntrack_tcp_no_window_check=1
|
||||
net.netfilter.nf_conntrack_max=32768
|
||||
|
||||
@ -16,7 +16,7 @@ diff --git a/Makefile b/Makefile
|
||||
index a59cbce..f7e40f8 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -113,9 +113,17 @@ ccflags-$(ECM_INTERFACE_BOND_ENABLE) += -DECM_INTERFACE_BOND_ENABLE
|
||||
@@ -125,9 +125,17 @@ ccflags-$(ECM_INTERFACE_BOND_ENABLE) += -DECM_INTERFACE_BOND_ENABLE
|
||||
# Define ECM_INTERFACE_PPPOE_ENABLE=y in order
|
||||
# to enable support for PPPoE acceleration.
|
||||
# #############################################################################
|
||||
@ -35,7 +35,7 @@ index a59cbce..f7e40f8 100644
|
||||
# #############################################################################
|
||||
# Define ECM_INTERFACE_L2TPV2_ENABLE=y in order
|
||||
# to enable support for l2tpv2 acceleration.
|
||||
@@ -142,6 +150,12 @@ endif
|
||||
@@ -154,6 +162,12 @@ endif
|
||||
endif
|
||||
ccflags-$(ECM_INTERFACE_PPP_ENABLE) += -DECM_INTERFACE_PPP_ENABLE
|
||||
|
||||
@ -48,7 +48,7 @@ index a59cbce..f7e40f8 100644
|
||||
# #############################################################################
|
||||
# Define ECM_INTERFACE_GRE_TAP_ENABLE=y in order
|
||||
# to enable support for GRE TAP interface.
|
||||
@@ -218,7 +232,9 @@ ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABLE) += -DECM_INTERFACE_OVS_BRIDGE_ENABLE
|
||||
@@ -237,7 +251,9 @@ ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABLE) += -DECM_INTERFACE_OVS_BRIDGE_ENABLE
|
||||
# #############################################################################
|
||||
# Define ECM_INTERFACE_VLAN_ENABLE=y in order to enable support for VLAN
|
||||
# #############################################################################
|
||||
@ -59,7 +59,7 @@ index a59cbce..f7e40f8 100644
|
||||
ccflags-$(ECM_INTERFACE_VLAN_ENABLE) += -DECM_INTERFACE_VLAN_ENABLE
|
||||
|
||||
# #############################################################################
|
||||
@@ -255,7 +271,9 @@ ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) += -DECM_CLASSIFIER_OVS_ENABLE
|
||||
@@ -279,7 +295,9 @@ ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) += -DECM_CLASSIFIER_OVS_ENABLE
|
||||
# #############################################################################
|
||||
# Define ECM_CLASSIFIER_MARK_ENABLE=y in order to enable mark classifier.
|
||||
# #############################################################################
|
||||
@ -70,7 +70,7 @@ index a59cbce..f7e40f8 100644
|
||||
ecm-$(ECM_CLASSIFIER_MARK_ENABLE) += ecm_classifier_mark.o
|
||||
ccflags-$(ECM_CLASSIFIER_MARK_ENABLE) += -DECM_CLASSIFIER_MARK_ENABLE
|
||||
|
||||
@@ -274,7 +292,9 @@ ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += -DECM_CLASSIFIER_NL_ENABLE
|
||||
@@ -303,7 +321,9 @@ ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += -DECM_CLASSIFIER_NL_ENABLE
|
||||
# #############################################################################
|
||||
# Define ECM_CLASSIFIER_DSCP_ENABLE=y in order to enable DSCP classifier.
|
||||
# #############################################################################
|
||||
@ -81,7 +81,7 @@ index a59cbce..f7e40f8 100644
|
||||
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
|
||||
@@ -293,7 +313,9 @@ ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) += -DECM_CLASSIFIER_HYFI_ENABLE
|
||||
@@ -322,7 +342,9 @@ ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) += -DECM_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.
|
||||
# #############################################################################
|
||||
@ -92,7 +92,7 @@ index a59cbce..f7e40f8 100644
|
||||
ecm-$(ECM_CLASSIFIER_PCC_ENABLE) += ecm_classifier_pcc.o
|
||||
ccflags-$(ECM_CLASSIFIER_PCC_ENABLE) += -DECM_CLASSIFIER_PCC_ENABLE
|
||||
|
||||
@@ -372,27 +372,36 @@ ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE)
|
||||
@@ -363,27 +385,36 @@ ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE) += -DECM_NON_PORTED_SUPPORT_ENABLE
|
||||
# #############################################################################
|
||||
# Define ECM_STATE_OUTPUT_ENABLE=y to support XML state output
|
||||
# #############################################################################
|
||||
@ -132,7 +132,7 @@ index a59cbce..f7e40f8 100644
|
||||
ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE) += -DECM_TRACKER_DPI_SUPPORT_ENABLE
|
||||
|
||||
# #############################################################################
|
||||
@@ -356,14 +386,18 @@ 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
|
||||
# support for the database keeping lists of connections that are assigned
|
||||
# on a per TYPE of classifier basis.
|
||||
# #############################################################################
|
||||
@ -153,7 +153,7 @@ index a59cbce..f7e40f8 100644
|
||||
ccflags-$(ECM_BAND_STEERING_ENABLE) += -DECM_BAND_STEERING_ENABLE
|
||||
|
||||
# #############################################################################
|
||||
@@ -488,7 +488,6 @@ ccflags-y += -DECM_TRACKER_UDP_DEBUG_LEVEL=1
|
||||
@@ -468,7 +503,6 @@ ccflags-y += -DECM_TRACKER_UDP_DEBUG_LEVEL=1
|
||||
ccflags-y += -DECM_BOND_NOTIFIER_DEBUG_LEVEL=1
|
||||
ccflags-y += -DECM_INTERFACE_DEBUG_LEVEL=1
|
||||
ccflags-y += -DECM_STATE_DEBUG_LEVEL=1
|
||||
@ -165,7 +165,7 @@ 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
|
||||
+++ b/ecm_db/ecm_db_connection.c
|
||||
@@ -454,7 +454,9 @@ EXPORT_SYMBOL(ecm_db_connection_make_defunct);
|
||||
@@ -441,7 +441,9 @@ EXPORT_SYMBOL(ecm_db_connection_make_defunct);
|
||||
*/
|
||||
void ecm_db_connection_data_totals_update(struct ecm_db_connection_instance *ci, bool is_from, uint64_t size, uint64_t packets)
|
||||
{
|
||||
@ -175,7 +175,7 @@ index 6d0bff4..77e5f3f 100644
|
||||
|
||||
DEBUG_CHECK_MAGIC(ci, ECM_DB_CONNECTION_INSTANCE_MAGIC, "%px: magic failed\n", ci);
|
||||
|
||||
@@ -553,7 +555,9 @@ EXPORT_SYMBOL(ecm_db_connection_data_totals_update);
|
||||
@@ -540,7 +542,9 @@ EXPORT_SYMBOL(ecm_db_connection_data_totals_update);
|
||||
*/
|
||||
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 +185,7 @@ index 6d0bff4..77e5f3f 100644
|
||||
|
||||
DEBUG_CHECK_MAGIC(ci, ECM_DB_CONNECTION_INSTANCE_MAGIC, "%px: magic failed\n", ci);
|
||||
|
||||
@@ -1532,6 +1536,7 @@ void ecm_db_connection_defunct_all(void)
|
||||
@@ -1526,6 +1530,7 @@ void ecm_db_connection_defunct_all(void)
|
||||
}
|
||||
EXPORT_SYMBOL(ecm_db_connection_defunct_all);
|
||||
|
||||
@ -193,7 +193,7 @@ index 6d0bff4..77e5f3f 100644
|
||||
/*
|
||||
* ecm_db_connection_defunct_by_classifier()
|
||||
* Make defunct based on masked fields
|
||||
@@ -1698,6 +1703,7 @@ next_ci:
|
||||
@@ -1692,6 +1697,7 @@ next_ci:
|
||||
ECM_IP_ADDR_TO_OCTAL(dest_addr_mask), dest_port_mask, proto_mask, cnt);
|
||||
}
|
||||
}
|
||||
@ -201,7 +201,7 @@ index 6d0bff4..77e5f3f 100644
|
||||
|
||||
/*
|
||||
* ecm_db_connection_defunct_by_port()
|
||||
@@ -1987,6 +1993,7 @@ struct ecm_db_node_instance *ecm_db_connection_node_get_and_ref(struct ecm_db_co
|
||||
@@ -1981,6 +1987,7 @@ struct ecm_db_node_instance *ecm_db_connection_node_get_and_ref(struct ecm_db_co
|
||||
}
|
||||
EXPORT_SYMBOL(ecm_db_connection_node_get_and_ref);
|
||||
|
||||
@ -209,7 +209,7 @@ index 6d0bff4..77e5f3f 100644
|
||||
/*
|
||||
* ecm_db_connection_mapping_get_and_ref_next()
|
||||
* Return reference to next connection in the mapping chain in the specified direction.
|
||||
@@ -2028,6 +2035,7 @@ struct ecm_db_connection_instance *ecm_db_connection_iface_get_and_ref_next(stru
|
||||
@@ -2022,6 +2029,7 @@ struct ecm_db_connection_instance *ecm_db_connection_iface_get_and_ref_next(stru
|
||||
return nci;
|
||||
}
|
||||
EXPORT_SYMBOL(ecm_db_connection_iface_get_and_ref_next);
|
||||
@ -221,7 +221,7 @@ 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
|
||||
+++ b/ecm_db/ecm_db_node.c
|
||||
@@ -224,8 +224,10 @@ EXPORT_SYMBOL(ecm_db_node_get_and_ref_next);
|
||||
@@ -227,8 +227,10 @@ EXPORT_SYMBOL(ecm_db_node_get_and_ref_next);
|
||||
*/
|
||||
int ecm_db_node_deref(struct ecm_db_node_instance *ni)
|
||||
{
|
||||
@ -232,7 +232,7 @@ index c3d70be..89b386f 100644
|
||||
#endif
|
||||
DEBUG_CHECK_MAGIC(ni, ECM_DB_NODE_INSTANCE_MAGIC, "%px: magic failed\n", ni);
|
||||
|
||||
@@ -486,8 +488,10 @@ EXPORT_SYMBOL(ecm_db_node_iface_get_and_ref);
|
||||
@@ -489,8 +491,10 @@ EXPORT_SYMBOL(ecm_db_node_iface_get_and_ref);
|
||||
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)
|
||||
{
|
||||
@ -247,7 +247,7 @@ diff --git a/ecm_interface.c b/ecm_interface.c
|
||||
index d7ca169..2ca02bc 100644
|
||||
--- a/ecm_interface.c
|
||||
+++ b/ecm_interface.c
|
||||
@@ -1355,6 +1355,7 @@ struct neighbour *ecm_interface_ipv6_neigh_get(struct ecm_front_end_connection_i
|
||||
@@ -1424,6 +1424,7 @@ struct neighbour *ecm_interface_ipv6_neigh_get(struct ecm_front_end_connection_i
|
||||
*/
|
||||
bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||
{
|
||||
@ -255,7 +255,7 @@ index d7ca169..2ca02bc 100644
|
||||
struct net_device *in;
|
||||
|
||||
/*
|
||||
@@ -1379,6 +1380,7 @@ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||
@@ -1448,6 +1449,7 @@ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||
}
|
||||
|
||||
dev_put(in);
|
||||
@ -263,7 +263,7 @@ index d7ca169..2ca02bc 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1391,6 +1393,7 @@ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||
@@ -1460,6 +1462,7 @@ bool ecm_interface_is_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||
*/
|
||||
bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct net_device *out, int ver)
|
||||
{
|
||||
@ -271,7 +271,7 @@ index d7ca169..2ca02bc 100644
|
||||
uint32_t flag = 0;
|
||||
struct net_device *in;
|
||||
|
||||
@@ -1423,6 +1426,7 @@ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct n
|
||||
@@ -1492,6 +1495,7 @@ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct n
|
||||
}
|
||||
|
||||
dev_put(in);
|
||||
@ -279,7 +279,7 @@ index d7ca169..2ca02bc 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1435,6 +1439,7 @@ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct n
|
||||
@@ -1504,6 +1508,7 @@ bool ecm_interface_is_l2tp_packet_by_version(struct sk_buff *skb, const struct n
|
||||
*/
|
||||
bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *out)
|
||||
{
|
||||
@ -287,7 +287,7 @@ index d7ca169..2ca02bc 100644
|
||||
struct net_device *in;
|
||||
|
||||
/*
|
||||
@@ -1457,6 +1462,7 @@ bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *ou
|
||||
@@ -1526,6 +1531,7 @@ bool ecm_interface_is_l2tp_pptp(struct sk_buff *skb, const struct net_device *ou
|
||||
}
|
||||
|
||||
dev_put(in);
|
||||
@ -295,7 +295,7 @@ index d7ca169..2ca02bc 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -6770,6 +6776,7 @@ static void ecm_interface_regenerate_connections(struct ecm_db_iface_instance *i
|
||||
@@ -6898,6 +6904,7 @@ static void ecm_interface_regenerate_connections(struct ecm_db_iface_instance *i
|
||||
return;
|
||||
}
|
||||
|
||||
@ -303,7 +303,7 @@ index d7ca169..2ca02bc 100644
|
||||
for (dir = 0; dir < ECM_DB_OBJ_DIR_MAX; dir++) {
|
||||
/*
|
||||
* Re-generate all connections associated with this interface
|
||||
@@ -6785,6 +6792,7 @@ static void ecm_interface_regenerate_connections(struct ecm_db_iface_instance *i
|
||||
@@ -6913,6 +6920,7 @@ static void ecm_interface_regenerate_connections(struct ecm_db_iface_instance *i
|
||||
ci[dir] = cin;
|
||||
}
|
||||
}
|
||||
@ -315,15 +315,15 @@ 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
|
||||
+++ b/frontends/ecm_front_end_common.c
|
||||
@@ -228,6 +228,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
@@ -460,6 +460,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
struct nf_conntrack_tuple *tuple,
|
||||
int ip_version)
|
||||
int ip_version, uint16_t offset)
|
||||
{
|
||||
+#ifdef ECM_INTERFACE_GRE_ENABLE
|
||||
struct net_device *dev;
|
||||
struct gre_base_hdr *greh;
|
||||
|
||||
@@ -239,10 +240,12 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
@@ -471,10 +472,12 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
/*
|
||||
* Case 1: PPTP locally terminated
|
||||
*/
|
||||
@ -336,7 +336,7 @@ index 3b33c41..e21ca24 100644
|
||||
|
||||
/*
|
||||
* Case 2: PPTP pass through
|
||||
@@ -350,6 +353,10 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
@@ -582,6 +585,10 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
*/
|
||||
DEBUG_TRACE("%px: GRE IPv%d pass through - allow acceleration\n", skb, ip_version);
|
||||
return true;
|
||||
@ -347,5 +347,3 @@ index 3b33c41..e21ca24 100644
|
||||
}
|
||||
|
||||
#ifdef ECM_CLASSIFIER_DSCP_ENABLE
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/ecm_interface.c
|
||||
+++ b/ecm_interface.c
|
||||
@@ -334,7 +334,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_dev_find_by_local_addr_ipv6(ip_addr_t ad
|
||||
struct net_device *dev;
|
||||
|
||||
ECM_IP_ADDR_TO_NIN6_ADDR(addr6, addr);
|
||||
@ -9,7 +9,7 @@
|
||||
return dev;
|
||||
}
|
||||
#endif
|
||||
@@ -736,7 +764,7 @@ static bool ecm_interface_mac_addr_get_ipv6_no_route(struct net_device *dev, ip_
|
||||
@@ -737,7 +737,7 @@ static bool ecm_interface_mac_addr_get_ipv6_no_route(struct net_device *dev, ip_
|
||||
* Get the MAC address that corresponds to IP address given.
|
||||
*/
|
||||
ECM_IP_ADDR_TO_NIN6_ADDR(daddr, addr);
|
||||
@ -19,20 +19,21 @@
|
||||
DEBUG_TRACE("%pi6 is a local address\n", &daddr);
|
||||
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 e21ca24..6054685 100644
|
||||
index 8142be1..927e548 100644
|
||||
--- a/frontends/ecm_front_end_common.c
|
||||
+++ b/frontends/ecm_front_end_common.c
|
||||
@@ -56,6 +56,9 @@
|
||||
#include "ecm_db.h"
|
||||
#include "ecm_front_end_common.h"
|
||||
#include "ecm_interface.h"
|
||||
@@ -101,6 +101,10 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#ifdef ECM_IPV6_ENABLE
|
||||
+#include "ecm_front_end_ipv6.h"
|
||||
+#endif
|
||||
|
||||
+
|
||||
/*
|
||||
* Sysctl table header
|
||||
@@ -315,7 +318,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
*/
|
||||
@@ -547,7 +551,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
}
|
||||
} else {
|
||||
#ifdef ECM_IPV6_ENABLE
|
||||
@ -41,7 +42,7 @@ index e21ca24..6054685 100644
|
||||
if (dev) {
|
||||
/*
|
||||
* Source IP address is local
|
||||
@@ -325,7 +328,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
@@ -557,7 +561,7 @@ bool ecm_front_end_gre_proto_is_accel_allowed(struct net_device *indev,
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ diff --git a/ecm_classifier_default.c b/ecm_classifier_default.c
|
||||
index 39315a9..1dad277 100644
|
||||
--- a/ecm_classifier_default.c
|
||||
+++ b/ecm_classifier_default.c
|
||||
@@ -757,26 +757,14 @@ int ecm_classifier_default_init(struct dentry *dentry)
|
||||
@@ -760,26 +760,14 @@ int ecm_classifier_default_init(struct dentry *dentry)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ diff --git a/ecm_classifier_dscp.c b/ecm_classifier_dscp.c
|
||||
index 4f0caeb..6c9401e 100644
|
||||
--- a/ecm_classifier_dscp.c
|
||||
+++ b/ecm_classifier_dscp.c
|
||||
@@ -763,12 +763,8 @@ int ecm_classifier_dscp_init(struct dentry *dentry)
|
||||
@@ -816,12 +816,8 @@ int ecm_classifier_dscp_init(struct dentry *dentry)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ diff --git a/ecm_classifier_emesh.c b/ecm_classifier_emesh.c
|
||||
index 72cf2e1..f8aecec 100644
|
||||
--- a/ecm_classifier_emesh.c
|
||||
+++ b/ecm_classifier_emesh.c
|
||||
@@ -1758,33 +1758,17 @@ int ecm_classifier_emesh_sawf_init(struc
|
||||
@@ -1954,33 +1954,17 @@ int ecm_classifier_emesh_sawf_init(struct dentry *dentry)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -126,16 +126,15 @@ index 72cf2e1..f8aecec 100644
|
||||
- debugfs_remove_recursive(ecm_classifier_emesh_sawf_dentry);
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
+ debugfs_create_u32("sawf_enabled", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
||||
+ (u32 *)&ecm_classifier_sawf_enabled);
|
||||
|
||||
- if (!debugfs_create_u32("cake_enabled", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
||||
- (u32 *)&ecm_classifier_sawf_cake_enabled)) {
|
||||
- DEBUG_ERROR("Failed to create ecm sawf cake enabled file in debugfs\n");
|
||||
- debugfs_remove_recursive(ecm_classifier_emesh_sawf_dentry);
|
||||
- return -1;
|
||||
- }
|
||||
+ debugfs_create_u32("sawf_enabled", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
||||
+ (u32 *)&ecm_classifier_sawf_enabled);
|
||||
+
|
||||
+ debugfs_create_u32("cake_enabled", S_IRUGO | S_IWUSR, ecm_classifier_emesh_sawf_dentry,
|
||||
+ (u32 *)&ecm_classifier_sawf_cake_enabled);
|
||||
|
||||
@ -145,7 +144,7 @@ diff --git a/ecm_classifier_hyfi.c b/ecm_classifier_hyfi.c
|
||||
index a57a13e..fad7209 100644
|
||||
--- a/ecm_classifier_hyfi.c
|
||||
+++ b/ecm_classifier_hyfi.c
|
||||
@@ -1099,11 +1099,8 @@ int ecm_classifier_hyfi_rules_init(struc
|
||||
@@ -1111,11 +1111,8 @@ int ecm_classifier_hyfi_rules_init(struct dentry *dentry)
|
||||
goto classifier_task_cleanup;
|
||||
}
|
||||
|
||||
@ -163,7 +162,7 @@ diff --git a/ecm_classifier_mark.c b/ecm_classifier_mark.c
|
||||
index d054d8e..65dd1e1 100644
|
||||
--- a/ecm_classifier_mark.c
|
||||
+++ b/ecm_classifier_mark.c
|
||||
@@ -753,12 +753,8 @@ int ecm_classifier_mark_init(struct dent
|
||||
@@ -753,12 +753,8 @@ int ecm_classifier_mark_init(struct dentry *dentry)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -201,7 +200,7 @@ diff --git a/ecm_classifier_pcc.c b/ecm_classifier_pcc.c
|
||||
index 6c6fcd4..af13357 100644
|
||||
--- a/ecm_classifier_pcc.c
|
||||
+++ b/ecm_classifier_pcc.c
|
||||
@@ -1232,12 +1232,8 @@ int ecm_classifier_pcc_init(struct dentry *dentry)
|
||||
@@ -1246,12 +1246,8 @@ int ecm_classifier_pcc_init(struct dentry *dentry)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -220,7 +219,7 @@ diff --git a/ecm_conntrack_notifier.c b/ecm_conntrack_notifier.c
|
||||
index f4f2c60..7b20132 100644
|
||||
--- a/ecm_conntrack_notifier.c
|
||||
+++ b/ecm_conntrack_notifier.c
|
||||
@@ -416,12 +416,8 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
||||
@@ -429,12 +429,8 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -239,7 +238,7 @@ 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
|
||||
+++ b/ecm_db/ecm_db_connection.c
|
||||
@@ -3784,11 +3784,8 @@ static struct file_operations ecm_db_connection_count_simple_fops = {
|
||||
@@ -3776,11 +3776,8 @@ static struct file_operations ecm_db_connection_count_simple_fops = {
|
||||
*/
|
||||
bool ecm_db_connection_init(struct dentry *dentry)
|
||||
{
|
||||
@ -275,7 +274,7 @@ 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
|
||||
+++ b/ecm_db/ecm_db_iface.c
|
||||
@@ -3688,11 +3688,8 @@ EXPORT_SYMBOL(ecm_db_iface_alloc);
|
||||
@@ -3706,11 +3706,8 @@ EXPORT_SYMBOL(ecm_db_iface_alloc);
|
||||
*/
|
||||
bool ecm_db_iface_init(struct dentry *dentry)
|
||||
{
|
||||
@ -311,7 +310,7 @@ 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
|
||||
+++ b/ecm_db/ecm_db_node.c
|
||||
@@ -1188,11 +1188,8 @@ keep_sni_conn:
|
||||
@@ -1211,11 +1211,8 @@ keep_sni_conn:
|
||||
*/
|
||||
bool ecm_db_node_init(struct dentry *dentry)
|
||||
{
|
||||
@ -410,7 +409,7 @@ 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
|
||||
+++ b/frontends/nss/ecm_nss_ipv4.c
|
||||
@@ -1006,41 +1006,23 @@ int ecm_nss_ipv4_init(struct dentry *dentry)
|
||||
@@ -1009,41 +1009,23 @@ int ecm_nss_ipv4_init(struct dentry *dentry)
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -464,7 +463,7 @@ index 0fee3e8..5b0ce29 100644
|
||||
|
||||
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_nss_ipv4_dentry,
|
||||
NULL, &ecm_nss_ipv4_accel_limit_mode_fops)) {
|
||||
@@ -1071,11 +1053,8 @@ int ecm_nss_ipv4_init(struct dentry *dentry)
|
||||
@@ -1074,11 +1056,8 @@ int ecm_nss_ipv4_init(struct dentry *dentry)
|
||||
goto task_cleanup;
|
||||
}
|
||||
|
||||
@ -482,7 +481,7 @@ 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
|
||||
+++ b/frontends/nss/ecm_nss_ipv6.c
|
||||
@@ -985,41 +985,23 @@ int ecm_nss_ipv6_init(struct dentry *dentry)
|
||||
@@ -986,41 +986,23 @@ int ecm_nss_ipv6_init(struct dentry *dentry)
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -536,7 +535,7 @@ index ee6b434..8d13f68 100644
|
||||
|
||||
if (!debugfs_create_file("accel_limit_mode", S_IRUGO | S_IWUSR, ecm_nss_ipv6_dentry,
|
||||
NULL, &ecm_nss_ipv6_accel_limit_mode_fops)) {
|
||||
@@ -1050,11 +1032,8 @@ int ecm_nss_ipv6_init(struct dentry *dentry)
|
||||
@@ -1051,11 +1033,8 @@ int ecm_nss_ipv6_init(struct dentry *dentry)
|
||||
goto task_cleanup;
|
||||
}
|
||||
|
||||
@ -554,7 +553,7 @@ diff --git a/frontends/nss/ecm_nss_multicast_ipv4.c b/frontends/nss/ecm_nss_mult
|
||||
index a3dcb79..c9e92de 100644
|
||||
--- a/frontends/nss/ecm_nss_multicast_ipv4.c
|
||||
+++ b/frontends/nss/ecm_nss_multicast_ipv4.c
|
||||
@@ -2623,14 +2623,8 @@ find_next_tuple:
|
||||
@@ -2619,14 +2619,8 @@ find_next_tuple:
|
||||
*/
|
||||
bool ecm_nss_multicast_ipv4_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -570,7 +569,7 @@ index a3dcb79..c9e92de 100644
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -2649,11 +2643,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)
|
||||
{
|
||||
@ -586,7 +585,7 @@ index a3dcb79..c9e92de 100644
|
||||
* Register multicast update callback to MCS snooper
|
||||
--- a/frontends/nss/ecm_nss_multicast_ipv6.c
|
||||
+++ b/frontends/nss/ecm_nss_multicast_ipv6.c
|
||||
@@ -2558,14 +2558,8 @@ static void ecm_nss_multicast_ipv6_mfc_u
|
||||
@@ -2554,14 +2554,8 @@ static void ecm_nss_multicast_ipv6_mfc_update_event_callback(struct in6_addr *gr
|
||||
*/
|
||||
bool ecm_nss_multicast_ipv6_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -602,7 +601,7 @@ index a3dcb79..c9e92de 100644
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -2584,11 +2578,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)
|
||||
{
|
||||
@ -620,7 +619,7 @@ diff --git a/frontends/nss/ecm_nss_non_ported_ipv4.c b/frontends/nss/ecm_nss_non
|
||||
index ec4f365..77de341 100644
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||
@@ -1940,11 +1940,8 @@ struct ecm_nss_non_ported_ipv4_connection_instance *ecm_nss_non_ported_ipv4_conn
|
||||
@@ -1830,11 +1830,8 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_ins
|
||||
*/
|
||||
bool ecm_nss_non_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -638,7 +637,7 @@ diff --git a/frontends/nss/ecm_nss_non_ported_ipv6.c b/frontends/nss/ecm_nss_non
|
||||
index 13e0cc5..91ad7aa 100644
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||
@@ -1768,11 +1768,8 @@ struct ecm_nss_non_ported_ipv6_connection_instance *ecm_nss_non_ported_ipv6_conn
|
||||
@@ -1656,11 +1656,8 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_ins
|
||||
*/
|
||||
bool ecm_nss_non_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -656,7 +655,7 @@ diff --git a/frontends/nss/ecm_nss_ported_ipv4.c b/frontends/nss/ecm_nss_ported_
|
||||
index 6375b6b..ea997e3 100644
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
||||
@@ -1889,21 +1889,11 @@ struct ecm_front_end_connection_instance
|
||||
@@ -1896,21 +1896,11 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instanc
|
||||
*/
|
||||
bool ecm_nss_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -677,18 +676,17 @@ index 6375b6b..ea997e3 100644
|
||||
- debugfs_remove(udp_dentry);
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- return true;
|
||||
+ 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;
|
||||
}
|
||||
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
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
||||
@@ -1803,21 +1803,11 @@ struct ecm_front_end_connection_instance
|
||||
@@ -1809,21 +1809,11 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instanc
|
||||
*/
|
||||
bool ecm_nss_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -718,7 +716,7 @@ 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
|
||||
+++ b/frontends/sfe/ecm_sfe_ipv4.c
|
||||
@@ -914,48 +914,27 @@ int ecm_sfe_ipv4_init(struct dentry *dentry)
|
||||
@@ -925,48 +925,27 @@ int ecm_sfe_ipv4_init(struct dentry *dentry)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_XFRM
|
||||
@ -785,7 +783,7 @@ 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
|
||||
+++ b/frontends/sfe/ecm_sfe_ipv6.c
|
||||
@@ -906,48 +906,27 @@ int ecm_sfe_ipv6_init(struct dentry *dentry)
|
||||
@@ -917,48 +917,27 @@ int ecm_sfe_ipv6_init(struct dentry *dentry)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_XFRM
|
||||
@ -852,7 +850,7 @@ diff --git a/frontends/sfe/ecm_sfe_non_ported_ipv4.c b/frontends/sfe/ecm_sfe_non
|
||||
index d7cad2a..696bd13 100644
|
||||
--- a/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
||||
+++ b/frontends/sfe/ecm_sfe_non_ported_ipv4.c
|
||||
@@ -1930,11 +1930,8 @@ struct ecm_sfe_non_ported_ipv4_connection_instance *ecm_sfe_non_ported_ipv4_conn
|
||||
@@ -1908,11 +1908,8 @@ struct ecm_front_end_connection_instance *ecm_sfe_non_ported_ipv4_connection_ins
|
||||
*/
|
||||
bool ecm_sfe_non_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -870,7 +868,7 @@ diff --git a/frontends/sfe/ecm_sfe_non_ported_ipv6.c b/frontends/sfe/ecm_sfe_non
|
||||
index a9fb637..fe06de4 100644
|
||||
--- a/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
||||
+++ b/frontends/sfe/ecm_sfe_non_ported_ipv6.c
|
||||
@@ -1777,11 +1777,8 @@ struct ecm_sfe_non_ported_ipv6_connection_instance *ecm_sfe_non_ported_ipv6_conn
|
||||
@@ -1726,11 +1726,8 @@ struct ecm_front_end_connection_instance *ecm_sfe_non_ported_ipv6_connection_ins
|
||||
*/
|
||||
bool ecm_sfe_non_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||
{
|
||||
@ -888,7 +886,7 @@ diff --git a/frontends/sfe/ecm_sfe_ported_ipv4.c b/frontends/sfe/ecm_sfe_ported_
|
||||
index fc2c4ba..53f5b07 100644
|
||||
--- a/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||
@@ -2062,12 +2062,8 @@ bool ecm_sfe_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||
@@ -2035,12 +2035,8 @@ bool ecm_sfe_ported_ipv4_debugfs_init(struct dentry *dentry)
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -907,7 +905,7 @@ diff --git a/frontends/sfe/ecm_sfe_ported_ipv6.c b/frontends/sfe/ecm_sfe_ported_
|
||||
index 90d642d..ae04cb4 100644
|
||||
--- a/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||
@@ -2007,12 +2007,8 @@ bool ecm_sfe_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||
@@ -1982,12 +1982,8 @@ bool ecm_sfe_ported_ipv6_debugfs_init(struct dentry *dentry)
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -922,5 +920,3 @@ index 90d642d..ae04cb4 100644
|
||||
|
||||
return true;
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@ -17,7 +17,7 @@ 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
|
||||
+++ b/frontends/nss/ecm_nss_ipv4.c
|
||||
@@ -697,7 +697,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_work(struct work_struct *work)
|
||||
}
|
||||
spin_unlock_bh(&ecm_nss_ipv4_lock);
|
||||
|
||||
@ -26,7 +26,7 @@ index 5b0ce29..719a747 100644
|
||||
|
||||
/*
|
||||
* If index is 0, we are starting a new round, but if we still have time remain
|
||||
@@ -711,7 +711,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_work(struct work_struct *work)
|
||||
}
|
||||
|
||||
if (time_after(ecm_nss_ipv4_next_req_time, current_jiffies)) {
|
||||
@ -39,7 +39,7 @@ 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
|
||||
+++ b/frontends/nss/ecm_nss_ipv6.c
|
||||
@@ -675,7 +675,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_work(struct work_struct *work)
|
||||
}
|
||||
spin_unlock_bh(&ecm_nss_ipv6_lock);
|
||||
|
||||
@ -48,7 +48,7 @@ index 8d13f68..67ee364 100644
|
||||
|
||||
/*
|
||||
* If index is 0, we are starting a new round, but if we still have time remain
|
||||
@@ -689,7 +689,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_work(struct work_struct *work)
|
||||
}
|
||||
|
||||
if (time_after(ecm_nss_ipv6_next_req_time, current_jiffies)) {
|
||||
@ -57,5 +57,3 @@ index 8d13f68..67ee364 100644
|
||||
}
|
||||
ecm_nss_ipv6_roll_check_jiffies = jiffies;
|
||||
ecm_nss_ipv6_next_req_time = ecm_nss_ipv6_roll_check_jiffies + ECM_NSS_IPV6_STATS_SYNC_PERIOD;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@ -15,7 +15,7 @@ diff --git a/ecm_interface.c b/ecm_interface.c
|
||||
index b461456..6be872a 100644
|
||||
--- a/ecm_interface.c
|
||||
+++ b/ecm_interface.c
|
||||
@@ -7617,9 +7617,13 @@ static int ecm_interface_wifi_event_hand
|
||||
@@ -7775,9 +7775,13 @@ static int ecm_interface_wifi_event_handler(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;
|
||||
@ -30,7 +30,7 @@ index b461456..6be872a 100644
|
||||
|
||||
iov.iov_base = buf;
|
||||
iov.iov_len = len;
|
||||
@@ -7629,7 +7633,8 @@ static int ecm_interface_wifi_event_rx(s
|
||||
@@ -7787,7 +7791,8 @@ static int ecm_interface_wifi_event_rx(struct socket *sock, struct sockaddr_nl *
|
||||
msg.msg_namelen = sizeof(struct sockaddr_nl);
|
||||
msg.msg_control = NULL;
|
||||
msg.msg_controllen = 0;
|
||||
@ -40,7 +40,7 @@ index b461456..6be872a 100644
|
||||
set_fs(KERNEL_DS);
|
||||
iov_iter_init(&msg.msg_iter, READ, &iov, 1, len);
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0))
|
||||
@@ -7640,6 +7645,9 @@ static int ecm_interface_wifi_event_rx(s
|
||||
@@ -7798,6 +7803,9 @@ static int ecm_interface_wifi_event_rx(struct socket *sock, struct sockaddr_nl *
|
||||
set_fs(oldfs);
|
||||
|
||||
return size;
|
||||
@ -50,5 +50,3 @@ index b461456..6be872a 100644
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@ -57,7 +57,7 @@ index 5f802b7..50e8566 100644
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -440,12 +427,16 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
||||
@@ -436,12 +423,16 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
||||
/*
|
||||
* Eventing subsystem is available so we register a notifier hook to get fast notifications of expired connections
|
||||
*/
|
||||
@ -75,7 +75,7 @@ index 5f802b7..50e8566 100644
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
@@ -459,7 +450,11 @@ void ecm_conntrack_notifier_exit(void)
|
||||
@@ -455,7 +446,11 @@ void ecm_conntrack_notifier_exit(void)
|
||||
{
|
||||
DEBUG_INFO("ECM Conntrack Notifier exit\n");
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
@ -87,5 +87,3 @@ index 5f802b7..50e8566 100644
|
||||
#endif
|
||||
/*
|
||||
* Remove the debugfs files recursively.
|
||||
--
|
||||
2.40.0
|
||||
|
||||
@ -14,8 +14,8 @@ diff --git a/frontends/nss/ecm_nss_ported_ipv4.c b/frontends/nss/ecm_nss_ported_
|
||||
index 6375b6b..ed9c10b 100644
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
||||
@@ -125,14 +125,6 @@ struct ecm_nss_ported_ipv4_connection_instance {
|
||||
static int ecm_nss_ported_ipv4_accelerated_count[ECM_NSS_PORTED_IPV4_PROTO_MAX] = {0};
|
||||
@@ -99,14 +99,6 @@
|
||||
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 */
|
||||
|
||||
-/*
|
||||
@ -29,7 +29,7 @@ index 6375b6b..ed9c10b 100644
|
||||
/*
|
||||
* ecm_nss_ported_ipv4_connection_callback()
|
||||
* Callback for handling create ack/nack calls.
|
||||
@@ -372,6 +364,12 @@ static void ecm_nss_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
@@ -343,6 +335,12 @@ static void ecm_nss_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
uint8_t dest_mac_xlate[ETH_ALEN];
|
||||
ecm_db_direction_t ecm_dir;
|
||||
ecm_front_end_acceleration_mode_t result_mode;
|
||||
@ -40,9 +40,9 @@ index 6375b6b..ed9c10b 100644
|
||||
+ tn = nf_tcp_pernet(net);
|
||||
+ }
|
||||
|
||||
DEBUG_CHECK_MAGIC(npci, ECM_NSS_PORTED_IPV4_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", npci);
|
||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||
|
||||
@@ -1235,12 +1233,8 @@ static void ecm_nss_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
@@ -1212,12 +1210,8 @@ static void ecm_nss_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
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_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||
@ -61,8 +61,8 @@ diff --git a/frontends/nss/ecm_nss_ported_ipv6.c b/frontends/nss/ecm_nss_ported_
|
||||
index 1be8a58..3062c12 100644
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
||||
@@ -125,14 +125,6 @@ struct ecm_nss_ported_ipv6_connection_instance {
|
||||
static int ecm_nss_ported_ipv6_accelerated_count[ECM_NSS_PORTED_IPV6_PROTO_MAX] = {0};
|
||||
@@ -100,14 +100,6 @@
|
||||
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 */
|
||||
|
||||
-/*
|
||||
@ -76,7 +76,7 @@ index 1be8a58..3062c12 100644
|
||||
/*
|
||||
* ecm_nss_ported_ipv6_connection_callback()
|
||||
* Callback for handling create ack/nack calls.
|
||||
@@ -376,6 +368,12 @@ static void ecm_nss_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
||||
@@ -348,6 +340,12 @@ static void ecm_nss_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
||||
ip_addr_t src_ip;
|
||||
ip_addr_t dest_ip;
|
||||
ecm_front_end_acceleration_mode_t result_mode;
|
||||
@ -87,9 +87,9 @@ index 1be8a58..3062c12 100644
|
||||
+ tn = nf_tcp_pernet(net);
|
||||
+ }
|
||||
|
||||
DEBUG_CHECK_MAGIC(npci, ECM_NSS_PORTED_IPV6_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", npci);
|
||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||
|
||||
@@ -1161,11 +1159,7 @@ static void ecm_nss_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
||||
@@ -1138,11 +1136,7 @@ static void ecm_nss_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
||||
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_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||
@ -106,8 +106,8 @@ diff --git a/frontends/sfe/ecm_sfe_ported_ipv4.c b/frontends/sfe/ecm_sfe_ported_
|
||||
index 6e375f8..e5ae593 100644
|
||||
--- a/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv4.c
|
||||
@@ -123,14 +123,6 @@ struct ecm_sfe_ported_ipv4_connection_instance {
|
||||
static int ecm_sfe_ported_ipv4_accelerated_count[ECM_SFE_PORTED_IPV4_PROTO_MAX] = {0};
|
||||
@@ -92,14 +92,6 @@
|
||||
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 */
|
||||
|
||||
-/*
|
||||
@ -119,13 +119,15 @@ index 6e375f8..e5ae593 100644
|
||||
-extern int nf_ct_tcp_be_liberal;
|
||||
-
|
||||
/*
|
||||
* ecm_sfe_ported_ipv4_get_stats_bitmap()
|
||||
* Get bit map
|
||||
@@ -357,9 +357,15 @@ static void ecm_sfe_ported_ipv4_connecti
|
||||
* ecm_sfe_ported_ipv4_connection_callback()
|
||||
* Callback for handling create ack/nack calls.
|
||||
@@ -336,11 +328,17 @@ static void ecm_sfe_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
uint8_t dest_mac_xlate[ETH_ALEN];
|
||||
ecm_db_direction_t ecm_dir;
|
||||
ecm_front_end_acceleration_mode_t result_mode;
|
||||
+ struct nf_tcp_net *tn;
|
||||
struct ecm_classifier_instance *aci;
|
||||
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);
|
||||
ecm_sfe_common_l2_accel_check_callback_t l2_accel_check;
|
||||
|
||||
@ -137,7 +139,7 @@ index 6e375f8..e5ae593 100644
|
||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||
|
||||
/*
|
||||
@@ -1332,11 +1330,7 @@ static void ecm_sfe_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
@@ -1286,11 +1284,7 @@ static void ecm_sfe_ported_ipv4_connection_accelerate(struct ecm_front_end_conne
|
||||
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_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||
@ -154,8 +156,8 @@ diff --git a/frontends/sfe/ecm_sfe_ported_ipv6.c b/frontends/sfe/ecm_sfe_ported_
|
||||
index f1885aa..4a6fdbd 100644
|
||||
--- a/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||
+++ b/frontends/sfe/ecm_sfe_ported_ipv6.c
|
||||
@@ -124,14 +124,6 @@ struct ecm_sfe_ported_ipv6_connection_instance {
|
||||
static int ecm_sfe_ported_ipv6_accelerated_count[ECM_SFE_PORTED_IPV6_PROTO_MAX] = {0};
|
||||
@@ -92,14 +92,6 @@
|
||||
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 */
|
||||
|
||||
-/*
|
||||
@ -167,11 +169,11 @@ index f1885aa..4a6fdbd 100644
|
||||
-extern int nf_ct_tcp_be_liberal;
|
||||
-
|
||||
/*
|
||||
* ecm_sfe_ported_ipv6_get_stats_bitmap()
|
||||
* Get bit map
|
||||
@@ -361,9 +361,15 @@ static void ecm_sfe_ported_ipv6_connecti
|
||||
ip_addr_t src_ip;
|
||||
ip_addr_t dest_ip;
|
||||
* ecm_sfe_ported_ipv6_connection_callback()
|
||||
* 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;
|
||||
struct ecm_classifier_rule_create ecrc;
|
||||
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);
|
||||
+ struct nf_tcp_net *tn;
|
||||
@ -186,7 +188,7 @@ index f1885aa..4a6fdbd 100644
|
||||
DEBUG_CHECK_MAGIC(feci, ECM_FRONT_END_CONNECTION_INSTANCE_MAGIC, "%px: magic failed", feci);
|
||||
|
||||
/*
|
||||
@@ -1292,11 +1290,7 @@ static void ecm_sfe_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
||||
@@ -1247,11 +1245,7 @@ static void ecm_sfe_ported_ipv6_connection_accelerate(struct ecm_front_end_conne
|
||||
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_max_end = ct->proto.tcp.seen[return_dir].td_maxend;
|
||||
@ -199,5 +201,3 @@ index f1885aa..4a6fdbd 100644
|
||||
|| (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)) {
|
||||
nircm->rule_flags |= SFE_RULE_CREATE_FLAG_NO_SEQ_CHECK;
|
||||
--
|
||||
2.40.0
|
||||
|
||||
@ -17,7 +17,7 @@ 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
|
||||
+++ b/frontends/nss/ecm_nss_ipv4.c
|
||||
@@ -607,7 +607,8 @@ sync_conntrack:
|
||||
@@ -610,7 +610,8 @@ sync_conntrack:
|
||||
#else
|
||||
timeouts = nf_ct_timeout_lookup(ct);
|
||||
if (!timeouts) {
|
||||
@ -31,7 +31,7 @@ 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
|
||||
+++ b/frontends/nss/ecm_nss_ipv6.c
|
||||
@@ -586,7 +586,8 @@ sync_conntrack:
|
||||
@@ -587,7 +587,8 @@ sync_conntrack:
|
||||
#else
|
||||
timeouts = nf_ct_timeout_lookup(ct);
|
||||
if (!timeouts) {
|
||||
@ -45,7 +45,7 @@ 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
|
||||
+++ b/frontends/sfe/ecm_sfe_ipv4.c
|
||||
@@ -527,7 +527,8 @@ sync_conntrack:
|
||||
@@ -538,7 +538,8 @@ sync_conntrack:
|
||||
#else
|
||||
timeouts = nf_ct_timeout_lookup(ct);
|
||||
if (!timeouts) {
|
||||
@ -59,7 +59,7 @@ 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
|
||||
+++ b/frontends/sfe/ecm_sfe_ipv6.c
|
||||
@@ -516,7 +516,8 @@ sync_conntrack:
|
||||
@@ -527,7 +527,8 @@ sync_conntrack:
|
||||
#else
|
||||
timeouts = nf_ct_timeout_lookup(ct);
|
||||
if (!timeouts) {
|
||||
@ -69,5 +69,3 @@ index 54fdbf3..63d8888 100644
|
||||
}
|
||||
|
||||
spin_lock_bh(&ct->lock);
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/ecm_interface.c
|
||||
+++ b/ecm_interface.c
|
||||
@@ -3551,7 +3551,7 @@ identifier_update:
|
||||
@@ -3553,7 +3553,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;
|
||||
|
||||
@@ -3561,7 +3561,7 @@ identifier_update:
|
||||
@@ -3563,7 +3563,7 @@ identifier_update:
|
||||
ii = ecm_interface_unknown_interface_establish(&type_info.unknown, dev_name, dev_interface_num, ae_interface_num, dev_mtu);
|
||||
return ii;
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ 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
|
||||
@@ -437,6 +437,26 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
||||
@@ -433,6 +433,26 @@ int ecm_conntrack_notifier_init(struct dentry *dentry)
|
||||
#else
|
||||
nf_conntrack_register_notifier(&init_net, &ecm_conntrack_notifier);
|
||||
#endif
|
||||
@ -29,7 +29,7 @@ index 50e8566..cf8bd33 100644
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
@@ -450,6 +470,13 @@ void ecm_conntrack_notifier_exit(void)
|
||||
@@ -446,6 +466,13 @@ void ecm_conntrack_notifier_exit(void)
|
||||
{
|
||||
DEBUG_INFO("ECM Conntrack Notifier exit\n");
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
|
||||
@ -1,57 +0,0 @@
|
||||
diff --git a/frontends/cmn/ecm_ipv4.c b/frontends/cmn/ecm_ipv4.c
|
||||
index f69eb45c135be420968bc2de1101c3220a8faeb6..cac02b4bef4fb4da2d5b8411efeb496a6d406db9 100644
|
||||
--- a/frontends/cmn/ecm_ipv4.c
|
||||
+++ b/frontends/cmn/ecm_ipv4.c
|
||||
@@ -1502,6 +1502,37 @@ vxlan_done:
|
||||
#endif
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * ecm_ipv4_is_bridge_pkt()
|
||||
+ * Return true if pkt is from bridge flow.
|
||||
+ * If in/out dev is a bridge port and the other dev is a master
|
||||
+ * of the same bridge port dev, then consider it a bridge flow packet
|
||||
+ * and return true.
|
||||
+ */
|
||||
+static bool ecm_ipv4_is_bridge_pkt(struct net_device *in,
|
||||
+ struct net_device *out)
|
||||
+{
|
||||
+ struct net_device *lower = NULL;
|
||||
+ struct net_device *upper = NULL;
|
||||
+ struct net_device *bridge = NULL;
|
||||
+
|
||||
+ if (in->priv_flags & IFF_BRIDGE_PORT) {
|
||||
+ lower = in;
|
||||
+ bridge = out;
|
||||
+ } else if (out->priv_flags & IFF_BRIDGE_PORT) {
|
||||
+ lower = out;
|
||||
+ bridge = in;
|
||||
+ }
|
||||
+
|
||||
+ if (!lower)
|
||||
+ return false;
|
||||
+
|
||||
+ rcu_read_lock();
|
||||
+ upper = netdev_master_upper_dev_get_rcu(lower);
|
||||
+ rcu_read_unlock();
|
||||
+ return upper && (upper == bridge);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* ecm_ipv4_post_routing_hook()
|
||||
* Called for IP packets that are going out to interfaces after IP routing stage.
|
||||
@@ -1572,6 +1603,14 @@ static unsigned int ecm_ipv4_post_routing_hook(void *priv,
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * Skip bridge flow packet
|
||||
+ */
|
||||
+ if (ecm_ipv4_is_bridge_pkt(in, out)) {
|
||||
+ DEBUG_TRACE("Bridge flow, ignoring: %px\n", skb);
|
||||
+ dev_put(in);
|
||||
+ return NF_ACCEPT;
|
||||
+ }
|
||||
#ifndef ECM_INTERFACE_OVS_BRIDGE_ENABLE
|
||||
/*
|
||||
* skip OpenVSwitch flows because we don't accelerate them
|
||||
@ -1,42 +1,6 @@
|
||||
--- a/frontends/nss/ecm_nss_ipv4.h
|
||||
+++ b/frontends/nss/ecm_nss_ipv4.h
|
||||
@@ -14,6 +14,9 @@
|
||||
**************************************************************************
|
||||
*/
|
||||
|
||||
+#ifndef __ECM_FRONT_END_NSS_IPV4_H
|
||||
+#define __ECM_FRONT_END_NSS_IPV4_H
|
||||
+
|
||||
#include <nss_api_if.h>
|
||||
|
||||
extern int ecm_nss_ipv4_no_action_limit_default; /* Default no-action limit. */
|
||||
@@ -168,3 +171,5 @@ extern void ecm_nss_ipv4_accel_done_time
|
||||
extern void ecm_nss_ipv4_decel_done_time_update(struct ecm_front_end_connection_instance *feci);
|
||||
extern int ecm_nss_ipv4_init(struct dentry *dentry);
|
||||
extern void ecm_nss_ipv4_exit(void);
|
||||
+
|
||||
+#endif /* __ECM_FRONT_END_NSS_IPV4_H */
|
||||
--- a/frontends/nss/ecm_nss_ipv6.h
|
||||
+++ b/frontends/nss/ecm_nss_ipv6.h
|
||||
@@ -14,6 +14,9 @@
|
||||
**************************************************************************
|
||||
*/
|
||||
|
||||
+#ifndef __ECM_FRONT_END_NSS_IPV6_H
|
||||
+#define __ECM_FRONT_END_NSS_IPV6_H
|
||||
+
|
||||
#include <nss_api_if.h>
|
||||
|
||||
extern int ecm_nss_ipv6_no_action_limit_default; /* Default no-action limit. */
|
||||
@@ -168,3 +171,5 @@ extern void ecm_nss_ipv6_accel_done_time
|
||||
extern void ecm_nss_ipv6_decel_done_time_update(struct ecm_front_end_connection_instance *feci);
|
||||
extern int ecm_nss_ipv6_init(struct dentry *dentry);
|
||||
extern void ecm_nss_ipv6_exit(void);
|
||||
+
|
||||
+#endif /* __ECM_FRONT_END_NSS_IPV6_H */
|
||||
--- a/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(
|
||||
@@ -67,6 +67,7 @@ bool ecm_nss_ipv6_is_conn_limit_reached(void)
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -44,27 +8,14 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -93,3 +94,4 @@ bool ecm_nss_ipv4_is_conn_limit_reached(
|
||||
@@ -116,3 +117,4 @@ bool ecm_nss_ipv4_is_conn_limit_reached(void)
|
||||
|
||||
return false;
|
||||
}
|
||||
+EXPORT_SYMBOL(ecm_nss_ipv4_is_conn_limit_reached);
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv4.h
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.h
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
extern bool ecm_nss_non_ported_ipv4_debugfs_init(struct dentry *dentry);
|
||||
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_instance_alloc(
|
||||
- bool can_accel, int protocol,
|
||||
- struct ecm_db_connection_instance **nci);
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_instance_alloc(
|
||||
+ bool can_accel, int protocol,
|
||||
+ struct ecm_db_connection_instance **nci);
|
||||
extern void ecm_nss_non_ported_ipv4_sit_set_peer(struct ecm_front_end_connection_instance *feci, struct sk_buff *skb);
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.c
|
||||
@@ -1822,6 +1822,7 @@ struct ecm_front_end_connection_instance
|
||||
@@ -1824,6 +1824,7 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_ins
|
||||
|
||||
return feci;
|
||||
}
|
||||
@ -72,23 +23,20 @@
|
||||
|
||||
/*
|
||||
* ecm_nss_non_ported_ipv4_debugfs_init()
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv6.h
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.h
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv4.h
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv4.h
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
extern bool ecm_nss_non_ported_ipv6_debugfs_init(struct dentry *dentry);
|
||||
extern bool ecm_nss_non_ported_ipv4_debugfs_init(struct dentry *dentry);
|
||||
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_instance_alloc(
|
||||
- bool can_accel,
|
||||
- int protocol,
|
||||
- struct ecm_db_connection_instance **nci);
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_instance_alloc(
|
||||
+ bool can_accel,
|
||||
+ int protocol,
|
||||
+ struct ecm_db_connection_instance **nci);
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_instance_alloc(
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv4_connection_instance_alloc(
|
||||
uint32_t accel_flags,
|
||||
int protocol,
|
||||
struct ecm_db_connection_instance **nci);
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.c
|
||||
@@ -1648,6 +1648,7 @@ struct ecm_front_end_connection_instance
|
||||
@@ -1650,6 +1650,7 @@ struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_ins
|
||||
|
||||
return feci;
|
||||
}
|
||||
@ -96,23 +44,20 @@
|
||||
|
||||
/*
|
||||
* ecm_nss_non_ported_ipv6_debugfs_init()
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv4.h
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.h
|
||||
--- a/frontends/nss/ecm_nss_non_ported_ipv6.h
|
||||
+++ b/frontends/nss/ecm_nss_non_ported_ipv6.h
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
extern bool ecm_nss_ported_ipv4_debugfs_init(struct dentry *dentry);
|
||||
extern bool ecm_nss_non_ported_ipv6_debugfs_init(struct dentry *dentry);
|
||||
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instance_alloc(
|
||||
- bool can_accel,
|
||||
- int protocol,
|
||||
- struct ecm_db_connection_instance **nci);
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instance_alloc(
|
||||
+ bool can_accel,
|
||||
+ int protocol,
|
||||
+ struct ecm_db_connection_instance **nci);
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_instance_alloc(
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_non_ported_ipv6_connection_instance_alloc(
|
||||
uint32_t accel_flags,
|
||||
int protocol,
|
||||
struct ecm_db_connection_instance **nci);
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv4.c
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.c
|
||||
@@ -1877,6 +1877,7 @@ struct ecm_front_end_connection_instance
|
||||
@@ -1884,6 +1884,7 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instanc
|
||||
|
||||
return feci;
|
||||
}
|
||||
@ -120,23 +65,20 @@
|
||||
|
||||
/*
|
||||
* ecm_nss_ported_ipv4_debugfs_init()
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv6.h
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.h
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv4.h
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv4.h
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
extern bool ecm_nss_ported_ipv6_debugfs_init(struct dentry *dentry);
|
||||
extern bool ecm_nss_ported_ipv4_debugfs_init(struct dentry *dentry);
|
||||
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instance_alloc(
|
||||
- bool can_accel,
|
||||
- int protocol,
|
||||
- struct ecm_db_connection_instance **nci);
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instance_alloc(
|
||||
+ bool can_accel,
|
||||
+ int protocol,
|
||||
+ struct ecm_db_connection_instance **nci);
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instance_alloc(
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_ported_ipv4_connection_instance_alloc(
|
||||
uint32_t accel_flags,
|
||||
int protocol,
|
||||
struct ecm_db_connection_instance **nci);
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv6.c
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.c
|
||||
@@ -1791,6 +1791,7 @@ struct ecm_front_end_connection_instance
|
||||
@@ -1797,6 +1797,7 @@ struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instanc
|
||||
|
||||
return feci;
|
||||
}
|
||||
@ -144,3 +86,14 @@
|
||||
|
||||
/*
|
||||
* ecm_nss_ported_ipv6_debugfs_init()
|
||||
--- a/frontends/nss/ecm_nss_ported_ipv6.h
|
||||
+++ b/frontends/nss/ecm_nss_ported_ipv6.h
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
extern bool ecm_nss_ported_ipv6_debugfs_init(struct dentry *dentry);
|
||||
|
||||
-extern struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instance_alloc(
|
||||
+struct ecm_front_end_connection_instance *ecm_nss_ported_ipv6_connection_instance_alloc(
|
||||
uint32_t accel_flags,
|
||||
int protocol,
|
||||
struct ecm_db_connection_instance **nci);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user