Ethernet Bridge development
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Balaji J <ping2balaji@gmail.com>
Cc: bridge@lists.linux-foundation.org
Subject: Re: [Bridge] Bridge interface not forwarding DHCP-Broadcast
Date: Tue, 13 Dec 2016 09:41:28 -0800	[thread overview]
Message-ID: <20161213094128.3fa3f4a5@xeon-e3> (raw)
In-Reply-To: <CAAtMjxaGCpd_3axCbinnpDpgR+H3DPn9y+cLabodGiytwckc7A@mail.gmail.com>

On Tue, 13 Dec 2016 21:13:43 +0530
Balaji J <ping2balaji@gmail.com> wrote:

> 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@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@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

You can't and shouldn't try to do anything that assigns an IP address
to a device that is a member of a bridge.  In your case that is eth2.


The correct thing to do is run DHCP client on the bridge device.

  reply	other threads:[~2016-12-13 17:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-13 15:43 [Bridge] Bridge interface not forwarding DHCP-Broadcast Balaji J
2016-12-13 17:41 ` Stephen Hemminger [this message]
2016-12-13 18:15   ` Balaji J
2016-12-13 19:16     ` Stephen Hemminger
2016-12-14  2:03       ` Balaji J
2016-12-14  8:01         ` Srinivas M.A.

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=20161213094128.3fa3f4a5@xeon-e3 \
    --to=stephen@networkplumber.org \
    --cc=bridge@lists.linux-foundation.org \
    --cc=ping2balaji@gmail.com \
    /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