allow VLAN interface on top of bridge interface
Subsystems (2)
PATCH 1/1 allow VLAN interface on top of bridge interface
Begin forwarded message:
Date: Thu, 12 Apr 2007 21:50:00 +0200 (CEST)
From: Jerome Borsboom <[email protected]>
To: [email protected]
Subject: [PATCH] allow VLAN interface on top of bridge interface
When a VLAN interface is created on top of a bridge interface and netfilter is enabled to see the bridged packets, the packets can be corrupted when passing through the netfilter code. This is caused by the VLAN driver not setting the 'protocol' and 'nh' members of the sk_buff structure. In general, this is no problem as the VLAN interface is mostly connected to a physical ethernet interface which does not use the 'protocol' and 'nh' members. For a bridge interface, however, these members do matter.
net/8021q/vlan_dev.c 2007-04-12 21:12:17.000000000 +0200 renamed from net/8021q/vlan_dev.c 2007-02-04 19:44:54.000000000 +0100 +3 -0
@@ -380,6 +380,9 @@ } else { vhdr->h_vlan_encapsulated_proto = htons(len); } + + skb->protocol = htons(ETH_P_8021Q); + skb->nh.raw = skb->data; } /* Before delegating work to the lower layer, enter our MAC-address */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 10 lines · Andrew Morton
Begin forwarded message:
Date: Thu, 12 Apr 2007 21:50:00 +0200 (CEST)
From: Jerome Borsboom <[email protected]>
To: [email protected]
Subject: [PATCH] allow VLAN interface on top of bridge interfaceWhen a VLAN interface is created on top of a bridge interface and netfilter is enabled to see the bridged packets, the packets can be corrupted when passing through the netfilter code. This is caused by the VLAN driver not setting the 'protocol' and 'nh' members of the
sk_buffstructure. In general, this is no problem as the VLAN interface is mostly connected to a physical ethernet interface which does not use the 'protocol' and 'nh' members. For a bridge interface, however, these members do matter.
Why only do this inside that if clause? I can see only setting nh.raw in that clause, but it seems like the protocol should be set regardless.
Thanks,
Ben
Quoted 25 lines
Signed-off-by Jerome Borsboom <[email protected]>net/8021q/vlan_dev.c 2007-04-12 21:12:17.000000000 +0200 renamed from net/8021q/vlan_dev.c 2007-02-04 19:44:54.000000000 +0100 +3
-1@@ -380,6 +380,9 @@ } else { vhdr->h_vlan_encapsulated_proto = htons(len); } + + skb->protocol = htons(ETH_P_8021Q); + skb->nh.raw = skb->data; } /* Before delegating work to the lower layer, enter our MAC-address */ -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 2 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com
David Miller
maintainerFrom: Ben Greear <[email protected]>
Date: Thu, 12 Apr 2007 14:45:07 -0700
Quoted 19 lines
Quoted 9 lines · Andrew Morton
Begin forwarded message:
Date: Thu, 12 Apr 2007 21:50:00 +0200 (CEST)
From: Jerome Borsboom <[email protected]>
To: [email protected]
Subject: [PATCH] allow VLAN interface on top of bridge interfaceQuoted 8 lines
When a VLAN interface is created on top of a bridge interface and netfilter is enabled to see the bridged packets, the packets can be corrupted when passing through the netfilter code. This is caused by the VLAN driver not setting the 'protocol' and 'nh' members of the
sk_buffstructure. In general, this is no problem as the VLAN interface is mostly connected to a physical ethernet interface which does not use the 'protocol' and 'nh' members. For a bridge interface, however, these members do matter.
Quoted 3 lines
Why only do this inside that if clause? I can see only setting nh.raw in that clause, but it seems like the protocol should be set regardless.
Because outside the if clause we are making the packet look like a normal ethernet frame to the rest of the stack, and only adding the VLAN tag at the very last moment in ->hard_start_xmit().
David Miller
maintainerThis is the second time this patch has been forwarded to netdev in the past hour.
And I'll say the same thing I said to the first person who did it this way. Because you just blindly forwarded this here, and did not tell the orignal poster why, and furthermore took linux-kernel off the CC list, we now have two problems:
1) The poster hasn't learned where the correct location is to send the report and why that is the correct place. They just see their report getting forwarded around.
2) Since linux-kernel got dropped, people will reply to both instances of the original posting, so people watching the thread one on side will miss the postings made on the other.
I'd appreciate it if the poster were explicitly informed of where they should send their report as well as retaining linux-kernel on the CC: list if forwarding to netdev as well so we can avoid both of these problems.
Thanks.