From: Stephen Hemminger <stephen@networkplumber.org>
To: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
mcgrof@suse.com, bridge@lists.linux-foundation.org
Subject: Re: [PATCH 1/3] bridge: preserve random init MAC address
Date: Tue, 18 Mar 2014 20:10:56 -0700 [thread overview]
Message-ID: <20140318201056.7b876394@nehalam.linuxnetplumber.net> (raw)
In-Reply-To: <1394680527-28970-2-git-send-email-mcgrof@do-not-panic.com>
On Wed, 12 Mar 2014 20:15:25 -0700
"Luis R. Rodriguez" <mcgrof@do-not-panic.com> wrote:
> As it is now if you add create a bridge it gets started
> with a random MAC address and if you then add a net_device
> as a slave but later kick it out you end up with a zero
> MAC address. Instead preserve the original random MAC
> address and use it.
What is supposed to happen is that the recalculate chooses
the lowest MAC address of the slaves. If there are no slaves
it might as well just calculate a new random value. There is
not great merit in preserving the original defunct address.
Or something like this that just keeps the old value.
The bridge is in a meaningless state when there are no ports,
and when the first port is added back it will be used as the
new bridge id.
--- a/net/bridge/br_stp_if.c 2014-02-12 08:21:56.733857356 -0800
+++ b/net/bridge/br_stp_if.c 2014-03-18 20:09:09.334388826 -0700
@@ -235,6 +235,9 @@ bool br_stp_recalculate_bridge_id(struct
addr = p->dev->dev_addr;
}
+
+ if (addr == br_mac_zero)
+ return false; /* keep original address */
if (ether_addr_equal(br->bridge_id.addr, addr))
return false; /* no change */
next prev parent reply other threads:[~2014-03-19 3:11 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-13 3:15 [PATCH 0/3] bridge: few enhancements and small fixes Luis R. Rodriguez
2014-03-13 3:15 ` [PATCH 1/3] bridge: preserve random init MAC address Luis R. Rodriguez
2014-03-19 0:42 ` Toshiaki Makita
2014-03-19 0:50 ` Luis R. Rodriguez
2014-03-19 1:04 ` Toshiaki Makita
2014-03-19 1:10 ` Luis R. Rodriguez
2014-03-19 16:09 ` [Bridge] " Toshiaki Makita
2014-03-19 3:10 ` Stephen Hemminger [this message]
2014-03-19 3:37 ` Luis R. Rodriguez
2014-03-20 2:05 ` Luis R. Rodriguez
2014-04-22 19:41 ` Luis R. Rodriguez
2014-04-30 18:40 ` Luis R. Rodriguez
2014-04-30 19:11 ` Vlad Yasevich
2014-03-13 3:15 ` [PATCH 2/3] bridge: trigger a bridge calculation upon port changes Luis R. Rodriguez
2014-03-13 18:26 ` Cong Wang
2014-03-15 1:39 ` Luis R. Rodriguez
2014-03-18 20:46 ` Cong Wang
2014-03-18 21:22 ` Luis R. Rodriguez
2014-04-22 19:43 ` Luis R. Rodriguez
2014-04-30 18:38 ` Luis R. Rodriguez
2014-04-30 20:04 ` Vlad Yasevich
2014-04-30 22:59 ` Luis R. Rodriguez
2014-05-01 0:12 ` Vlad Yasevich
2014-03-13 3:15 ` [PATCH 3/3] bridge: fix bridge root block on designated port Luis R. Rodriguez
2014-03-13 22:16 ` Stephen Hemminger
2014-03-15 2:08 ` Luis R. Rodriguez
2014-03-18 20:31 ` [PATCH 0/3] bridge: few enhancements and small fixes Luis R. Rodriguez
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=20140318201056.7b876394@nehalam.linuxnetplumber.net \
--to=stephen@networkplumber.org \
--cc=bridge@lists.linux-foundation.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@do-not-panic.com \
--cc=mcgrof@suse.com \
--cc=netdev@vger.kernel.org \
--cc=xen-devel@lists.xenproject.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