diff --git a/root/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch b/root/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch index ef3fba22..3c28843a 100644 --- a/root/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch +++ b/root/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch @@ -8,18 +8,23 @@ Subject: [PATCH] net: patch linux kernel to support shortcut-fe-cm nf_conntrack_timeout.h | 2 + 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 +++ 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); #endif - -+extern unsigned int *udp_get_timeouts(struct net *net); + ++extern unsigned int *udp_get_timeouts(struct net *net); + #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 +++ 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, }; @@ -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, const struct nf_hook_state *state, +-- +2.17.1 + diff --git a/root/target/linux/generic/hack-5.4/647-netfilter-flow-acct.patch b/root/target/linux/generic/hack-5.4/647-netfilter-flow-acct.patch index 9f7ca615..f9480d59 100644 --- a/root/target/linux/generic/hack-5.4/647-netfilter-flow-acct.patch +++ b/root/target/linux/generic/hack-5.4/647-netfilter-flow-acct.patch @@ -1,6 +1,6 @@ --- a/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); void nf_flow_table_hw_unregister(const struct nf_flow_table_hw *offload); @@ -19,7 +19,7 @@ struct flow_offload_entry { 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); @@ -52,7 +52,7 @@ /* For layer 4 checksum field offset. */ #include #include -@@ -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; nexthop = rt_nexthop(rt, flow->tuplehash[!dir].tuple.src_v4.s_addr); skb_dst_set_noref(skb, &rt->dst); @@ -60,7 +60,7 @@ neigh_xmit(NEIGH_ARP_TABLE, outdev, &nexthop, skb); 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; nexthop = rt6_nexthop(rt, &flow->tuplehash[!dir].tuple.src_v6); skb_dst_set_noref(skb, &rt->dst); diff --git a/root/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch b/root/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch index 8d9fec06..d584cb5c 100644 --- a/root/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch +++ b/root/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau depends on !NF_CONNTRACK || NF_CONNTRACK --- a/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 @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau config NF_FLOW_TABLE_INET tristate "Netfilter flow table mixed IPv4/IPv6 module" 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. @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau help 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 select NETFILTER_XT_TARGET_CT @@ -536,7 +536,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -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); @@ -546,7 +546,7 @@ Signed-off-by: Felix Fietkau void (*iter)(struct flow_offload *flow, 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; } @@ -576,7 +576,7 @@ Signed-off-by: Felix Fietkau +#endif /* _XT_FLOWOFFLOAD_H */ --- a/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; } diff --git a/root/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch b/root/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch index e01728fc..c7634495 100755 --- a/root/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch +++ b/root/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch @@ -98,7 +98,7 @@ Signed-off-by: Zhi Chen #if defined(CONFIG_NF_CONNTRACK_LABELS) --- a/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'. diff --git a/root/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/root/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index a25ed559..57b40292 100755 --- a/root/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/root/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -12,9 +12,9 @@ struct list_head *br_ip_list); --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -827,6 +827,10 @@ struct sk_buff { +@@ -826,6 +826,10 @@ struct sk_buff { #endif - __u8 scm_io_uring:1; + __u8 gro_skip:1; +#ifdef CONFIG_SHORTCUT_FE + __u8 fast_forwarded:1; @@ -99,7 +99,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (!dev->eth_mangle_tx || (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); @@ -111,7 +111,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * 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; __be16 type; @@ -119,10 +119,10 @@ + int (*fast_recv)(struct sk_buff *skb); +#endif + - net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); + net_timestamp_check(!netdev_tstamp_prequeue, skb); trace_netif_receive_skb(skb); -@@ -4804,6 +4821,16 @@ another_round: +@@ -4803,6 +4820,16 @@ another_round: goto out; }