kernel/4.9: refresh all patches
This commit is contained in:
parent
4b0ab60da2
commit
2515a5e031
@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
depends on NETFILTER_ADVANCED
|
||||
help
|
||||
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
|
||||
@@ -968,7 +967,6 @@ config NETFILTER_XT_TARGET_SECMARK
|
||||
@@ -980,7 +979,6 @@ config NETFILTER_XT_TARGET_SECMARK
|
||||
|
||||
config NETFILTER_XT_TARGET_TCPMSS
|
||||
tristate '"TCPMSS" target support'
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
EXPORT_SYMBOL(default_qdisc_ops);
|
||||
|
||||
/* Main transmission queue. */
|
||||
@@ -764,7 +764,7 @@ static void attach_one_default_qdisc(str
|
||||
@@ -772,7 +772,7 @@ static void attach_one_default_qdisc(str
|
||||
void *_unused)
|
||||
{
|
||||
struct Qdisc *qdisc;
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -449,146 +449,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
|
||||
@@ -457,146 +457,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
|
||||
@ -186,7 +186,7 @@
|
||||
+extern struct list_head __mdio_board_list;
|
||||
--- a/drivers/net/Makefile
|
||||
+++ b/drivers/net/Makefile
|
||||
@@ -17,7 +17,7 @@ obj-$(CONFIG_MII) += mii.o
|
||||
@@ -18,7 +18,7 @@ obj-$(CONFIG_MII) += mii.o
|
||||
obj-$(CONFIG_MDIO) += mdio.o
|
||||
obj-$(CONFIG_NET) += Space.o loopback.o
|
||||
obj-$(CONFIG_NETCONSOLE) += netconsole.o
|
||||
|
||||
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2340,6 +2340,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -2359,6 +2359,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -2460,16 +2464,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -2479,16 +2483,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
@ -101,8 +101,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -2972,10 +2972,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
|
||||
@@ -2980,10 +2980,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
#endif
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
- len = skb->len;
|
||||
@ -136,7 +136,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
#include <net/protocol.h>
|
||||
#include <net/dst.h>
|
||||
@@ -533,6 +534,22 @@ skb_fail:
|
||||
@@ -614,6 +615,22 @@ skb_fail:
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_alloc_skb);
|
||||
|
||||
|
||||
@ -24,13 +24,11 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
|
||||
net/netfilter/nf_conntrack_proto_tcp.c | 10 ++++++++++
|
||||
4 files changed, 41 insertions(+)
|
||||
|
||||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
|
||||
index 9a0c945..56f4007 100644
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -738,6 +738,9 @@ struct sk_buff {
|
||||
#endif
|
||||
@@ -753,6 +753,9 @@ struct sk_buff {
|
||||
__u8 ipvs_property:1;
|
||||
|
||||
__u8 inner_protocol_type:1;
|
||||
+#ifdef CONFIG_SHORTCUT_FE
|
||||
+ __u8 fast_forwarded:1;
|
||||
@ -38,8 +36,6 @@ index 9a0c945..56f4007 100644
|
||||
__u8 remcsum_offload:1;
|
||||
#ifdef CONFIG_NET_SWITCHDEV
|
||||
__u8 offload_fwd_mark:1;
|
||||
diff --git a/net/Kconfig b/net/Kconfig
|
||||
index b4621e1..6ba72cf 100644
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -444,3 +444,6 @@ config HAVE_CBPF_JIT
|
||||
@ -49,11 +45,9 @@ index b4621e1..6ba72cf 100644
|
||||
+
|
||||
+config SHORTCUT_FE
|
||||
+ bool "Enables kernel network stack path for Shortcut Forwarding Engine"
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index ca39cd2..74cd937 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -2929,8 +2929,17 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev,
|
||||
@@ -2972,6 +2972,12 @@ static int xmit_one(struct sk_buff *skb,
|
||||
unsigned int len;
|
||||
int rc;
|
||||
|
||||
@ -63,7 +57,12 @@ index ca39cd2..74cd937 100644
|
||||
+ */
|
||||
+ if (!skb->fast_forwarded) {
|
||||
+#endif
|
||||
#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
|
||||
if ((!list_empty(&ptype_all) || !list_empty(&dev->ptype_all)) &&
|
||||
!(skb->imq_flags & IMQ_F_ENQUEUE))
|
||||
@@ -2979,6 +2985,9 @@ static int xmit_one(struct sk_buff *skb,
|
||||
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
|
||||
#endif
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
+#ifdef CONFIG_SHORTCUT_FE
|
||||
+ }
|
||||
@ -71,7 +70,7 @@ index ca39cd2..74cd937 100644
|
||||
|
||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
||||
if (!dev->eth_mangle_tx ||
|
||||
@@ -4061,6 +4070,11 @@ void netdev_rx_handler_unregister(struct net_device *dev)
|
||||
@@ -4130,6 +4139,11 @@ void netdev_rx_handler_unregister(struct
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
||||
@ -83,7 +82,7 @@ index ca39cd2..74cd937 100644
|
||||
/*
|
||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||
* the special handling of PFMEMALLOC skbs.
|
||||
@@ -4108,6 +4122,9 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc)
|
||||
@@ -4177,6 +4191,9 @@ static int __netif_receive_skb_core(stru
|
||||
bool deliver_exact = false;
|
||||
int ret = NET_RX_DROP;
|
||||
__be16 type;
|
||||
@ -93,7 +92,7 @@ index ca39cd2..74cd937 100644
|
||||
|
||||
net_timestamp_check(!netdev_tstamp_prequeue, skb);
|
||||
|
||||
@@ -4134,6 +4151,14 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc)
|
||||
@@ -4203,6 +4220,14 @@ another_round:
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -108,8 +107,6 @@ index ca39cd2..74cd937 100644
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
if (skb->tc_verd & TC_NCLS) {
|
||||
skb->tc_verd = CLR_TC_NCLS(skb->tc_verd);
|
||||
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c
|
||||
index f24b626..4581481 100644
|
||||
--- a/net/netfilter/nf_conntrack_proto_tcp.c
|
||||
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
|
||||
@@ -34,12 +34,22 @@
|
||||
@ -135,6 +132,3 @@ index f24b626..4581481 100644
|
||||
|
||||
/* If it is set to zero, we disable picking up already established
|
||||
connections. */
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
||||
@ -24,8 +24,6 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
|
||||
net/bridge/br_if.c | 25 +++++++++++++++++++++++++
|
||||
2 files changed, 26 insertions(+)
|
||||
|
||||
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
|
||||
index 0911c8c..4473f62 100644
|
||||
--- a/include/linux/if_bridge.h
|
||||
+++ b/include/linux/if_bridge.h
|
||||
@@ -52,6 +52,7 @@ struct br_ip_list {
|
||||
@ -36,11 +34,9 @@ index 0911c8c..4473f62 100644
|
||||
|
||||
typedef int br_should_route_hook_t(struct sk_buff *skb);
|
||||
extern br_should_route_hook_t __rcu *br_should_route_hook;
|
||||
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
|
||||
index ed0dd33..342b2d9 100644
|
||||
--- a/net/bridge/br_if.c
|
||||
+++ b/net/bridge/br_if.c
|
||||
@@ -655,3 +655,28 @@ void br_port_flags_change(struct net_bridge_port *p, unsigned long mask)
|
||||
@@ -654,3 +654,28 @@ void br_port_flags_change(struct net_bri
|
||||
if (mask & BR_AUTO_MASK)
|
||||
nbp_update_port_count(br);
|
||||
}
|
||||
@ -69,6 +65,3 @@ index ed0dd33..342b2d9 100644
|
||||
+ u64_stats_update_end(&stats->syncp);
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(br_dev_update_stats);
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
||||
@ -20,8 +20,6 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
net/netfilter/nf_conntrack_netlink.c | 19 ++++++
|
||||
6 files changed, 139 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h
|
||||
index 12d967b..c2b98b6 100644
|
||||
--- a/include/net/netfilter/nf_conntrack_ecache.h
|
||||
+++ b/include/net/netfilter/nf_conntrack_ecache.h
|
||||
@@ -70,6 +70,10 @@ struct nf_ct_event {
|
||||
@ -35,7 +33,7 @@ index 12d967b..c2b98b6 100644
|
||||
struct nf_ct_event_notifier {
|
||||
int (*fcn)(unsigned int events, struct nf_ct_event *item);
|
||||
};
|
||||
@@ -78,6 +82,7 @@ int nf_conntrack_register_notifier(struct net *net,
|
||||
@@ -78,6 +82,7 @@ int nf_conntrack_register_notifier(struc
|
||||
struct nf_ct_event_notifier *nb);
|
||||
void nf_conntrack_unregister_notifier(struct net *net,
|
||||
struct nf_ct_event_notifier *nb);
|
||||
@ -43,7 +41,7 @@ index 12d967b..c2b98b6 100644
|
||||
|
||||
void nf_ct_deliver_cached_events(struct nf_conn *ct);
|
||||
int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
@@ -86,11 +91,13 @@ int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
@@ -86,11 +91,13 @@ int nf_conntrack_eventmask_report(unsign
|
||||
static inline void
|
||||
nf_conntrack_event_cache(enum ip_conntrack_events event, struct nf_conn *ct)
|
||||
{
|
||||
@ -71,7 +69,7 @@ index 12d967b..c2b98b6 100644
|
||||
|
||||
return nf_conntrack_eventmask_report(1 << event, ct, portid, report);
|
||||
}
|
||||
@@ -114,10 +123,12 @@ nf_conntrack_event_report(enum ip_conntrack_events event, struct nf_conn *ct,
|
||||
@@ -114,10 +123,12 @@ nf_conntrack_event_report(enum ip_conntr
|
||||
static inline int
|
||||
nf_conntrack_event(enum ip_conntrack_events event, struct nf_conn *ct)
|
||||
{
|
||||
@ -84,8 +82,6 @@ index 12d967b..c2b98b6 100644
|
||||
|
||||
return nf_conntrack_eventmask_report(1 << event, ct, 0, 0);
|
||||
}
|
||||
diff --git a/include/net/netns/conntrack.h b/include/net/netns/conntrack.h
|
||||
index e469e85..1d31db8 100644
|
||||
--- a/include/net/netns/conntrack.h
|
||||
+++ b/include/net/netns/conntrack.h
|
||||
@@ -86,7 +86,11 @@ struct netns_ct {
|
||||
@ -100,8 +96,6 @@ index e469e85..1d31db8 100644
|
||||
struct nf_exp_event_notifier __rcu *nf_expect_event_cb;
|
||||
struct nf_ip_net nf_ct_proto;
|
||||
#if defined(CONFIG_NF_CONNTRACK_LABELS)
|
||||
diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
|
||||
index 63073be..08d7aab 100644
|
||||
--- a/net/netfilter/Kconfig
|
||||
+++ b/net/netfilter/Kconfig
|
||||
@@ -136,6 +136,14 @@ config NF_CONNTRACK_TIMEOUT
|
||||
@ -119,11 +113,9 @@ index 63073be..08d7aab 100644
|
||||
config NF_CONNTRACK_TIMESTAMP
|
||||
bool 'Connection tracking timestamping'
|
||||
depends on NETFILTER_ADVANCED
|
||||
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
|
||||
index 6bd1508..9b81c7c 100644
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -1998,6 +1998,10 @@ int nf_conntrack_init_net(struct net *net)
|
||||
@@ -2077,6 +2077,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
ret = nf_conntrack_proto_pernet_init(net);
|
||||
if (ret < 0)
|
||||
goto err_proto;
|
||||
@ -134,8 +126,6 @@ index 6bd1508..9b81c7c 100644
|
||||
return 0;
|
||||
|
||||
err_proto:
|
||||
diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c
|
||||
index da9df2d..e0e2a8f 100644
|
||||
--- a/net/netfilter/nf_conntrack_ecache.c
|
||||
+++ b/net/netfilter/nf_conntrack_ecache.c
|
||||
@@ -18,6 +18,9 @@
|
||||
@ -148,7 +138,7 @@ index da9df2d..e0e2a8f 100644
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/slab.h>
|
||||
@@ -117,6 +120,38 @@ static void ecache_work(struct work_struct *work)
|
||||
@@ -117,6 +120,38 @@ static void ecache_work(struct work_stru
|
||||
schedule_delayed_work(&ctnet->ecache_dwork, delay);
|
||||
}
|
||||
|
||||
@ -187,7 +177,7 @@ index da9df2d..e0e2a8f 100644
|
||||
int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
u32 portid, int report)
|
||||
{
|
||||
@@ -171,10 +206,52 @@ int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
@@ -171,10 +206,52 @@ out_unlock:
|
||||
rcu_read_unlock();
|
||||
return ret;
|
||||
}
|
||||
@ -240,7 +230,7 @@ index da9df2d..e0e2a8f 100644
|
||||
void nf_ct_deliver_cached_events(struct nf_conn *ct)
|
||||
{
|
||||
struct net *net = nf_ct_net(ct);
|
||||
@@ -225,6 +302,7 @@ void nf_ct_deliver_cached_events(struct nf_conn *ct)
|
||||
@@ -225,6 +302,7 @@ void nf_ct_deliver_cached_events(struct
|
||||
out_unlock:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
@ -248,7 +238,7 @@ index da9df2d..e0e2a8f 100644
|
||||
EXPORT_SYMBOL_GPL(nf_ct_deliver_cached_events);
|
||||
|
||||
void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
|
||||
@@ -257,6 +335,12 @@ void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
|
||||
@@ -257,6 +335,12 @@ out_unlock:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
@ -261,7 +251,7 @@ index da9df2d..e0e2a8f 100644
|
||||
int nf_conntrack_register_notifier(struct net *net,
|
||||
struct nf_ct_event_notifier *new)
|
||||
{
|
||||
@@ -277,8 +361,15 @@ int nf_conntrack_register_notifier(struct net *net,
|
||||
@@ -277,8 +361,15 @@ out_unlock:
|
||||
mutex_unlock(&nf_ct_ecache_mutex);
|
||||
return ret;
|
||||
}
|
||||
@ -277,16 +267,14 @@ index da9df2d..e0e2a8f 100644
|
||||
void nf_conntrack_unregister_notifier(struct net *net,
|
||||
struct nf_ct_event_notifier *new)
|
||||
{
|
||||
@@ -291,6 +382,7 @@ void nf_conntrack_unregister_notifier(struct net *net,
|
||||
RCU_INIT_POINTER(net->ct.nf_conntrack_event_cb, NULL);
|
||||
@@ -292,6 +383,7 @@ void nf_conntrack_unregister_notifier(st
|
||||
mutex_unlock(&nf_ct_ecache_mutex);
|
||||
/* synchronize_rcu() is called from ctnetlink_exit. */
|
||||
}
|
||||
+#endif
|
||||
EXPORT_SYMBOL_GPL(nf_conntrack_unregister_notifier);
|
||||
|
||||
int nf_ct_expect_register_notifier(struct net *net,
|
||||
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
|
||||
index 04111c1..8c741f7 100644
|
||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||
+++ b/net/netfilter/nf_conntrack_netlink.c
|
||||
@@ -28,6 +28,11 @@
|
||||
@ -299,9 +287,9 @@ index 04111c1..8c741f7 100644
|
||||
+#endif
|
||||
+
|
||||
#include <linux/slab.h>
|
||||
#include <linux/siphash.h>
|
||||
|
||||
#include <linux/netfilter.h>
|
||||
@@ -615,14 +620,22 @@ static size_t ctnetlink_nlmsg_size(const struct nf_conn *ct)
|
||||
@@ -618,14 +623,22 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
;
|
||||
}
|
||||
|
||||
@ -324,7 +312,7 @@ index 04111c1..8c741f7 100644
|
||||
struct nf_conn *ct = item->ct;
|
||||
struct sk_buff *skb;
|
||||
unsigned int type;
|
||||
@@ -3260,9 +3273,15 @@ static int ctnetlink_stat_exp_cpu(struct net *net, struct sock *ctnl,
|
||||
@@ -3288,9 +3301,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
@ -340,6 +328,3 @@ index 04111c1..8c741f7 100644
|
||||
|
||||
static struct nf_exp_event_notifier ctnl_notifier_exp = {
|
||||
.fcn = ctnetlink_expect_event,
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/drivers/mtd/redboot.c
|
||||
+++ b/drivers/mtd/redboot.c
|
||||
@@ -265,14 +265,21 @@ static int parse_redboot_partitions(stru
|
||||
@@ -266,14 +266,21 @@ static int parse_redboot_partitions(stru
|
||||
#endif
|
||||
names += strlen(names)+1;
|
||||
|
||||
|
||||
@ -1411,7 +1411,7 @@
|
||||
+
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -3669,6 +3669,19 @@ static inline void netif_tx_unlock_bh(struct net_device *dev)
|
||||
@@ -3694,6 +3694,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
} \
|
||||
}
|
||||
|
||||
@ -1482,7 +1482,7 @@
|
||||
|
||||
/* The interface for checksum offload between the stack and networking drivers
|
||||
* is as follows...
|
||||
@@ -654,6 +658,9 @@ struct sk_buff {
|
||||
@@ -660,6 +664,9 @@ struct sk_buff {
|
||||
* first. This is owned by whoever has the skb queued ATM.
|
||||
*/
|
||||
char cb[48] __aligned(8);
|
||||
@ -1492,7 +1492,7 @@
|
||||
|
||||
unsigned long _skb_refdst;
|
||||
void (*destructor)(struct sk_buff *skb);
|
||||
@@ -663,6 +670,9 @@ struct sk_buff {
|
||||
@@ -669,6 +676,9 @@ struct sk_buff {
|
||||
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
|
||||
struct nf_conntrack *nfct;
|
||||
#endif
|
||||
@ -1502,9 +1502,9 @@
|
||||
#if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
|
||||
struct nf_bridge_info *nf_bridge;
|
||||
#endif
|
||||
@@ -743,6 +753,9 @@ struct sk_buff {
|
||||
__u8 gro_skip:1;
|
||||
/* 1, 3 or 4 bit hole */
|
||||
@@ -749,6 +759,9 @@ struct sk_buff {
|
||||
#endif
|
||||
/* 2, 4 or 5 bit hole */
|
||||
|
||||
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
|
||||
+ __u8 imq_flags:IMQ_F_BITS;
|
||||
@ -1512,7 +1512,7 @@
|
||||
#ifdef CONFIG_NET_SCHED
|
||||
__u16 tc_index; /* traffic control index */
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
@@ -903,6 +916,12 @@ void kfree_skb_list(struct sk_buff *segs);
|
||||
@@ -908,6 +921,12 @@ void kfree_skb_list(struct sk_buff *segs
|
||||
void skb_tx_error(struct sk_buff *skb);
|
||||
void consume_skb(struct sk_buff *skb);
|
||||
void __kfree_skb(struct sk_buff *skb);
|
||||
@ -1525,7 +1525,7 @@
|
||||
extern struct kmem_cache *skbuff_head_cache;
|
||||
|
||||
void kfree_skb_partial(struct sk_buff *skb, bool head_stolen);
|
||||
@@ -3594,6 +3613,10 @@ static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src,
|
||||
@@ -3628,6 +3647,10 @@ static inline void __nf_copy(struct sk_b
|
||||
if (copy)
|
||||
dst->nfctinfo = src->nfctinfo;
|
||||
#endif
|
||||
@ -1553,7 +1553,7 @@
|
||||
void nf_queue_entry_release_refs(struct nf_queue_entry *entry);
|
||||
--- a/include/net/pkt_sched.h
|
||||
+++ b/include/net/pkt_sched.h
|
||||
@@ -105,6 +105,8 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q,
|
||||
@@ -105,6 +105,8 @@ int sch_direct_xmit(struct sk_buff *skb,
|
||||
|
||||
void __qdisc_run(struct Qdisc *q);
|
||||
|
||||
@ -1564,7 +1564,7 @@
|
||||
if (qdisc_run_begin(q))
|
||||
--- a/include/net/sch_generic.h
|
||||
+++ b/include/net/sch_generic.h
|
||||
@@ -518,6 +518,13 @@ static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
@@ -523,6 +523,13 @@ static inline int qdisc_enqueue(struct s
|
||||
return sch->enqueue(skb, sch, to_free);
|
||||
}
|
||||
|
||||
@ -1602,7 +1602,7 @@
|
||||
|
||||
#include "net-sysfs.h"
|
||||
|
||||
@@ -2906,7 +2909,12 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev,
|
||||
@@ -2969,7 +2972,12 @@ static int xmit_one(struct sk_buff *skb,
|
||||
unsigned int len;
|
||||
int rc;
|
||||
|
||||
@ -1615,7 +1615,7 @@
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
len = skb->len;
|
||||
@@ -2945,6 +2953,8 @@ struct sk_buff *dev_hard_start_xmit(struct sk_buff *first, struct net_device *de
|
||||
@@ -3008,6 +3016,8 @@ out:
|
||||
return skb;
|
||||
}
|
||||
|
||||
@ -1626,7 +1626,7 @@
|
||||
{
|
||||
--- a/net/core/skbuff.c
|
||||
+++ b/net/core/skbuff.c
|
||||
@@ -82,6 +82,87 @@ struct kmem_cache *skbuff_head_cache __read_mostly;
|
||||
@@ -82,6 +82,87 @@ struct kmem_cache *skbuff_head_cache __r
|
||||
static struct kmem_cache *skbuff_fclone_cache __read_mostly;
|
||||
int sysctl_max_skb_frags __read_mostly = MAX_SKB_FRAGS;
|
||||
EXPORT_SYMBOL(sysctl_max_skb_frags);
|
||||
@ -1714,7 +1714,7 @@
|
||||
|
||||
/**
|
||||
* skb_panic - private function for out-of-line support
|
||||
@@ -654,6 +735,28 @@ static void skb_release_head_state(struct sk_buff *skb)
|
||||
@@ -658,6 +739,28 @@ static void skb_release_head_state(struc
|
||||
WARN_ON(in_irq());
|
||||
skb->destructor(skb);
|
||||
}
|
||||
@ -1743,7 +1743,7 @@
|
||||
#if IS_ENABLED(CONFIG_NF_CONNTRACK)
|
||||
nf_conntrack_put(skb->nfct);
|
||||
#endif
|
||||
@@ -843,6 +946,10 @@ static void __copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
|
||||
@@ -847,6 +950,10 @@ static void __copy_skb_header(struct sk_
|
||||
new->sp = secpath_get(old->sp);
|
||||
#endif
|
||||
__nf_copy(new, old, false);
|
||||
@ -1754,7 +1754,7 @@
|
||||
|
||||
/* Note : this field could be in headers_start/headers_end section
|
||||
* It is not yet because we do not want to have a 16 bit hole
|
||||
@@ -3464,6 +3571,13 @@ void __init skb_init(void)
|
||||
@@ -3521,6 +3628,13 @@ void __init skb_init(void)
|
||||
0,
|
||||
SLAB_HWCACHE_ALIGN|SLAB_PANIC,
|
||||
NULL);
|
||||
@ -1767,10 +1767,10 @@
|
||||
+#endif
|
||||
}
|
||||
|
||||
/**
|
||||
static int
|
||||
--- a/net/ipv6/ip6_output.c
|
||||
+++ b/net/ipv6/ip6_output.c
|
||||
@@ -66,9 +66,6 @@ static int ip6_finish_output2(struct net *net, struct sock *sk, struct sk_buff *
|
||||
@@ -66,9 +66,6 @@ static int ip6_finish_output2(struct net
|
||||
struct in6_addr *nexthop;
|
||||
int ret;
|
||||
|
||||
@ -1780,7 +1780,7 @@
|
||||
if (ipv6_addr_is_multicast(&ipv6_hdr(skb)->daddr)) {
|
||||
struct inet6_dev *idev = ip6_dst_idev(skb_dst(skb));
|
||||
|
||||
@@ -150,6 +147,13 @@ int ip6_output(struct net *net, struct sock *sk, struct sk_buff *skb)
|
||||
@@ -150,6 +147,13 @@ int ip6_output(struct net *net, struct s
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1796,7 +1796,7 @@
|
||||
ip6_finish_output,
|
||||
--- a/net/netfilter/core.c
|
||||
+++ b/net/netfilter/core.c
|
||||
@@ -360,8 +360,11 @@ int nf_hook_slow(struct sk_buff *skb, struct nf_hook_state *state)
|
||||
@@ -360,8 +360,11 @@ next_hook:
|
||||
ret = NF_DROP_GETERR(verdict);
|
||||
if (ret == 0)
|
||||
ret = -EPERM;
|
||||
@ -1808,10 +1808,10 @@
|
||||
+ goto next_hook;
|
||||
if (ret == 1 && entry)
|
||||
goto next_hook;
|
||||
}
|
||||
} else {
|
||||
--- a/net/netfilter/Kconfig
|
||||
+++ b/net/netfilter/Kconfig
|
||||
@@ -833,6 +833,18 @@ config NETFILTER_XT_TARGET_LOG
|
||||
@@ -835,6 +835,18 @@ config NETFILTER_XT_TARGET_LOG
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
|
||||
@ -1832,7 +1832,7 @@
|
||||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/Makefile
|
||||
+++ b/net/netfilter/Makefile
|
||||
@@ -119,6 +119,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o
|
||||
@@ -122,6 +122,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CT) +=
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_HL) += xt_HL.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_HMARK) += xt_HMARK.o
|
||||
@ -1866,7 +1866,7 @@
|
||||
/* return EBUSY when somebody else is registered, return EEXIST if the
|
||||
* same handler is registered, return 0 in case of success. */
|
||||
void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh)
|
||||
@@ -108,16 +125,28 @@ void nf_queue_nf_hook_drop(struct net *net, const struct nf_hook_entry *entry)
|
||||
@@ -108,16 +125,28 @@ void nf_queue_nf_hook_drop(struct net *n
|
||||
}
|
||||
|
||||
static int __nf_queue(struct sk_buff *skb, const struct nf_hook_state *state,
|
||||
@ -1897,7 +1897,7 @@
|
||||
if (!qh) {
|
||||
status = -ESRCH;
|
||||
goto err;
|
||||
@@ -164,8 +193,14 @@ int nf_queue(struct sk_buff *skb, struct nf_hook_state *state,
|
||||
@@ -164,8 +193,14 @@ int nf_queue(struct sk_buff *skb, struct
|
||||
int ret;
|
||||
|
||||
RCU_INIT_POINTER(state->hook_entries, entry);
|
||||
@ -1913,7 +1913,7 @@
|
||||
if (ret == -ESRCH &&
|
||||
(verdict & NF_VERDICT_FLAG_QUEUE_BYPASS)) {
|
||||
*entryp = rcu_dereference(entry->next);
|
||||
@@ -218,6 +253,7 @@ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
|
||||
@@ -218,6 +253,7 @@ okfn:
|
||||
local_bh_enable();
|
||||
break;
|
||||
case NF_QUEUE:
|
||||
@ -1998,7 +1998,7 @@
|
||||
+
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -154,6 +154,14 @@ static struct sk_buff *dequeue_skb(struct Qdisc *q, bool *validate,
|
||||
@@ -154,6 +154,14 @@ bulk:
|
||||
return skb;
|
||||
}
|
||||
|
||||
|
||||
@ -269,7 +269,7 @@
|
||||
+#endif /*_IPT_WEBURL_H*/
|
||||
--- a/net/ipv4/netfilter/Kconfig
|
||||
+++ b/net/ipv4/netfilter/Kconfig
|
||||
@@ -417,5 +417,25 @@ config IP_NF_ARP_MANGLE
|
||||
@@ -406,5 +406,25 @@ config IP_NF_ARP_MANGLE
|
||||
|
||||
endif # IP_NF_ARPTABLES
|
||||
|
||||
@ -297,7 +297,7 @@
|
||||
|
||||
--- a/net/ipv4/netfilter/Makefile
|
||||
+++ b/net/ipv4/netfilter/Makefile
|
||||
@@ -55,6 +55,10 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
|
||||
@@ -50,6 +50,10 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
|
||||
obj-$(CONFIG_IP_NF_SECURITY) += iptable_security.o
|
||||
|
||||
# matches
|
||||
@ -3908,7 +3908,6 @@
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
+
|
||||
|
||||
--- /dev/null
|
||||
+++ b/net/ipv4/netfilter/ipt_bandwidth.mod.c
|
||||
@@ -0,0 +1,20 @@
|
||||
@ -4077,7 +4076,6 @@
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
+
|
||||
|
||||
--- /dev/null
|
||||
+++ b/net/ipv4/netfilter/ipt_timerange.mod.c
|
||||
@@ -0,0 +1,20 @@
|
||||
@ -5423,7 +5421,6 @@
|
||||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
|
||||
--- /dev/null
|
||||
+++ b/net/ipv4/netfilter/ipt_weburl.c
|
||||
@@ -0,0 +1,537 @@
|
||||
@ -5964,7 +5961,6 @@
|
||||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
|
||||
--- /dev/null
|
||||
+++ b/net/ipv4/netfilter/ipt_weburl.mod.c
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2304,7 +2304,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -2323,7 +2323,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -747,7 +747,8 @@ struct sk_buff {
|
||||
@@ -757,7 +757,8 @@ struct sk_buff {
|
||||
#ifdef CONFIG_NET_SWITCHDEV
|
||||
__u8 offload_fwd_mark:1;
|
||||
#endif
|
||||
@ -30,11 +30,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ __u8 gro_skip:1;
|
||||
+ /* 1, 3 or 4 bit hole */
|
||||
|
||||
#ifdef CONFIG_NET_SCHED
|
||||
__u16 tc_index; /* traffic control index */
|
||||
#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
|
||||
__u8 imq_flags:IMQ_F_BITS;
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -4572,6 +4572,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -4582,6 +4582,9 @@ static enum gro_result dev_gro_receive(s
|
||||
enum gro_result ret;
|
||||
int grow;
|
||||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!(skb->dev->features & NETIF_F_GRO))
|
||||
goto normal;
|
||||
|
||||
@@ -5867,6 +5870,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -5877,6 +5880,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info)
|
||||
@@ -5939,6 +5984,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -5949,6 +5994,7 @@ static int __netdev_upper_dev_link(struc
|
||||
goto rollback_lower_mesh;
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -6065,6 +6111,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -6075,6 +6121,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
|
||||
|
||||
@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
}
|
||||
@@ -6668,6 +6715,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -6678,6 +6725,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@ -60,8 +60,8 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
+obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o
|
||||
--- a/drivers/leds/trigger/Kconfig
|
||||
+++ b/drivers/leds/trigger/Kconfig
|
||||
@@ -126,4 +126,11 @@ config LEDS_TRIGGER_PANIC
|
||||
a different trigger.
|
||||
@@ -133,4 +133,11 @@ config LEDS_TRIGGER_NETDEV
|
||||
This allows LEDs to be controlled by network device activity.
|
||||
If unsure, say Y.
|
||||
|
||||
+config LEDS_TRIGGER_NETDEV
|
||||
|
||||
Loading…
Reference in New Issue
Block a user