]> Git Repo - linux.git/commitdiff
net/core: Allow receive on active slaves.
authorJoe Eykholt <[email protected]>
Thu, 3 Jul 2008 01:22:02 +0000 (18:22 -0700)
committerJeff Garzik <[email protected]>
Thu, 7 Aug 2008 08:00:01 +0000 (04:00 -0400)
If a packet_type specifies an active slave to bonding and not just any
interface, allow it to receive frames that came in on that interface.

Signed-off-by: Joe Eykholt <[email protected]>
Signed-off-by: Jay Vosburgh <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
net/core/dev.c

index dab97c7cf27589862d64598aab02241d28f35ece..600bb23c4c2e3743239dc571c459fe3a5e8b19d5 100644 (file)
@@ -2210,7 +2210,8 @@ int netif_receive_skb(struct sk_buff *skb)
 #endif
 
        list_for_each_entry_rcu(ptype, &ptype_all, list) {
-               if (ptype->dev == null_or_orig || ptype->dev == skb->dev) {
+               if (ptype->dev == null_or_orig || ptype->dev == skb->dev ||
+                   ptype->dev == orig_dev) {
                        if (pt_prev)
                                ret = deliver_skb(skb, pt_prev, orig_dev);
                        pt_prev = ptype;
@@ -2235,7 +2236,8 @@ ncls:
        list_for_each_entry_rcu(ptype,
                        &ptype_base[ntohs(type) & PTYPE_HASH_MASK], list) {
                if (ptype->type == type &&
-                   (ptype->dev == null_or_orig || ptype->dev == skb->dev)) {
+                   (ptype->dev == null_or_orig || ptype->dev == skb->dev ||
+                    ptype->dev == orig_dev)) {
                        if (pt_prev)
                                ret = deliver_skb(skb, pt_prev, orig_dev);
                        pt_prev = ptype;
This page took 0.062574 seconds and 4 git commands to generate.