From: roopa <roopa@cumulusnetworks•com>
To: Jiri Pirko <jiri@resnulli•us>
Cc: sfeldma@gmail•com, netdev@vger•kernel.org, davem@davemloft•net
Subject: Re: [PATCH net-next] rocker: check for BRIDGE_FLAGS_SELF in bridge setlink handler
Date: Thu, 05 Mar 2015 07:01:44 -0800 [thread overview]
Message-ID: <54F86FD8.9000409@cumulusnetworks.com> (raw)
In-Reply-To: <20150305083621.GC2033@nanopsycho.orion>
On 3/5/15, 12:36 AM, Jiri Pirko wrote:
> Wed, Mar 04, 2015 at 01:15:29AM CET, roopa@cumulusnetworks•com wrote:
>> From: Roopa Prabhu <roopa@cumulusnetworks•com>
>>
>> With the recent addition of the NETIF_F_HW_SWITCH_OFFLOAD flag
>> on rocker ports, the second command (bridge link set) below will turn off
>> learning in the rocker hw (Scott/Jiri, need some confirmation from
>> you that this is indeed a problem and if the below patch is ok).
>>
>> ip link set dev swp1 master br0
>> bridge link set dev swp1 learning off master
>> bridge link set dev swp1 learning_sync on self
>>
>> This patch fixes rocker to ignore learning setting when 'master'
>> is set. This makes it possible to set/unset learning in kernel and bridge
>> driver independently.
>>
>> The below command will continue to set learning on in both kernel and rocker
>> hw:
>> bridge link set dev swp1 learning on
>>
>> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks•com>
>> ---
>> drivers/net/ethernet/rocker/rocker.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c
>> index e5a15a4..d7c31d2 100644
>> --- a/drivers/net/ethernet/rocker/rocker.c
>> +++ b/drivers/net/ethernet/rocker/rocker.c
>> @@ -3769,6 +3769,9 @@ static int rocker_port_bridge_setlink(struct net_device *dev,
>> struct nlattr *attr;
>> int err;
>>
>> + if (flags && !(flags & BRIDGE_FLAGS_SELF))
>> + return 0;
>> +
> I think that the called should handle this case, not every particular
> driver. How about to put this into rtnl_bridge_setlink?
The problem is setlink can contain many more attributes than just learning.
And for most attributes you want to mirror them in hardware.
Only a few attributes like learning, you want to be able to set them in
the kernel driver
differently than in hardware.
We have previously discussed encoding hw/sw in the upper bits of bridge
port attributes.
I was trying to avoid that and use the existing master/self to achieve
the same.
I will repost alternatives if I can think of something.
Thanks,
Roopa
next prev parent reply other threads:[~2015-03-05 15:01 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-04 0:15 [PATCH net-next] rocker: check for BRIDGE_FLAGS_SELF in bridge setlink handler roopa
2015-03-04 4:15 ` John Fastabend
2015-03-04 7:02 ` Scott Feldman
2015-03-04 8:51 ` roopa
2015-03-04 16:24 ` Scott Feldman
2015-03-05 0:31 ` roopa
2015-03-05 8:02 ` Jiri Pirko
2015-03-05 14:55 ` roopa
2015-03-05 20:06 ` Scott Feldman
2015-03-05 20:43 ` roopa
2015-03-05 21:40 ` roopa
2015-03-06 9:52 ` Scott Feldman
2015-03-08 14:19 ` roopa
2015-03-08 23:17 ` Scott Feldman
2015-03-09 0:20 ` roopa
[not found] ` <CAJieiUhHdXOZjWkb4s_GviLwzq5Gct-1o8xv8b-JeM46S4e-dg@mail.gmail.com>
2015-03-09 6:40 ` Jiri Pirko
2015-03-09 15:59 ` Arad, Ronen
2015-03-09 16:07 ` Jiri Pirko
2015-03-10 0:51 ` Arad, Ronen
2015-03-10 6:39 ` Jiri Pirko
2015-03-10 8:02 ` Arad, Ronen
2015-03-10 8:28 ` Jiri Pirko
2015-03-16 22:01 ` John Fastabend
2015-03-17 7:00 ` Jiri Pirko
2015-03-17 14:31 ` John Fastabend
2015-03-17 20:27 ` roopa
2015-03-18 0:16 ` John Fastabend
2015-03-18 6:29 ` roopa
2015-03-18 15:24 ` John Fastabend
2015-03-18 16:55 ` John Fastabend
2015-03-19 5:03 ` roopa
2015-03-19 5:49 ` Scott Feldman
2015-03-19 13:29 ` roopa
2015-03-19 13:59 ` John Fastabend
[not found] ` <CAJieiUhcdfGitY7rbG11Vt_Beemz8dy3=gKtvbyVLS8O0DkgNw@mail.gmail.com>
2015-03-09 23:23 ` Roopa Prabhu
2015-03-05 8:36 ` Jiri Pirko
2015-03-05 15:01 ` roopa [this message]
2015-03-05 15:09 ` roopa
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=54F86FD8.9000409@cumulusnetworks.com \
--to=roopa@cumulusnetworks$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=jiri@resnulli$(echo .)us \
--cc=netdev@vger$(echo .)kernel.org \
--cc=sfeldma@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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