1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-03-09 15:40:20 +00:00
This commit is contained in:
suyuan 2022-11-22 15:33:32 +08:00
parent 766555f994
commit e5abee8abb
5 changed files with 29 additions and 21 deletions

View file

@ -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

View file

@ -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);

View file

@ -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;
} }

View file

@ -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'.

View file

@ -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;
} }