aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-10-27 22:55:39 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2014-10-27 22:55:39 +0000
commita76ee3b1d5dee92a13ba357e9baf2ad155976604 (patch)
tree38745103e28135d9d7fc5fbfbc64a5eb7f6f49d3 /target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch
parentcea2b5299b13fcfef7de2f194e833e545e9e0f2f (diff)
downloadupstream-a76ee3b1d5dee92a13ba357e9baf2ad155976604.tar.gz
upstream-a76ee3b1d5dee92a13ba357e9baf2ad155976604.tar.bz2
upstream-a76ee3b1d5dee92a13ba357e9baf2ad155976604.zip
kernel: make the kernel 3.18 patches apply and boot on arm.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 43095
Diffstat (limited to 'target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch')
-rw-r--r--target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch34
1 files changed, 17 insertions, 17 deletions
diff --git a/target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch b/target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch
index 9b223fba97..bbfcaa402d 100644
--- a/target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch
+++ b/target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch
@@ -1,6 +1,6 @@
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
-@@ -57,7 +57,7 @@ int br_dev_queue_push_xmit(struct sk_buf
+@@ -53,7 +53,7 @@ EXPORT_SYMBOL_GPL(br_dev_queue_push_xmit
int br_forward_finish(struct sk_buff *skb)
{
@@ -9,7 +9,7 @@
br_dev_queue_push_xmit);
}
-@@ -80,7 +80,7 @@ static void __br_deliver(const struct ne
+@@ -77,7 +77,7 @@ static void __br_deliver(const struct ne
return;
}
@@ -18,7 +18,7 @@
br_forward_finish);
}
-@@ -101,7 +101,7 @@ static void __br_forward(const struct ne
+@@ -98,7 +98,7 @@ static void __br_forward(const struct ne
skb->dev = to->dev;
skb_forward_csum(skb);
@@ -38,7 +38,7 @@
netif_receive_skb);
}
-@@ -214,7 +214,7 @@ rx_handler_result_t br_handle_frame(stru
+@@ -219,7 +219,7 @@ rx_handler_result_t br_handle_frame(stru
}
/* Deliver packet to local host only */
@@ -47,7 +47,7 @@
NULL, br_handle_local_finish)) {
return RX_HANDLER_CONSUMED; /* consumed by filter */
} else {
-@@ -229,7 +229,7 @@ forward:
+@@ -234,7 +234,7 @@ forward:
if (ether_addr_equal(p->br->dev->dev_addr, dest))
skb->pkt_type = PACKET_HOST;
@@ -56,7 +56,7 @@
br_handle_local_finish))
break;
-@@ -251,7 +251,7 @@ forward:
+@@ -256,7 +256,7 @@ forward:
if (ether_addr_equal(p->br->dev->dev_addr, dest))
skb->pkt_type = PACKET_HOST;
@@ -67,15 +67,15 @@
default:
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
-@@ -802,7 +802,7 @@ static void __br_multicast_send_query(st
+@@ -815,7 +815,7 @@ static void __br_multicast_send_query(st
if (port) {
__skb_push(skb, sizeof(struct ethhdr));
skb->dev = port->dev;
- NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
+ BR_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
dev_queue_xmit);
- } else
- netif_rx(skb);
+ } else {
+ br_multicast_select_own_querier(br, ip, skb);
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -73,6 +73,15 @@ static int brnf_pass_vlan_indev __read_m
@@ -96,18 +96,18 @@
if (vlan_tx_tag_present(skb))
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
-@@ -724,15 +724,29 @@ static inline u16 br_get_pvid(const stru
+@@ -769,15 +769,29 @@ static inline int br_vlan_enabled(struct
/* br_netfilter.c */
- #ifdef CONFIG_BRIDGE_NETFILTER
+ #if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
+extern int brnf_call_ebtables;
- int br_netfilter_init(void);
- void br_netfilter_fini(void);
+ int br_nf_core_init(void);
+ void br_nf_core_fini(void);
void br_netfilter_rtable_init(struct net_bridge *);
+bool br_netfilter_run_hooks(void);
#else
- #define br_netfilter_init() (0)
- #define br_netfilter_fini() do { } while (0)
+ static inline int br_nf_core_init(void) { return 0; }
+ static inline void br_nf_core_fini(void) {}
#define br_netfilter_rtable_init(x)
+#define br_netfilter_run_hooks() false
#endif
@@ -125,7 +125,7 @@
+
/* br_stp.c */
void br_log_state(const struct net_bridge_port *p);
- struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no);
+ void br_set_state(struct net_bridge_port *p, unsigned int state);
--- a/net/bridge/br_stp_bpdu.c
+++ b/net/bridge/br_stp_bpdu.c
@@ -54,7 +54,7 @@ static void br_send_bpdu(struct net_brid
@@ -139,7 +139,7 @@
--- a/net/bridge/netfilter/ebtables.c
+++ b/net/bridge/netfilter/ebtables.c
-@@ -2405,11 +2405,13 @@ static int __init ebtables_init(void)
+@@ -2414,11 +2414,13 @@ static int __init ebtables_init(void)
}
printk(KERN_INFO "Ebtables v2.0 registered\n");