Merge branch 'master' of /repos/git/net-next-2.6
Patrick McHardy [Mon, 10 May 2010 16:39:28 +0000 (18:39 +0200)]
Conflicts:
net/bridge/br_device.c
net/bridge/br_forward.c

Signed-off-by: Patrick McHardy <kaber@trash.net>

1  2 
include/linux/ipv6.h
net/bridge/br_device.c
net/bridge/br_forward.c
net/bridge/br_multicast.c
net/ipv4/ip_output.c
net/ipv4/ipmr.c
net/ipv4/raw.c
net/ipv6/ip6_output.c
net/ipv6/mcast.c
net/ipv6/raw.c

Simple merge
  
  #include <linux/kernel.h>
  #include <linux/netdevice.h>
+ #include <linux/netpoll.h>
  #include <linux/etherdevice.h>
  #include <linux/ethtool.h>
+ #include <linux/list.h>
 +#include <linux/netfilter_bridge.h>
  #include <asm/uaccess.h>
  #include "br_private.h"
  
@@@ -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)
Simple merge
Simple merge
diff --cc net/ipv4/ipmr.c
Simple merge
diff --cc net/ipv4/raw.c
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/raw.c
Simple merge