From: yzhu1 <Yanjun.Zhu@windriver.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: netdev <netdev@vger.kernel.org>,
"Wu, Kuaikuai" <Kuaikuai.Wu@windriver.com>,
"Tao, Yue" <Yue.Tao@windriver.com>
Subject: Re: If bridge have no sub-interfaces, it's status may be still with 'RUNNING'
Date: Mon, 16 Feb 2015 12:55:47 +0800 [thread overview]
Message-ID: <54E17853.8070106@windriver.com> (raw)
In-Reply-To: <20150213133056.3944c13e@uryu.home.lan>
[-- Attachment #1: Type: text/plain, Size: 934 bytes --]
Hi, Stephen
Follow your advice, I made a new patch. This patch will turn off
carrier when a new bridge interface is created. Please comment on it.
Thanks a lot.
Zhu Yanjun
On 02/14/2015 02:30 AM, Stephen Hemminger wrote:
> On Fri, 13 Feb 2015 17:57:45 +0800
> yzhu1 <Yanjun.Zhu@windriver.com> wrote:
>
>> Hi, all
>>
>> I made this test on ubuntu 14.04 with kernel 3,19-rc7:
>>
>> 1. brctl addbr br0
>>
>> 2. ifconfig br0 up
>>
>> 3. ifconfig br0 (br0's status is with 'RUNNING')
>>
>> 4. brctl addif br0 eth0
>>
>> 5. brctl delif br0 eth0
>>
>> 6. ifconfig br0 (br0's status is without 'RUNNING')
>>
>> When there is no sub-interface, the flag "RUNNING" is missing after the
>> last sub-interface is removed.
>>
>> As such, should we keep "RUNNING" flag after the last sub-interface is
>> removed?
> This is intentional. If there are no active ports in bridge, then
> we want to tell applications that packets will go nowhere.
>
>
[-- Attachment #2: 0001-bridge-turn-off-carrier-when-the-bridge-is-created.patch --]
[-- Type: text/x-patch, Size: 998 bytes --]
>From e03af5263bcaeea15442601e2a9f65c6b582352b Mon Sep 17 00:00:00 2001
From: Zhu Yanjun <Yanjun.Zhu@windriver.com>
Date: Mon, 16 Feb 2015 12:45:36 +0800
Subject: [PATCH 1/1] bridge: turn off carrier when the bridge is created
When a bridge interface is created, there is no any sub interface
in it. In this case, the packets should not go to this bridge interface.
As such, carrier is turned off.
Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Zhu Yanjun <Yanjun.Zhu@windriver.com>
---
net/bridge/br_device.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index ffd379d..2d60474 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -394,4 +394,9 @@ void br_dev_setup(struct net_device *dev)
br_netfilter_rtable_init(br);
br_stp_timer_init(br);
br_multicast_init(br);
+
+ /* Shutdown bridge to avoid packets */
+ if (netif_carrier_ok(dev)) {
+ netif_carrier_off(dev);
+ }
}
--
1.9.1
next prev parent reply other threads:[~2015-02-16 4:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-13 9:57 If bridge have no sub-interfaces, it's status may be still with 'RUNNING' yzhu1
2015-02-13 10:00 ` yzhu1
2015-02-13 18:30 ` Stephen Hemminger
2015-02-15 7:49 ` Wu, Kuaikuai
2015-02-16 4:55 ` yzhu1 [this message]
2015-02-16 15:47 ` David Ahern
2015-02-16 16:51 ` Stephen Hemminger
2015-02-17 16:14 ` Zhu, Yanjun
2015-02-25 2:55 ` yzhu1
2015-02-25 4:23 ` David Ahern
2015-02-25 5:29 ` yzhu1
2015-02-16 16:52 ` Stephen Hemminger
2015-03-10 6:07 ` yzhu1
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=54E17853.8070106@windriver.com \
--to=yanjun.zhu@windriver.com \
--cc=Kuaikuai.Wu@windriver.com \
--cc=Yue.Tao@windriver.com \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.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;
as well as URLs for NNTP newsgroup(s).