From: Roopa Prabhu <roopa@cumulusnetworks.com>
To: Scott Feldman <sfeldma@gmail.com>
Cc: Jiri Pirko <jiri@resnulli.us>, Netdev <netdev@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
"nhorman@tuxdriver.com" <nhorman@tuxdriver.com>,
Andy Gospodarek <andy@greyhouse.net>, Thomas Graf <tgraf@suug.ch>,
"dborkman@redhat.com" <dborkman@redhat.com>,
"ogerlitz@mellanox.com" <ogerlitz@mellanox.com>,
"jesse@nicira.com" <jesse@nicira.com>,
"pshelar@nicira.com" <pshelar@nicira.com>,
"azhou@nicira.com" <azhou@nicira.com>,
"ben@decadent.org.uk" <ben@decadent.org.uk>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
"vyasevic@redhat.com" <vyasevic@redhat.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
"Fastabend, John R" <john.r.fastabend@intel.com>,
Eric Dumazet <edumazet@google.com>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Florian Fainelli <f.fainelli@gmail.com>,
John Linville <linville@tuxdriver.com>
Subject: Re: [patch iproute2 0/6] iproute2: add changes for switchdev
Date: Thu, 04 Dec 2014 18:28:47 -0800 [thread overview]
Message-ID: <5481185F.9050805@cumulusnetworks.com> (raw)
In-Reply-To: <CAE4R7bCyf7VBFWqEme37rf0YbTc3-s5Qka+1HMOsdMgVC3qZ-A@mail.gmail.com>
On 12/4/14, 12:49 PM, Scott Feldman wrote:
> On Thu, Dec 4, 2014 at 8:55 AM, Roopa Prabhu <roopa@cumulusnetworks.com> wrote:
>> On 12/4/14, 8:04 AM, Jiri Pirko wrote:
>>> Thu, Dec 04, 2014 at 03:45:44PM CET, roopa@cumulusnetworks.com wrote:
>>>> On 12/4/14, 6:34 AM, Jiri Pirko wrote:
>>>>> Thu, Dec 04, 2014 at 03:26:50PM CET, roopa@cumulusnetworks.com wrote:
>>>>>> On 12/4/14, 12:57 AM, Jiri Pirko wrote:
>>>>>>> Jiri Pirko (1):
>>>>>>> iproute2: ipa: show switch id
>>>>>>>
>>>>>>> Scott Feldman (5):
>>>>>>> bridge/fdb: fix statistics output spacing
>>>>>>> bridge/fdb: add flag/indication for FDB entry synced from offload
>>>>>>> device
>>>>>>> bridge/link: add new offload hwmode swdev
>>>>>> Ack to most patches but nack on this one. The todo list still has a
>>>>>> note to
>>>>>> revist the flag to indicate switchdev offloads.
>>>>>> Exposing this to userspace does not help that.
>>>>> Hmm, note that this is already exposed to userspace, this patchset is
>>>>> for iproute2 (userspace tool).
>>>> hmmm, all feedback on the switchdev patches seemed to indicate we can
>>>> change
>>>> this later.
>>>> I don't see swdev mode being used in the kernel anywhere today.
>>> Well, it is, in rocker:
>>> $ git grep BRIDGE_MODE_SWDEV
>>> drivers/net/ethernet/rocker/rocker.c: if (mode !=
>>> BRIDGE_MODE_SWDEV)
>>> drivers/net/ethernet/rocker/rocker.c: u16 mode = BRIDGE_MODE_SWDEV;
>>> include/uapi/linux/if_bridge.h:#define BRIDGE_MODE_SWDEV 2 /*
>>> Full switch device offload */
>>
>> The problem is rocker is not the only one who is going to be using this. And
>> so, we need something that fits everybody.
>> And i am not going to make my user set a mode for him to enable offload to
>> hw.
>>
>>>> I will send a patch to remove it. Its still in net-next and so can be
>>>> changed
>>>> ?.
>>>> I was going to resend my patch to introduce a common offload flag for all
>>>> link objects.
>>>> It would be nice if all of them had a consistent flag to indicate hw
>>>> offload
>>>> and iproute2 could display the same flag for all.
>>>> Including bonds and vxlan's.
>>> I do not understand the connection with BRIDGE_MODE_SWDEV. We discussed
>>> this already. BRIDGE_MODE_SWDEV is a bridge mode, similar to for example
>>> BRIDGE_MODE_VEPA and makes perfect sense to have it.
>> I dont think everybody acked it. But it went in with a note saying that it
>> can be changed.
> I thought that was the plan: this new mode goes in now for net-next
> and iproute2, and you would supply follow up patch for each to move to
> your switch port flag. That will give us time to review your work
> without have net-next and iproute2 out-of-sync.
>
>>>
>>> How vxlan and bonds come into the mixture, that is a puzzler for me.
>>> Maybe I have to see patches.
>>
>> I had posted a version of the patch previously:
>> http://www.spinics.net/lists/netdev/msg305472.html
>>
>> I have a v2 patch in my stack which does not touch the netlink header.
>> But in the past hour, i have been thinking about it some more. Do we really
>> need this set by the user ?. In my use case i don't need it.
> Look at how iproute2 figures out if SELF should be set or not. It's
> only set if hwmode is set, otherwise it defaults to MASTER. So with
> SWDEV a new hwmode, we can push settings (learning, leraning_sync) to
> port with SELF set. It's probably not an ideal arrangement having to
> set hwmode each time, but this was the low-touch change to iproute2 to
> push port settings.
Did not know about this. Thanks for the info.
>
> I'm hoping your new patch will kind of straighten this all out. But
> you've got extra work to make sure backward compat with older iproute2
> still works, including this weirdness around hwmode.
>
>> We do need a feature flag (or net_device_flags), but it does not need to be
>> set by the user explicitly.
>> This flag can be set by the switch port driver on the switch ports. And the
>> logical device: bridge/bond/vxlan
>> can inherit it from the port. There was a need of a flag in some usecases,
>> to control offloading of specific bridge port flags
>> to hw/sw (example learning in hw or sw). example patch:
>> https://patchwork.ozlabs.org/patch/413211/
>>
>> I will post something today.
> Can you include matching iproute2 changes? (Assuming you'll building
> on top of what's already in net-next and this iproute2 set Jiri sent
> out). It's helpful to see the iproute2 changes to see what the new
> cmd structure is and how legacy is handled.
Just sent what ever i had. Take a look and let me know.
Thanks,
Roopa
>
prev parent reply other threads:[~2014-12-05 2:28 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-04 8:57 [patch iproute2 0/6] iproute2: add changes for switchdev Jiri Pirko
2014-12-04 8:57 ` [patch iproute2 1/6] iproute2: ipa: show switch id Jiri Pirko
2014-12-04 13:17 ` Jamal Hadi Salim
2014-12-04 14:20 ` Andy Gospodarek
2014-12-04 14:29 ` Roopa Prabhu
2014-12-04 14:33 ` Jiri Pirko
2014-12-04 14:57 ` Andy Gospodarek
2014-12-04 15:12 ` Jiri Pirko
2014-12-04 15:15 ` Jiri Pirko
2014-12-04 15:28 ` Andy Gospodarek
2014-12-04 15:37 ` Thomas Graf
2014-12-04 16:15 ` Eric W. Biederman
2014-12-04 16:30 ` Jiri Pirko
2014-12-04 17:52 ` Eric W. Biederman
2014-12-04 17:59 ` Roopa Prabhu
2014-12-04 18:24 ` Jiri Pirko
2014-12-04 18:57 ` Eric W. Biederman
2014-12-04 19:19 ` Jiri Pirko
2014-12-04 19:26 ` Eric W. Biederman
2014-12-04 19:54 ` Jiri Pirko
2014-12-04 20:06 ` Eric W. Biederman
2014-12-04 20:27 ` Jiri Pirko
2014-12-04 20:55 ` Eric W. Biederman
2014-12-04 21:10 ` Jiri Pirko
2014-12-04 21:24 ` Eric W. Biederman
2014-12-04 22:07 ` Thomas Graf
2014-12-05 9:54 ` David Laight
2014-12-08 21:56 ` Eric W. Biederman
2014-12-04 8:57 ` [patch iproute2 2/6] bridge/fdb: fix statistics output spacing Jiri Pirko
2014-12-10 0:32 ` Stephen Hemminger
2014-12-04 8:57 ` [patch iproute2 3/6] bridge/fdb: add flag/indication for FDB entry synced from offload device Jiri Pirko
2014-12-04 13:19 ` Jamal Hadi Salim
2014-12-24 20:39 ` Stephen Hemminger
2014-12-04 8:57 ` [patch iproute2 4/6] bridge/link: add new offload hwmode swdev Jiri Pirko
2014-12-04 13:23 ` Jamal Hadi Salim
2014-12-04 20:55 ` Scott Feldman
2014-12-24 20:37 ` Stephen Hemminger
2014-12-04 8:57 ` [patch iproute2 5/6] link: add missing IFLA_BRPORT_PROXYARP Jiri Pirko
2014-12-04 18:53 ` Stephen Hemminger
2014-12-04 8:57 ` [patch iproute2 6/6] bridge/link: add learning_sync policy flag Jiri Pirko
2014-12-04 13:26 ` Jamal Hadi Salim
2014-12-04 14:15 ` Jamal Hadi Salim
2014-12-04 13:16 ` [patch iproute2 0/6] iproute2: add changes for switchdev Jamal Hadi Salim
2014-12-04 13:56 ` Andy Gospodarek
2014-12-04 14:22 ` Roopa Prabhu
2014-12-04 14:31 ` Jamal Hadi Salim
2014-12-04 14:26 ` Roopa Prabhu
2014-12-04 14:34 ` Jiri Pirko
2014-12-04 14:45 ` Roopa Prabhu
2014-12-04 16:04 ` Jiri Pirko
2014-12-04 16:55 ` Roopa Prabhu
2014-12-04 20:49 ` Scott Feldman
2014-12-05 2:28 ` Roopa Prabhu [this message]
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=5481185F.9050805@cumulusnetworks.com \
--to=roopa@cumulusnetworks.com \
--cc=andy@greyhouse.net \
--cc=azhou@nicira.com \
--cc=ben@decadent.org.uk \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jesse@nicira.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=john.r.fastabend@intel.com \
--cc=linville@tuxdriver.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=ogerlitz@mellanox.com \
--cc=pshelar@nicira.com \
--cc=sfeldma@gmail.com \
--cc=stephen@networkplumber.org \
--cc=tgraf@suug.ch \
--cc=vyasevic@redhat.com \
--cc=xiyou.wangcong@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 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).