mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
fix
This commit is contained in:
parent
766555f994
commit
e5abee8abb
5 changed files with 29 additions and 21 deletions
|
@ -8,18 +8,23 @@ Subject: [PATCH] net: patch linux kernel to support shortcut-fe-cm
|
||||||
nf_conntrack_timeout.h | 2 +
|
nf_conntrack_timeout.h | 2 +
|
||||||
1 file changed, 2 insertion(+)
|
1 file changed, 2 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/include/net/netfilter/nf_conntrack_timeout.h b/include/net/netfilter/nf_conntrack_timeout.h
|
||||||
|
index 6dd7239..e1f6d69 100644
|
||||||
--- a/include/net/netfilter/nf_conntrack_timeout.h
|
--- a/include/net/netfilter/nf_conntrack_timeout.h
|
||||||
+++ b/include/net/netfilter/nf_conntrack_timeout.h
|
+++ b/include/net/netfilter/nf_conntrack_timeout.h
|
||||||
@@ -124,4 +124,6 @@ extern struct nf_ct_timeout *(*nf_ct_tim
|
@@ -123,5 +123,7 @@ static inline void nf_ct_destroy_timeout(struct nf_conn *ct)
|
||||||
|
extern struct nf_ct_timeout *(*nf_ct_timeout_find_get_hook)(struct net *net, const char *name);
|
||||||
extern void (*nf_ct_timeout_put_hook)(struct nf_ct_timeout *timeout);
|
extern void (*nf_ct_timeout_put_hook)(struct nf_ct_timeout *timeout);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
+extern unsigned int *udp_get_timeouts(struct net *net);
|
|
||||||
+
|
+
|
||||||
|
+extern unsigned int *udp_get_timeouts(struct net *net);
|
||||||
|
|
||||||
#endif /* _NF_CONNTRACK_TIMEOUT_H */
|
#endif /* _NF_CONNTRACK_TIMEOUT_H */
|
||||||
|
diff --git a/net/netfilter/nf_conntrack_proto_udp.c b/net/netfilter/nf_conntrack_proto_udp.c
|
||||||
|
index 7365b43..2238d55 100644
|
||||||
--- a/net/netfilter/nf_conntrack_proto_udp.c
|
--- a/net/netfilter/nf_conntrack_proto_udp.c
|
||||||
+++ b/net/netfilter/nf_conntrack_proto_udp.c
|
+++ b/net/netfilter/nf_conntrack_proto_udp.c
|
||||||
@@ -29,10 +29,11 @@ static const unsigned int udp_timeouts[U
|
@@ -29,10 +29,11 @@ static const unsigned int udp_timeouts[UDP_CT_MAX] = {
|
||||||
[UDP_CT_REPLIED] = 120*HZ,
|
[UDP_CT_REPLIED] = 120*HZ,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -32,3 +37,6 @@ Subject: [PATCH] net: patch linux kernel to support shortcut-fe-cm
|
||||||
|
|
||||||
static void udp_error_log(const struct sk_buff *skb,
|
static void udp_error_log(const struct sk_buff *skb,
|
||||||
const struct nf_hook_state *state,
|
const struct nf_hook_state *state,
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/include/net/netfilter/nf_flow_table.h
|
--- a/include/net/netfilter/nf_flow_table.h
|
||||||
+++ b/include/net/netfilter/nf_flow_table.h
|
+++ b/include/net/netfilter/nf_flow_table.h
|
||||||
@@ -163,6 +163,8 @@ struct nf_flow_table_hw {
|
@@ -160,6 +160,8 @@ struct nf_flow_table_hw {
|
||||||
int nf_flow_table_hw_register(const struct nf_flow_table_hw *offload);
|
int nf_flow_table_hw_register(const struct nf_flow_table_hw *offload);
|
||||||
void nf_flow_table_hw_unregister(const struct nf_flow_table_hw *offload);
|
void nf_flow_table_hw_unregister(const struct nf_flow_table_hw *offload);
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
struct flow_offload_entry {
|
struct flow_offload_entry {
|
||||||
struct flow_offload flow;
|
struct flow_offload flow;
|
||||||
@@ -177,6 +178,22 @@ void flow_offload_free(struct flow_offlo
|
@@ -164,6 +165,22 @@ void flow_offload_free(struct flow_offlo
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(flow_offload_free);
|
EXPORT_SYMBOL_GPL(flow_offload_free);
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
/* For layer 4 checksum field offset. */
|
/* For layer 4 checksum field offset. */
|
||||||
#include <linux/tcp.h>
|
#include <linux/tcp.h>
|
||||||
#include <linux/udp.h>
|
#include <linux/udp.h>
|
||||||
@@ -288,6 +289,7 @@ nf_flow_offload_ip_hook(void *priv, stru
|
@@ -296,6 +297,7 @@ nf_flow_offload_ip_hook(void *priv, stru
|
||||||
skb->dev = outdev;
|
skb->dev = outdev;
|
||||||
nexthop = rt_nexthop(rt, flow->tuplehash[!dir].tuple.src_v4.s_addr);
|
nexthop = rt_nexthop(rt, flow->tuplehash[!dir].tuple.src_v4.s_addr);
|
||||||
skb_dst_set_noref(skb, &rt->dst);
|
skb_dst_set_noref(skb, &rt->dst);
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
neigh_xmit(NEIGH_ARP_TABLE, outdev, &nexthop, skb);
|
neigh_xmit(NEIGH_ARP_TABLE, outdev, &nexthop, skb);
|
||||||
|
|
||||||
return NF_STOLEN;
|
return NF_STOLEN;
|
||||||
@@ -518,6 +520,7 @@ nf_flow_offload_ipv6_hook(void *priv, st
|
@@ -526,6 +528,7 @@ nf_flow_offload_ipv6_hook(void *priv, st
|
||||||
skb->dev = outdev;
|
skb->dev = outdev;
|
||||||
nexthop = rt6_nexthop(rt, &flow->tuplehash[!dir].tuple.src_v6);
|
nexthop = rt6_nexthop(rt, &flow->tuplehash[!dir].tuple.src_v6);
|
||||||
skb_dst_set_noref(skb, &rt->dst);
|
skb_dst_set_noref(skb, &rt->dst);
|
||||||
|
|
|
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
depends on !NF_CONNTRACK || NF_CONNTRACK
|
depends on !NF_CONNTRACK || NF_CONNTRACK
|
||||||
--- a/net/netfilter/Kconfig
|
--- a/net/netfilter/Kconfig
|
||||||
+++ b/net/netfilter/Kconfig
|
+++ b/net/netfilter/Kconfig
|
||||||
@@ -689,8 +689,6 @@ config NFT_FIB_NETDEV
|
@@ -690,8 +690,6 @@ config NFT_FIB_NETDEV
|
||||||
|
|
||||||
endif # NF_TABLES_NETDEV
|
endif # NF_TABLES_NETDEV
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
config NF_FLOW_TABLE_INET
|
config NF_FLOW_TABLE_INET
|
||||||
tristate "Netfilter flow table mixed IPv4/IPv6 module"
|
tristate "Netfilter flow table mixed IPv4/IPv6 module"
|
||||||
depends on NF_FLOW_TABLE
|
depends on NF_FLOW_TABLE
|
||||||
@@ -699,11 +697,12 @@ config NF_FLOW_TABLE_INET
|
@@ -700,11 +698,12 @@ config NF_FLOW_TABLE_INET
|
||||||
|
|
||||||
To compile it as a module, choose M here.
|
To compile it as a module, choose M here.
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
help
|
help
|
||||||
This option adds the flow table core infrastructure.
|
This option adds the flow table core infrastructure.
|
||||||
|
|
||||||
@@ -992,6 +991,15 @@ config NETFILTER_XT_TARGET_NOTRACK
|
@@ -993,6 +992,15 @@ config NETFILTER_XT_TARGET_NOTRACK
|
||||||
depends on NETFILTER_ADVANCED
|
depends on NETFILTER_ADVANCED
|
||||||
select NETFILTER_XT_TARGET_CT
|
select NETFILTER_XT_TARGET_CT
|
||||||
|
|
||||||
|
@ -536,7 +536,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
#include <net/netfilter/nf_flow_table.h>
|
#include <net/netfilter/nf_flow_table.h>
|
||||||
#include <net/netfilter/nf_conntrack.h>
|
#include <net/netfilter/nf_conntrack.h>
|
||||||
#include <net/netfilter/nf_conntrack_core.h>
|
#include <net/netfilter/nf_conntrack_core.h>
|
||||||
@@ -351,8 +350,7 @@ flow_offload_lookup(struct nf_flowtable
|
@@ -338,8 +337,7 @@ flow_offload_lookup(struct nf_flowtable
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(flow_offload_lookup);
|
EXPORT_SYMBOL_GPL(flow_offload_lookup);
|
||||||
|
|
||||||
|
@ -546,7 +546,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
void (*iter)(struct flow_offload *flow, void *data),
|
void (*iter)(struct flow_offload *flow, void *data),
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
@@ -385,6 +383,7 @@ nf_flow_table_iterate(struct nf_flowtabl
|
@@ -372,6 +370,7 @@ nf_flow_table_iterate(struct nf_flowtabl
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -576,7 +576,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
+#endif /* _XT_FLOWOFFLOAD_H */
|
+#endif /* _XT_FLOWOFFLOAD_H */
|
||||||
--- a/include/net/netfilter/nf_flow_table.h
|
--- a/include/net/netfilter/nf_flow_table.h
|
||||||
+++ b/include/net/netfilter/nf_flow_table.h
|
+++ b/include/net/netfilter/nf_flow_table.h
|
||||||
@@ -133,6 +133,10 @@ static inline void flow_offload_dead(str
|
@@ -130,6 +130,10 @@ static inline void flow_offload_dead(str
|
||||||
flow->flags |= FLOW_OFFLOAD_DYING;
|
flow->flags |= FLOW_OFFLOAD_DYING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||||
#if defined(CONFIG_NF_CONNTRACK_LABELS)
|
#if defined(CONFIG_NF_CONNTRACK_LABELS)
|
||||||
--- a/net/netfilter/Kconfig
|
--- a/net/netfilter/Kconfig
|
||||||
+++ b/net/netfilter/Kconfig
|
+++ b/net/netfilter/Kconfig
|
||||||
@@ -135,6 +135,14 @@ config NF_CONNTRACK_EVENTS
|
@@ -136,6 +136,14 @@ config NF_CONNTRACK_EVENTS
|
||||||
|
|
||||||
If unsure, say `N'.
|
If unsure, say `N'.
|
||||||
|
|
||||||
|
|
|
@ -12,9 +12,9 @@
|
||||||
struct list_head *br_ip_list);
|
struct list_head *br_ip_list);
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/include/linux/skbuff.h
|
+++ b/include/linux/skbuff.h
|
||||||
@@ -827,6 +827,10 @@ struct sk_buff {
|
@@ -826,6 +826,10 @@ struct sk_buff {
|
||||||
#endif
|
#endif
|
||||||
__u8 scm_io_uring:1;
|
__u8 gro_skip:1;
|
||||||
|
|
||||||
+#ifdef CONFIG_SHORTCUT_FE
|
+#ifdef CONFIG_SHORTCUT_FE
|
||||||
+ __u8 fast_forwarded:1;
|
+ __u8 fast_forwarded:1;
|
||||||
|
@ -99,7 +99,7 @@
|
||||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
||||||
if (!dev->eth_mangle_tx ||
|
if (!dev->eth_mangle_tx ||
|
||||||
(skb = dev->eth_mangle_tx(dev, skb)) != NULL)
|
(skb = dev->eth_mangle_tx(dev, skb)) != NULL)
|
||||||
@@ -4715,6 +4723,11 @@ void netdev_rx_handler_unregister(struct
|
@@ -4714,6 +4722,11 @@ void netdev_rx_handler_unregister(struct
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
/*
|
/*
|
||||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||||
* the special handling of PFMEMALLOC skbs.
|
* the special handling of PFMEMALLOC skbs.
|
||||||
@@ -4765,6 +4778,10 @@ static int __netif_receive_skb_core(stru
|
@@ -4764,6 +4777,10 @@ static int __netif_receive_skb_core(stru
|
||||||
int ret = NET_RX_DROP;
|
int ret = NET_RX_DROP;
|
||||||
__be16 type;
|
__be16 type;
|
||||||
|
|
||||||
|
@ -119,10 +119,10 @@
|
||||||
+ int (*fast_recv)(struct sk_buff *skb);
|
+ int (*fast_recv)(struct sk_buff *skb);
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
|
net_timestamp_check(!netdev_tstamp_prequeue, skb);
|
||||||
|
|
||||||
trace_netif_receive_skb(skb);
|
trace_netif_receive_skb(skb);
|
||||||
@@ -4804,6 +4821,16 @@ another_round:
|
@@ -4803,6 +4820,16 @@ another_round:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue