From 214078cab40c9cff3ea0ca93fe0929df1dd9db61 Mon Sep 17 00:00:00 2001 From: Joe Eykholt Date: Wed, 2 Jul 2008 18:22:02 -0700 Subject: [PATCH] --- yaml --- r: 108003 b: refs/heads/master c: f982307f22db96201e41540295f24e8dcc10c78f h: refs/heads/master i: 108001: cd747ae0eadf428d9d3fdc26ad014a05b1dc5c27 107999: 71637e173d87a0a6917e3241050588590684a99a v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index eef258fd19a2..178833908f0f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0d7a3681232f545c6a59f77e60f7667673ef0e93 +refs/heads/master: f982307f22db96201e41540295f24e8dcc10c78f diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index dab97c7cf275..600bb23c4c2e 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -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 @@ int netif_receive_skb(struct sk_buff *skb) 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;