|
@@ -50,14 +50,7 @@ int br_dev_queue_push_xmit(struct sk_buff *skb)
|
|
kfree_skb(skb);
|
|
kfree_skb(skb);
|
|
else {
|
|
else {
|
|
skb_push(skb, ETH_HLEN);
|
|
skb_push(skb, ETH_HLEN);
|
|
-
|
|
|
|
-#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
|
|
- if (unlikely(skb->dev->priv_flags & IFF_IN_NETPOLL)) {
|
|
|
|
- netpoll_send_skb(skb->dev->npinfo->netpoll, skb);
|
|
|
|
- skb->dev->priv_flags &= ~IFF_IN_NETPOLL;
|
|
|
|
- } else
|
|
|
|
-#endif
|
|
|
|
- dev_queue_xmit(skb);
|
|
|
|
|
|
+ dev_queue_xmit(skb);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -73,23 +66,9 @@ int br_forward_finish(struct sk_buff *skb)
|
|
|
|
|
|
static void __br_deliver(const struct net_bridge_port *to, struct sk_buff *skb)
|
|
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;
|
|
skb->dev = to->dev;
|
|
NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
|
|
NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
|
|
br_forward_finish);
|
|
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)
|
|
static void __br_forward(const struct net_bridge_port *to, struct sk_buff *skb)
|