From: Jarod Neuner <j.neuner@networkharbor.com>
To: <netdev@vger.kernel.org>
Subject: IGMP sent to Foreign VLAN
Date: Mon, 6 Oct 2008 14:51:47 -0500 [thread overview]
Message-ID: <1223322707.24688.46.camel@deepthought.nh.local> (raw)
I noticed a problem where the kernel is not responding to IGMP Queries
from several Level-3 network switches. This behavior is caused by these
switches using VLAN tags on IGMP messages. At first I thought the
switches were out of spec, but every other network stack I've checked
delivers packets with unconfigured VLAN assignments directly to the
incoming interface.
This patch corrects my problem, but I'm still interested in discussion
about whether or not this should be a parameter in /proc/sys/net or even
if this policy change should be applied elsewhere in the the network
stack.
---
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index 4bf014e..b65a8fd 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -158,9 +158,13 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev,
rcu_read_lock();
skb->dev = __find_vlan_dev(dev, vlan_id);
if (!skb->dev) {
- pr_debug("%s: ERROR: No net_device for VID: %u on dev: %s\n",
+ pr_debug("%s: WARNING: Forwarding VID: %u to dev: %s\n",
__func__, vlan_id, dev->name);
- goto err_unlock;
+ skb->dev = dev;
+ skb_pull_rcsum(skb, VLAN_HLEN);
+ vlan_set_encap_proto(skb, vhdr);
+ rcu_read_lock();
+ return 0;
}
skb->dev->last_rx = jiffies;
next reply other threads:[~2008-10-06 20:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-06 19:51 Jarod Neuner [this message]
2008-10-07 23:07 ` IGMP sent to Foreign VLAN David Miller
2008-10-07 23:53 ` Patrick McHardy
2008-10-08 23:34 ` Jarod Neuner
2008-10-09 12:31 ` Patrick McHardy
2008-10-09 16:18 ` Jarod Neuner
2008-10-10 16:28 ` Patrick McHardy
2008-10-10 22:45 ` Benny Amorsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1223322707.24688.46.camel@deepthought.nh.local \
--to=j.neuner@networkharbor.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).