[Bridge] Bridge interface not forwarding DHCP-Broadcast

Balaji J ping2balaji at gmail.com
Tue Dec 13 15:43:43 UTC 2016


Hi all,

I am trying to setup a bridge with 2 interfaces attached to it in Router-1.
Interface-1: eth1 ==> EoGRE Tunnel interface(gretap) connecting to another
Router-2 where DHCP server is running.
Interface-2: eth2 ==> Trying to use DHCP to assign IP for this eth2
interface from DHCP-Server running on Router-2.

Basically the setup i am expecting is like:
(eth2)[Router-1](eth1:100.1.1.1) <----------EoGRE
Tunnel----->(eth0:100.1.1.254)[Router-2](DHCP-Server)

Following are the setup i did to check the 1st stage to see if the
dhcp-discover broadcast is going out of Router-1 over EoGRE tunnel or not.
But i am not able to achieve the same.

Can anyone please let me know what is missing here? Thanks in advance.

Router-1:
1) ip link add eogre type gretap local 100.1.1.1 remote 100.1.1.254 ==>
created gretap with endpoints.
2) ip link set eogre up ==> brought the eogre interface up.
[root at centos]# ifconfig
eogre     Link encap:Ethernet  HWaddr 9E:25:FC:54:7F:F2
          inet6 addr: fe80::9c25:fcff:fe54:7ff2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1462  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:492 (492.0 b)

eth1      Link encap:Ethernet  HWaddr 08:00:27:3C:FB:14
          inet addr:100.1.1.1  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe3c:fb14/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1398 (1.3 KiB)  TX bytes:4103 (4.0 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:5E:7F:83
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
3) brctl addbr br0  ==> created bridge interface
4) brctl addif br0 eogre ==> attach eogre interface to bridge
5) brctl addif br0 eth2 ==> attach eth2 interface to bridge
6) sysctl -w net.ipv6.conf.eth2.disable_ipv6=1 ==> disable ipv6 in eth2
just to avoid unwanted ipv6 signalling messages from it.
7) ifconfig eth2 up ==> eth2 iface up with no IP in it yet.
8) ifconfig eogre up ==> eogre iface up
9) ifconfig br0 up ==> Bridge up.
10) brctl show ==>
bridge name     bridge id               STP enabled     interfaces
br0             8000.0800275e7f83       no              eogre

  eth2

11) brctl showstp br0

[root at centos-dev ~]# brctl showstp br0
br0
 bridge id              8000.0800275e7f83
 designated root        8000.0800275e7f83
 root port                 0                    path cost                  0
 max age                  19.99                 bridge max age
 19.99
 hello time                1.99                 bridge hello time
 1.99
 forward delay            14.99                 bridge forward delay
 14.99
 ageing time             299.95
 hello timer               0.50                 tcn timer
 0.00
 topology change timer     0.00                 gc timer
1.50
 hash elasticity           4                    hash max                 512
 mc last member count      2                    mc init query count        2
 mc router                 1                    mc snooping                1
 mc last member timer      0.99                 mc membership timer
 259.96
 mc querier timer        254.96                 mc query interval
 124.98
 mc response interval      9.99                 mc init query interval
 31.24
 flags


eogre (0)
 port id                0000                    state
 forwarding
 designated root        8000.0800275e7f83       path cost                100
 designated bridge      8000.0800275e7f83       message age timer
 0.00
 designated port        8001                    forward delay timer
 0.00
 designated cost           0                    hold timer
0.00
 mc router                 1
 flags

eth2 (0)
 port id                0000                    state
 forwarding
 designated root        8000.0800275e7f83       path cost                  4
 designated bridge      8000.0800275e7f83       message age timer
 0.00
 designated port        8002                    forward delay timer
 0.00
 designated cost           0                    hold timer
0.00
 mc router                 1
 flags

12) dhclient -i eth2 ==> This command triggers a DHCP-DISCOVER
broadcast(both l2/l3 broadcast destination addressed) from eth2 and
initiate ip allocation process.

Now if i capture packets in wireshark in eth1+br0+eogre interface of
Router-1, i don't see the dhcp-discover packet sent from eth2 interface
going over EoGRE Tunnel to Router-2.
But the same DHCP-Discover packet i can see if i capture in eth2
interface(obvious reason).

Is it not like whatever packets coming in or originating from eth2 will be
bridged to eogre interface using bridge "br0"?
I am using kernel 2.6 in CentOS

Can someone please help here?

Regards,
...Balaji
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bridge/attachments/20161213/fb5b10d8/attachment.html>


More information about the Bridge mailing list