From: Roopa Prabhu <roopa@cumulusnetworks•com>
To: Scott Feldman <sfeldma@gmail•com>
Cc: Jamal Hadi Salim <jhs@mojatatu•com>,
John Fastabend <john.r.fastabend@intel•com>,
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>,
Eric Dumazet <edumazet@google•com>,
Florian Fainelli <f.fainelli@gmail•com>,
John Linville <linville@tuxdriver•com>,
"j
Subject: Re: [patch net-next v3 02/17] net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del
Date: Fri, 28 Nov 2014 02:14:53 -0800 [thread overview]
Message-ID: <54784B1D.8090508@cumulusnetworks.com> (raw)
In-Reply-To: <CAE4R7bD1Hi+fnKp-Sg6Tn4AcpOu2pwgEYecP8LVA1ioO4FkgRQ@mail.gmail.com>
On 11/25/14, 6:36 PM, Scott Feldman wrote:
> On Tue, Nov 25, 2014 at 6:50 AM, Jamal Hadi Salim <jhs@mojatatu•com> wrote:
>> On 11/25/14 11:30, John Fastabend wrote:
>>> On 11/25/2014 08:18 AM, Jamal Hadi Salim wrote:
>>>> On 11/25/14 11:01, John Fastabend wrote:
>>>>> On 11/25/2014 07:38 AM, Jamal Hadi Salim wrote:
>>>>>> On 11/25/14 05:28, Jiri Pirko wrote:
>>>>>>> Do the work of parsing NDA_VLAN directly in rtnetlink code, pass
>>>>>>> simple
>>>>>>> u16 vid to drivers from there.
>>>>>>>
>>
>>> Actually (after having some coffee) this becomes much more useful
>>> if you return which items failed. Then you can slam the hardware
>>> with your 100 entries, probably a lot more then that, and come back
>>> later and clean it up.
>>>
>> Yes, that is the general use case.
>> Unfortunately at the moment we only return codes on a netlink set
>> direction - but would be a beauty if we could return what succeeded
>> and didnt in some form of vector.
>> Note: all is not lost because you can always do a get afterwards and
>> find what is missing if you got a return code of "partial success".
>> Just a little less efficient..
>>
>>
>>> We return a bitmask of which operations were successful. So if SW fails
>>> we have both bits cleared and we abort. When SW is successful we set the
>>> SW bit and try to program the HW. If its sucessful we set the HW bit if
>>> its not we abort with an err. Converting this to (1) is not much work
>>> just skip the abort.
>>>
>> Ok, guess i am gonna have to go stare at the code some more.
>> I thought we returned one of the error codes?
>> A bitmask would work for a single entry - because you have two
>> options add to h/ware and/or s/ware. So response is easy to encode.
>> But if i have 1000 and they are sparsely populated (think an indexed
>> table and i have indices 1, 23, 45, etc), then a bitmask would be
>> hard to use.
> I'm confused by this discussion. Do I have this right: You want to
> send 1000 RTM_NEWNEIGHs to PF_BRIDGE with both NTF_MASTER and NTF_SELF
> set such that 1000 new FBD entries are installed in both (SW) the
> bridge's FDB and (HW) the port driver's FDB. My first confusion is
> why do you want these FBD entries in bridge's FDB? We're offloading
> the switching to HW so HW should be handling fwd plane. If ctrl pkt
> make it to SW, it can learn those FDB entries; no need for manual
> install of FDB entry in SW. It seems to me you only want to use
> NTF_SELF to install the FDB entry in HW using the port driver. And an
> error code is returned for that install. Since there is only one
> target (NTF_SELF) there is no need for bitmask return.
>
scott, we do have such usecase today. ie , a fdb entry with both
NTF_MASTER and NTF_SELF set.
And these fdb entries can come from an external controller. The path to
get them to the hw is via the kernel.
The controller can use `bridge fdb add` to add the fdb entries to the
kernel (with NTF_MASTER) and also indicate in the same message to add
the fdb entry to hw (with NTF_SELF). And in this model it is assumed
that the kernel fdb and hw fdb are in sync.
next prev parent reply other threads:[~2014-11-28 10:15 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 10:28 [patch net-next v3 00/17] introduce rocker switch driver with hardware accelerated datapath api - phase 1: bridge fdb offload Jiri Pirko
2014-11-25 10:28 ` [patch net-next v3 01/17] bridge: rename fdb_*_hw to fdb_*_hw_addr to avoid confusion Jiri Pirko
2014-11-25 15:03 ` Andy Gospodarek
2014-11-25 15:26 ` Jamal Hadi Salim
2014-11-25 22:11 ` Thomas Graf
2014-11-25 22:33 ` Florian Fainelli
2014-11-25 10:28 ` [patch net-next v3 02/17] net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del Jiri Pirko
2014-11-25 15:13 ` Andy Gospodarek
2014-11-25 15:18 ` Jiri Pirko
2014-11-25 15:43 ` John Fastabend
2014-11-25 16:38 ` Jiri Pirko
2014-12-09 11:57 ` Or Gerlitz
2014-11-25 15:38 ` Jamal Hadi Salim
2014-11-25 16:01 ` John Fastabend
2014-11-25 16:18 ` Jamal Hadi Salim
2014-11-25 16:30 ` John Fastabend
2014-11-25 16:50 ` Jamal Hadi Salim
2014-11-26 1:44 ` Simon Horman
2014-11-26 2:36 ` Scott Feldman
2014-11-26 3:19 ` Jamal Hadi Salim
2014-11-26 3:59 ` Scott Feldman
2014-11-26 11:28 ` Jamal Hadi Salim
2014-11-26 11:40 ` Jiri Pirko
2014-11-26 11:54 ` Jamal Hadi Salim
2014-11-26 12:06 ` Jamal Hadi Salim
2014-11-27 6:50 ` Scott Feldman
2014-11-27 12:14 ` Jamal Hadi Salim
2014-11-27 20:59 ` Scott Feldman
2014-11-27 21:55 ` Jiri Pirko
2014-11-28 12:57 ` Jamal Hadi Salim
2014-11-28 10:14 ` Roopa Prabhu [this message]
2014-11-28 10:33 ` Scott Feldman
2014-11-25 16:19 ` Roopa Prabhu
2014-11-25 16:33 ` John Fastabend
2014-11-25 16:57 ` Jamal Hadi Salim
2014-11-25 16:43 ` Jiri Pirko
2014-11-25 18:53 ` Samudrala, Sridhar
2014-11-25 20:40 ` Jiri Pirko
2014-11-25 22:14 ` Thomas Graf
2014-11-25 22:39 ` Florian Fainelli
2014-11-25 23:11 ` Thomas Graf
2014-11-26 7:54 ` Jiri Pirko
2014-11-25 10:28 ` [patch net-next v3 03/17] net: rename netdev_phys_port_id to more generic name Jiri Pirko
2014-11-25 15:15 ` Andy Gospodarek
2014-11-25 15:44 ` Jamal Hadi Salim
2014-11-25 10:28 ` [patch net-next v3 04/17] net: introduce generic switch devices support Jiri Pirko
2014-11-25 15:02 ` Andy Gospodarek
2014-11-25 15:51 ` Jamal Hadi Salim
2014-11-25 16:49 ` Jiri Pirko
2014-11-25 17:08 ` Jamal Hadi Salim
2014-11-25 21:54 ` Thomas Graf
2014-11-26 3:33 ` Jamal Hadi Salim
2014-11-26 4:18 ` Scott Feldman
2014-11-26 11:36 ` Jamal Hadi Salim
2014-11-26 16:08 ` Thomas Graf
2014-11-26 17:09 ` Jamal Hadi Salim
2014-11-26 17:59 ` Jiri Pirko
2014-11-26 21:50 ` Thomas Graf
2014-11-26 23:32 ` Jamal Hadi Salim
2014-11-27 13:03 ` Thomas Graf
2014-11-27 13:32 ` Jamal Hadi Salim
2014-11-27 13:50 ` Jiri Pirko
2014-11-28 13:13 ` Jamal Hadi Salim
2014-11-27 5:58 ` Scott Feldman
2014-11-27 12:46 ` Jamal Hadi Salim
2014-11-27 3:13 ` Simon Horman
2014-11-27 12:35 ` Jamal Hadi Salim
2014-11-25 16:07 ` Roopa Prabhu
2014-11-25 16:50 ` Jiri Pirko
2014-11-25 10:28 ` [patch net-next v3 05/17] rtnl: expose physical switch id for particular device Jiri Pirko
2014-11-25 15:16 ` Andy Gospodarek
2014-11-25 10:28 ` [patch net-next v3 06/17] net-sysfs: " Jiri Pirko
2014-11-25 15:28 ` Andy Gospodarek
2014-11-25 15:53 ` Jamal Hadi Salim
2014-11-25 22:27 ` Florian Fainelli
2014-11-25 10:28 ` [patch net-next v3 07/17] rocker: introduce rocker switch driver Jiri Pirko
2014-11-25 15:57 ` Jamal Hadi Salim
2014-11-25 16:57 ` Jiri Pirko
2014-11-25 17:10 ` David Miller
2014-11-25 17:15 ` Jiri Pirko
2014-11-25 17:15 ` Jamal Hadi Salim
2014-11-25 17:51 ` Andy Gospodarek
2014-11-25 16:13 ` David Laight
2014-11-25 19:19 ` Scott Feldman
2014-11-25 21:57 ` tgraf
2014-11-25 10:28 ` [patch net-next v3 08/17] bridge: call netdev_sw_port_stp_update when bridge port STP status changes Jiri Pirko
2014-11-25 15:58 ` Andy Gospodarek
2014-11-25 16:53 ` Jiri Pirko
2014-11-25 22:18 ` Thomas Graf
2014-11-25 22:20 ` Florian Fainelli
2014-11-25 22:48 ` Roopa Prabhu
2014-11-26 1:35 ` Scott Feldman
2014-11-28 10:05 ` Roopa Prabhu
2014-11-28 10:51 ` Scott Feldman
2014-11-28 13:17 ` Jamal Hadi Salim
2014-11-28 13:27 ` Jiri Pirko
2014-11-28 16:23 ` Roopa Prabhu
2014-11-25 10:28 ` [patch net-next v3 09/17] bridge: add API to notify bridge driver of learned FBD on offloaded device Jiri Pirko
2014-11-25 16:01 ` Jamal Hadi Salim
2014-11-25 16:38 ` Andy Gospodarek
2014-11-25 22:36 ` Thomas Graf
2014-11-26 1:48 ` Scott Feldman
2014-11-26 10:26 ` Jiri Pirko
2014-11-25 22:44 ` Florian Fainelli
2014-11-26 2:03 ` Scott Feldman
2014-11-26 2:34 ` Florian Fainelli
2014-11-26 2:40 ` Scott Feldman
2014-11-26 8:16 ` Jiri Pirko
2014-11-26 3:22 ` Jamal Hadi Salim
2014-11-25 10:28 ` [patch net-next v3 10/17] rocker: implement rocker ofdpa flow table manipulation Jiri Pirko
2014-11-25 16:03 ` Jamal Hadi Salim
2014-11-25 10:28 ` [patch net-next v3 11/17] rocker: implement L2 bridge offloading Jiri Pirko
2014-11-25 16:04 ` Jamal Hadi Salim
2014-11-25 17:11 ` David Miller
2014-11-25 10:28 ` [patch net-next v3 12/17] rocker: implement ndo_fdb_dump Jiri Pirko
2014-11-25 16:04 ` Jamal Hadi Salim
2014-11-25 10:28 ` [patch net-next v3 13/17] bridge: move private brport flags to if_bridge.h so port drivers can use flags Jiri Pirko
2014-11-25 16:01 ` Andy Gospodarek
2014-11-25 16:05 ` Jamal Hadi Salim
2014-11-25 22:20 ` Florian Fainelli
2014-11-25 22:48 ` Thomas Graf
2014-11-26 12:12 ` Jiri Pirko
2014-11-25 10:28 ` [patch net-next v3 14/17] bridge: add new brport flag LEARNING_SYNC Jiri Pirko
2014-11-25 16:05 ` Roopa Prabhu
2014-11-25 16:06 ` Jamal Hadi Salim
2014-11-25 16:40 ` Andy Gospodarek
2014-11-25 10:28 ` [patch net-next v3 15/17] bridge: add new hwmode swdev Jiri Pirko
2014-11-25 16:03 ` Roopa Prabhu
2014-11-25 16:17 ` Andy Gospodarek
2014-11-25 22:56 ` Thomas Graf
2014-11-25 16:07 ` Jamal Hadi Salim
2014-11-25 23:00 ` Thomas Graf
2014-11-25 10:28 ` [patch net-next v3 16/17] bridge: add brport flags to dflt bridge_getlink Jiri Pirko
2014-11-25 16:08 ` Jamal Hadi Salim
2014-11-25 17:02 ` Scott Feldman
2014-11-25 17:48 ` Andy Gospodarek
2014-11-25 22:07 ` Thomas Graf
2014-11-26 9:25 ` Jiri Pirko
2014-11-26 10:48 ` Thomas Graf
2014-11-25 10:28 ` [patch net-next v3 17/17] rocker: add ndo_bridge_setlnk/getlink support for learning policy Jiri Pirko
2014-11-25 16:09 ` Jamal Hadi Salim
2014-11-25 18:55 ` Scott Feldman
2014-11-25 19:00 ` Jamal Hadi Salim
2014-11-25 20:42 ` Jiri Pirko
2014-11-26 11:07 ` Thomas Graf
2014-11-26 11:27 ` Jiri Pirko
2014-11-26 11:30 ` Thomas Graf
2014-11-26 11:42 ` Jiri Pirko
-- strict thread matches above, loose matches on Subject: below --
2014-11-26 7:35 [patch net-next v3 02/17] net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del Arad, Ronen
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=54784B1D.8090508@cumulusnetworks.com \
--to=roopa@cumulusnetworks$(echo .)com \
--cc=andy@greyhouse$(echo .)net \
--cc=azhou@nicira$(echo .)com \
--cc=ben@decadent$(echo .)org.uk \
--cc=davem@davemloft$(echo .)net \
--cc=dborkman@redhat$(echo .)com \
--cc=edumazet@google$(echo .)com \
--cc=f.fainelli@gmail$(echo .)com \
--cc=jeffrey.t.kirsher@intel$(echo .)com \
--cc=jesse@nicira$(echo .)com \
--cc=jhs@mojatatu$(echo .)com \
--cc=jiri@resnulli$(echo .)us \
--cc=john.r.fastabend@intel$(echo .)com \
--cc=linville@tuxdriver$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=nhorman@tuxdriver$(echo .)com \
--cc=ogerlitz@mellanox$(echo .)com \
--cc=pshelar@nicira$(echo .)com \
--cc=sfeldma@gmail$(echo .)com \
--cc=stephen@networkplumber$(echo .)org \
--cc=tgraf@suug$(echo .)ch \
--cc=vyasevic@redhat$(echo .)com \
--cc=xiyou.wangcong@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