From: Patrick McHardy Date: Mon, 10 May 2010 16:39:28 +0000 (+0200) Subject: Merge branch 'master' of /repos/git/net-next-2.6 X-Git-Tag: v2.6.35-rc1~473^2~168^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1e4b1057121bc756b91758a434b504d2010f6088;p=platform%2Fkernel%2Flinux-3.10.git Merge branch 'master' of /repos/git/net-next-2.6 Conflicts: net/bridge/br_device.c net/bridge/br_forward.c Signed-off-by: Patrick McHardy --- 1e4b1057121bc756b91758a434b504d2010f6088 diff --cc net/bridge/br_device.c index 007bde8,074c596..f15f9c4 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@@ -13,9 -13,11 +13,12 @@@ #include #include + #include #include #include + #include +#include + #include #include "br_private.h" diff --cc net/bridge/br_forward.c index 92fb329,92ad9fe..a98ef13 --- a/net/bridge/br_forward.c +++ b/net/bridge/br_forward.c @@@ -66,9 -73,23 +73,23 @@@ int br_forward_finish(struct sk_buff *s static void __br_deliver(const struct net_bridge_port *to, struct sk_buff *skb) { + #ifdef CONFIG_NET_POLL_CONTROLLER + struct net_bridge *br = to->br; + if (unlikely(br->dev->priv_flags & IFF_IN_NETPOLL)) { + struct netpoll *np; + to->dev->npinfo = skb->dev->npinfo; + np = skb->dev->npinfo->netpoll; + np->real_dev = np->dev = to->dev; + to->dev->priv_flags |= IFF_IN_NETPOLL; + } + #endif skb->dev = to->dev; - NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev, - br_forward_finish); + NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev, + br_forward_finish); + #ifdef CONFIG_NET_POLL_CONTROLLER + if (skb->dev->npinfo) + skb->dev->npinfo->netpoll->dev = br->dev; + #endif } static void __br_forward(const struct net_bridge_port *to, struct sk_buff *skb)