Linux Netfilter discussions
 help / color / mirror / Atom feed
From: bdschuym@telenet.be
To: Pascal Hambourg <pascal.mail@plouf.fr.eu.org>
Cc: Bart De Schuymer <bdschuym@pandora.be>,
	netfilter@vger.kernel.org, Jan Engelhardt <jengelh@medozas.de>
Subject: Re: Forced lladdr change with bridge - or not?
Date: Mon, 23 Aug 2010 09:14:00 +0200 (CEST)	[thread overview]
Message-ID: <632287680.1437041282547640257.JavaMail.root@tendai.telenet-ops.be> (raw)
In-Reply-To: <835126759.1436781282547490956.JavaMail.root@tendai.telenet-ops.be>

You're right. The Linux bridge does just what the 802.1D standard recommends (http://standards.ieee.org/getieee802/download/802.1D-2004.pdf):
"7.12.5 Unique identification of a bridge
A unique 48-bit Universally Administered MAC Address, termed the Bridge Address, shall be assigned to
each Bridge. The Bridge Address may be the individual MAC Address of a Bridge Port, in which case, use
of the address of the lowest numbered Bridge Port (Port 1) is recommended."

Apparently you can get around this problem, see (I didn't verify):
http://backreference.org/2010/07/28/linux-bridge-mac-addresses-and-dynamic-ports/

cheers,
Bart

----- Originele e-mail  -----
Van: "Pascal Hambourg" <pascal.mail@plouf.fr.eu.org>
Aan: "Jan Engelhardt" <jengelh@medozas.de>
Cc: "Bart De Schuymer" <bdschuym@pandora.be>, netfilter@vger.kernel.org
Verzonden: Zondag 22 augustus 2010 22:53:04 GMT +01:00 Amsterdam / Berlijn / Bern / Rome / Stockholm / Wenen
Onderwerp: Re: Forced lladdr change with bridge - or not?

Hello,

Jan Engelhardt a écrit :
> On Sunday 2010-08-22 18:55, Bart De Schuymer wrote:
>>> # brctl addbr br0
>>> # brctl addif br0 tap1
>>> # brctl addif br0 tap2
>>> # ip a
>>> 196: tap1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500
>>>    link/ether 9a:17:c4:65:e9:76 brd ff:ff:ff:ff:ff:ff
>>> 197: tap2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500
>>>    link/ether ce:61:28:5a:b7:93 brd ff:ff:ff:ff:ff:ff
>>> 198: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN     link/ether
>>> 9a:17:c4:65:e9:76 brd ff:ff:ff:ff:ff:ff
>>>
>>> Is this behavior normal that the lladdrs of all but the first brport
>>> remain unchanged? If so, what is the purpose of changing the lladdr on the
>>> first brport?
>>>  
>> I don't understand your question,

Me neither : according to your output, the MAC address of neither port
has changed.

> but the Linux bridge code assigns the MAC
>> address of its first-added port to the virtual bridge device.
> 
> 1. Why does it do that,

The bridge interface must have a MAC address, so why not pick up one in
thoses of its ports ?

> 2. Why only the first port?

IME, the bridge picks up the lowest MAC address of its ports.
This has an advantage : the bridge MAC address ends up the same for a
same set of ports regardless of the order in which the ports are added.
But this also has a big disadvantage : the bridge MAC address can change
whenever you add or remove a port, breaking ARP for a while, changing
link-local and stateless autoconfigured IPv6 addresses...

       reply	other threads:[~2010-08-23  7:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <835126759.1436781282547490956.JavaMail.root@tendai.telenet-ops.be>
2010-08-23  7:14 ` bdschuym [this message]
2010-08-23  8:13   ` Forced lladdr change with bridge - or not? Pascal Hambourg
2010-08-24 11:21     ` Pascal Hambourg
2010-08-22 16:12 Jan Engelhardt
2010-08-22 16:55 ` Bart De Schuymer
2010-08-22 17:28   ` Jan Engelhardt
2010-08-22 20:53     ` Pascal Hambourg
2010-08-22 21:24       ` Jan Engelhardt
2010-08-23  8:21         ` Pascal Hambourg
2010-08-23 11:23           ` Jan Engelhardt

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=632287680.1437041282547640257.JavaMail.root@tendai.telenet-ops.be \
    --to=bdschuym@telenet.be \
    --cc=bdschuym@pandora.be \
    --cc=jengelh@medozas.de \
    --cc=netfilter@vger.kernel.org \
    --cc=pascal.mail@plouf.fr.eu.org \
    /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