mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-08-20 08:50:14 +03:00
Move the new entry to the end of the tcp_sysctl_table array to fix the following error: [ 7.670000] sysctl table check failed: net/netfilter/nf_conntrack_tcp_max_retrans No data [ 7.680000] Call Trace: [ 7.680000] [<80273bc4>] dump_stack+0x8/0x34 [ 7.680000] [<80128710>] __register_sysctl_table+0x374/0x3a8 [ 7.690000] [<868d5034>] nf_conntrack_l4proto_unregister+0x158/0x1a0[nf_conntrack] [ 7.700000] [<868d50e4>] nf_conntrack_l4proto_register+0x68/0x21c[nf_conntrack] [ 7.710000] [<868b237c>] need_ipv4_conntrack+0x35c/0xb60[nf_conntrack_ipv4] [ 7.710000] [ 7.720000] nf_conntrack_l4proto_tcp4 :protocol register failed [ 7.720000] nf_conntrack_ipv4: can't register pernet ops [ 7.780000] nf_nat: Unknown symbol nf_nat_seq_adjust_hook (err 0) [ 7.790000] nf_nat: Unknown symbol need_ipv4_conntrack (err 0) [ 7.800000] iptable_nat: Unknown symbol nf_nat_packet (err 0) [ 7.810000] iptable_nat: Unknown symbol nf_nat_setup_info (err 0) [ 7.820000] iptable_nat: Unknown symbol nf_nat_icmp_reply_translation (err 0) [ 7.820000] iptable_nat: Unknown symbol need_ipv4_conntrack (err 0) [ 7.840000] ipt_MASQUERADE: Unknown symbol nf_nat_setup_info (err 0) [ 7.860000] nf_nat_ftp: Unknown symbol nf_nat_follow_master (err 0) [ 7.870000] nf_nat_ftp: Unknown symbol __nf_nat_mangle_tcp_packet (err 0) [ 7.890000] nf_nat_irc: Unknown symbol nf_nat_follow_master (err 0) [ 7.900000] nf_nat_irc: Unknown symbol __nf_nat_mangle_tcp_packet (err 0) Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33968 3c298f89-4303-0410-b956-a3cf2f4a3e73
37 lines
1.0 KiB
Diff
37 lines
1.0 KiB
Diff
--- a/net/netfilter/nf_conntrack_proto_tcp.c
|
|
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
|
|
@@ -29,6 +29,9 @@
|
|
#include <net/netfilter/ipv4/nf_conntrack_ipv4.h>
|
|
#include <net/netfilter/ipv6/nf_conntrack_ipv6.h>
|
|
|
|
+/* Do not check the TCP window for incoming packets */
|
|
+static int nf_ct_tcp_no_window_check __read_mostly = 1;
|
|
+
|
|
/* "Be conservative in what you do,
|
|
be liberal in what you accept from others."
|
|
If it's non-zero, we mark only out of window RST segments as INVALID. */
|
|
@@ -526,6 +529,9 @@ static bool tcp_in_window(const struct n
|
|
s16 receiver_offset;
|
|
bool res;
|
|
|
|
+ if (nf_ct_tcp_no_window_check)
|
|
+ return true;
|
|
+
|
|
/*
|
|
* Get the required data from the packet.
|
|
*/
|
|
@@ -1436,6 +1442,13 @@ static struct ctl_table tcp_sysctl_table
|
|
.mode = 0644,
|
|
.proc_handler = proc_dointvec,
|
|
},
|
|
+ {
|
|
+ .procname = "nf_conntrack_tcp_no_window_check",
|
|
+ .data = &nf_ct_tcp_no_window_check,
|
|
+ .maxlen = sizeof(unsigned int),
|
|
+ .mode = 0644,
|
|
+ .proc_handler = proc_dointvec,
|
|
+ },
|
|
{ }
|
|
};
|
|
|