diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-10-27 22:55:39 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-10-27 22:55:39 +0000 |
commit | a76ee3b1d5dee92a13ba357e9baf2ad155976604 (patch) | |
tree | 38745103e28135d9d7fc5fbfbc64a5eb7f6f49d3 /target/linux/generic/patches-3.18/644-bridge_optimize_netfilter_hooks.patch | |
parent | cea2b5299b13fcfef7de2f194e833e545e9e0f2f (diff) | |
download | master-31e0f0ae-a76ee3b1d5dee92a13ba357e9baf2ad155976604.tar.gz master-31e0f0ae-a76ee3b1d5dee92a13ba357e9baf2ad155976604.tar.bz2 master-31e0f0ae-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.patch | 34 |
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"); |