kernel: fix mtk_eth_soc throughput regressions on gigabit PHY ports
[openwrt/openwrt.git] / target / linux / generic / pending-5.15 / 613-netfilter_optional_tcp_window_check.patch
index 1ddfc8e0148631df18ae100a46ff340bd300f786..cb3b63cdb1d1b063529475f05c14f76d8bda84ba 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
        /*
         * Get the required data from the packet.
         */
-@@ -1151,7 +1154,7 @@ int nf_conntrack_tcp_packet(struct nf_co
+@@ -1191,7 +1194,7 @@ int nf_conntrack_tcp_packet(struct nf_co
                 IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
                 timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
                timeout = timeouts[TCP_CONNTRACK_UNACK];
@@ -28,19 +28,19 @@ Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
                 timeouts[new_state] > timeouts[TCP_CONNTRACK_RETRANS])
                timeout = timeouts[TCP_CONNTRACK_RETRANS];
        else
-@@ -1451,6 +1454,9 @@ int nf_conntrack_tcp_packet(struct nf_co
-        * If it's non-zero, we mark only out of window RST segments as INVALID.
+@@ -1507,6 +1510,9 @@ void nf_conntrack_tcp_init_net(struct ne
         */
        tn->tcp_be_liberal = 0;
-+
 +      /* Skip Windows Check */
 +      tn->tcp_no_window_check = 0;
++
        /* If it's non-zero, we turn off RST sequence number check */
        tn->tcp_ignore_invalid_rst = 0;
 --- a/net/netfilter/nf_conntrack_standalone.c
 +++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -671,6 +671,7 @@ enum nf_ct_sysctl_index {
+@@ -633,6 +633,7 @@ enum nf_ct_sysctl_index {
  #endif
        NF_SYSCTL_CT_PROTO_TCP_LOOSE,
        NF_SYSCTL_CT_PROTO_TCP_LIBERAL,
@@ -48,7 +48,7 @@ Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
        NF_SYSCTL_CT_PROTO_TCP_IGNORE_INVALID_RST,
        NF_SYSCTL_CT_PROTO_TCP_MAX_RETRANS,
        NF_SYSCTL_CT_PROTO_TIMEOUT_UDP,
-@@ -800,6 +800,14 @@ static struct ctl_table nf_ct_sysctl_tab
+@@ -848,6 +849,14 @@ static struct ctl_table nf_ct_sysctl_tab
                .extra1         = SYSCTL_ZERO,
                .extra2         = SYSCTL_ONE,
        },
@@ -63,7 +63,7 @@ Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
        [NF_SYSCTL_CT_PROTO_TCP_IGNORE_INVALID_RST] = {
                .procname       = "nf_conntrack_tcp_ignore_invalid_rst",
                .maxlen         = sizeof(u8),
-@@ -900,6 +900,7 @@ static int nf_conntrack_standalone_init_
+@@ -1058,6 +1067,7 @@ static void nf_conntrack_standalone_init
  
        XASSIGN(LOOSE, &tn->tcp_loose);
        XASSIGN(LIBERAL, &tn->tcp_be_liberal);
@@ -73,7 +73,7 @@ Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
  #undef XASSIGN
 --- a/include/net/netns/conntrack.h
 +++ b/include/net/netns/conntrack.h
-@@ -109,6 +109,7 @@ struct netns_ct {
+@@ -26,6 +26,7 @@ struct nf_tcp_net {
        unsigned int timeouts[TCP_CONNTRACK_TIMEOUT_MAX];
        u8 tcp_loose;
        u8 tcp_be_liberal;