[Bridge] bridge is not forwarding the packet

Leigh Sharpe lsharpe at pacificwireless.com.au
Wed Sep 24 16:23:58 PDT 2008

Hi Rahul,
 If you're certain that your problem isn't as Stephen suggested, you
might want to have a look at this:

(From http://ebtables.sourceforge.net/brnf-faq.html
<http://ebtables.sourceforge.net/brnf-faq.html>  )

How do I let vlan-tagged traffic go through a vlan bridge port and the
other traffic through a non-vlan bridge port? 

Suppose eth0 and eth0.15 are ports of br0. Without countermeasures all
traffic, including traffic vlan-tagged with tag 15, entering the

physical device eth0 will go through the bridge port eth0. To make the
15-tagged traffic go through the eth0.15 bridge port, use the following

ebtables rule: 

ebtables -t broute -A BROUTING -i eth0 --vlan-id 15 -j DROP

With the above rule, 15-tagged traffic will enter the bridge on the
physical device eth0, will then be brouted and enter the bridge port
eth0.15, the vlan header will be stripped, after which the packet is
bridged. The packet thus enters the BROUTING chain twice, the first time
with input device eth0 and the second time with input device eth0.15.

The other chains are only traversed once. All other traffic will be
bridged with input device eth0. 


This describes how to make sure your VLAN tagged traffic ends up on the
bridge you want.


From: bridge-bounces at lists.linux-foundation.org
[mailto:bridge-bounces at lists.linux-foundation.org] On Behalf Of rahul
Sent: Tuesday, 23 September 2008 11:32 PM
To: bridge at lists.linux-foundation.org
Cc: Stephen Hemminger
Subject: Re: [Bridge] bridge is not forwarding the packet

Hi Stephen,

Thanks for your very prompt response!

Actually my problem is not related to MAC address restrictions from
wireless interface/driver. The problem lies mainly in multiple bridges
for different vlans. Since bridging happens first, the packet ends up on
wrong bridge and gets discarded form that bridge.  If Vlan handling is
done prior to bridge handling, my setup will work fine. 

There is also another thing which I did not understand. When we add an
interface to vlan, the newly created interface's hard_header is set to
vlan_dev_hard_header function. This vlan_dev_hard_header adds the vlan
tag for outing packet.

Interestingly this happens after bridging code hand over the packet to
interface. Conversely when the packet is received, interface should
remove the vlan tag and hand over the packet to bridge. But we are
seeing that bridge code is executing prior to vlan handling.


Rahul Bhardwaj


--- On Mon, 22/9/08, Stephen Hemminger <shemminger at vyatta.com> wrote:

	From: Stephen Hemminger <shemminger at vyatta.com>
	Subject: Re: [Bridge] bridge is not forwarding the packet
<Urgent, Please reply ASAP>
	To: "rahul bhardwaj" <rahul_bhardwaj36in at yahoo.co.in>
	Cc: bridge at lists.linux-foundation.org
	Date: Monday, 22 September, 2008, 8:33 AM
	On Mon, 22 Sep 2008 16:24:00 +0530 (IST)
	rahul bhardwaj <rahul_bhardwaj36in at yahoo.co.in> wrote:
	> Hello to all,
	> I am stating my problem below in detail so that you all can
understand it
	> I am having setup of Linux box. In that box I am having one
	interface eth0 and one wireless interface ath0. I have also
configured one vlan
	port as eth0.100 with the
	 help of vconfig (vconfig add eth 100).  Now I have
	created two bridges br1 and br100. I have added eth0 into br1 so
br1 is having
	only one interface. I have added ath0 and eth0.100 into br100.
Physically eth0
	is connected to a switch which is configured to handle vlan 100.
DHCP server is
	also running into that switch to provide IP address to wireless
stations. This
	is all about my setup.
	> After this I am associating one wireless station with the
ath0. After
	successful association station issues a dhclient to get ip
address, which
	reaches to ath0 interface of my Linux box. ath0 bridges that
request to
	eth0.100. Now eth0.100 adds it's vlan tags and forward that
request to the
	switch. Because switch is configured to support vlan 100, so it
process the dhcp
	request and send back the dhcp response with vlan tag 100. 
	> Now I don't know but this response is not reaching to ath0. I
	putted wireshark and figured out that those dhcp responses are
reaching on eth0
	and as eth0 is part of br1 so this packet is reaching to br1
which is just
	discarding them all. So the wireless station is not getting the
ip address.
	According to me eth0 should give these packets to eth0.100 port
instead of br1.
	Or what I mean to say first vlan handling should be done priror
then  bridge
	handling. Do I need to change something into Linux kernel for
that or there is
	some other problem with my setup?
	> Can anybody help me in this? If anybody want more detail I
will provide. I
	am using Linux 2.6.15 kernel. Any kind of help will be much
	> With Regards 
	> Rahul Bhardwaj 
	Full bridging to wireless requires WDS which Linux wireless does
	Bridge mailing list
	Bridge at lists.linux-foundation.org


Share files, take polls, and make new friends - all under one roof.
Click here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linux-foundation.org/pipermail/bridge/attachments/20080925/1b67d889/attachment-0001.htm 

More information about the Bridge mailing list