netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Fastabend <john.r.fastabend@intel.com>
To: jhs@mojatatu.com
Cc: jamal <hadi@cyberus.ca>,
	Stephen Hemminger <shemminger@vyatta.com>,
	bhutchings@solarflare.com, roprabhu@cisco.com,
	netdev@vger.kernel.org, mst@redhat.com, chrisw@redhat.com,
	davem@davemloft.net, gregory.v.rose@intel.com,
	kvm@vger.kernel.org, sri@us.ibm.com, kernel@wantstofly.org
Subject: Re: [RFC PATCH v0 1/2] net: bridge: propagate FDB table into hardware
Date: Tue, 28 Feb 2012 21:14:40 -0800	[thread overview]
Message-ID: <4F4DB440.50509@intel.com> (raw)
In-Reply-To: <4F4DAC26.4050108@intel.com>

On 2/28/2012 8:40 PM, John Fastabend wrote:
> On 2/18/2012 4:41 AM, jamal wrote:
>> On Fri, 2012-02-17 at 09:10 -0800, John Fastabend wrote:
>>
>>> Yes I agree that is the goal.
>>>
>>>> One last comment:
>>>> With synchronization there are other challenges when the entry in the
>>>> hardware conflicts with the entry in software when you intend the
>>>> behavior to be the same. This is not such a big deal with bridging but
>>>> becomes more apparent when you start offloading ACLs etc.
>>>>
>>>
>>> OK and these sorts of conflicts certainly don't need to be resolved
>>> by kernel code. So I think this is a reasonable reason to drive the
>>> synchronization into a user space daemon.
>>
>>
>> Yep. 
>> Thanks for listening John. Waiting to see them patches.
>>
>> cheers,
>> jamal
>>
>>
>>
> 
> +Lennert
> 
> OK back to this. The last piece is where to put these messages...
> we could take PF_ROUTE:RTM_*NEIGH
> 
>      PF_ROUTE:RTM_NEWNEIGH - Add a new FDB entry to an offloaded
>                              switch.
>      PF_ROUTE:RTM_DELNEIGH - Delete a FDB entry from an offlaoded
>                              switch.
>      PF_ROUTE:RTM_GETNEIGH - Dumps the embedded FDB table
> 
> The neighbor code is using the PF_UNSPEC protocol type so we won't
> collide with these unless someone was using PF_ROUTE and relying on
> falling back to PF_UNSPEC however I couldn't find any programs that
> did this iproute2 certainly doesn't. And the bridge pieces are using
> PF_BRIDGE so no collision there.
> 
> I briefly thought about trying to pull the PF_BRIDGE protocol out
> and use this for both types but I think its better to leave the
> bridge code alone and there is also the issue of disambiguating a msg
> at a port which has both an embedded switch and has SW bridge for a
> master.

Maybe I gave up too quickly here I could use a bit in the ndm_flags to
specify embedded or sw bridge. But would require having the bridge
module loaded.

> 
> Also if there are embedded switches with learning capabilities they
> might want to trigger events to user space. In this case having
> a protocol type makes user space a bit easier to manage. I've
> added Lennert so maybe he can comment I think the Marvell chipsets
> might support something along these lines. The SR-IOV chipsets I'm
> aware of _today_ don't do learning. Learning makes the event model
> more plausible.
> 

Just checked looks like the DSA infrastructure has commands to enable
STP so guess it is doing learning.

> The other mechanism would be to embed some more attributes into the
> PF_UNSPEC:RTM_XXXLINK msg however I'm thinking that if we want to
> support learning and triggering events then we likely also don't
> want to send these events to every app with RTNLGRP_LINK set.
> 
> Plus there is already a proliferation of LINK attributes and dumping
> the FDB out of this seems a bit much but could be done with some
> bitmasks. Although the current ext_filter_mask u32 doesn't seem to
> be sufficient for events to trigger this.
> 
> so much for a short note...
> 
> Thanks
> .John
> 
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2012-02-29  5:14 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09  3:22 [RFC PATCH v0 1/2] net: bridge: propagate FDB table into hardware John Fastabend
2012-02-09  3:22 ` [RFC PATCH v0 2/2] ixgbe: add NETIF_F_HW_FDB to supported flags John Fastabend
2012-02-09  4:36 ` [RFC PATCH v0 1/2] net: bridge: propagate FDB table into hardware Stephen Hemminger
2012-02-09 17:36   ` John Fastabend
2012-02-09 17:40     ` Stephen Hemminger
2012-02-09 17:52       ` John Fastabend
2012-02-09 21:11         ` jamal
2012-02-10  2:14           ` John Fastabend
2012-02-10  4:14             ` John Fastabend
2012-02-10 15:18               ` jamal
2012-02-10 16:39                 ` Stephen Hemminger
2012-02-13 13:54                   ` jamal
2012-02-13 15:13                 ` John Fastabend
2012-02-14 13:18                   ` jamal
2012-02-14 18:57                     ` John Fastabend
2012-02-14 19:05                       ` Stephen Hemminger
2012-02-14 19:08                         ` John Fastabend
2012-02-15 14:10                       ` Jamal Hadi Salim
2012-02-16  1:26                         ` John Fastabend
2012-02-17 14:28                           ` jamal
2012-02-17 17:10                             ` John Fastabend
2012-02-18 12:41                               ` jamal
2012-02-29  4:40                                 ` John Fastabend
2012-02-29  5:14                                   ` John Fastabend [this message]
2012-02-29 13:57                                     ` Jamal Hadi Salim
2012-02-29 13:56                                   ` Jamal Hadi Salim
2012-02-29 17:25                                     ` John Fastabend
2012-02-29 17:52                                       ` Stephen Hemminger
2012-02-29 18:19                                         ` John Fastabend
2012-03-01 13:36                                           ` Jamal Hadi Salim
2012-03-01 22:17                                             ` John Fastabend
2012-03-02 13:20                                               ` jamal
2012-03-05 17:00                                             ` Lennert Buytenhek
2012-03-01 13:24                                       ` Jamal Hadi Salim
2012-03-01 14:14                                       ` Michael S. Tsirkin
2012-03-01 22:10                                         ` John Fastabend
2012-03-05 16:53                                   ` Lennert Buytenhek
2012-03-06  3:45                                     ` John Fastabend
2012-03-06 14:15                                       ` Lennert Buytenhek
2012-03-06 13:42                                     ` jamal
2012-03-06 14:09                                       ` Lennert Buytenhek
2012-03-07 14:11                                         ` Jamal Hadi Salim
2012-03-12  8:48                                           ` Lennert Buytenhek
2012-03-13 13:52                                             ` Jamal Hadi Salim
2012-02-16  3:58                 ` Ben Hutchings
2012-02-16 19:18                   ` Shradha Shah
2012-02-17 14:37                   ` jamal
2012-02-10 13:45     ` Roopa Prabhu
2012-02-09 18:14 ` Sridhar Samudrala
2012-02-09 20:30   ` John Fastabend
2012-02-10  0:39     ` Sridhar Samudrala
2012-02-10  0:51       ` John Fastabend

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=4F4DB440.50509@intel.com \
    --to=john.r.fastabend@intel.com \
    --cc=bhutchings@solarflare.com \
    --cc=chrisw@redhat.com \
    --cc=davem@davemloft.net \
    --cc=gregory.v.rose@intel.com \
    --cc=hadi@cyberus.ca \
    --cc=jhs@mojatatu.com \
    --cc=kernel@wantstofly.org \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=roprabhu@cisco.com \
    --cc=shemminger@vyatta.com \
    --cc=sri@us.ibm.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).