All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.