All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamal Hadi Salim <jhs@mojatatu.com>
To: Simon Horman <simon.horman@netronome.com>
Cc: Thomas Graf <tgraf@suug.ch>, Jiri Pirko <jiri@resnulli.us>,
	netdev@vger.kernel.org, davem@davemloft.net,
	nhorman@tuxdriver.com, andy@greyhouse.net, dborkman@redhat.com,
	ogerlitz@mellanox.com, jesse@nicira.com, pshelar@nicira.com,
	azhou@nicira.com, ben@decadent.org.uk,
	stephen@networkplumber.org, jeffrey.t.kirsher@intel.com,
	vyasevic@redhat.com, xiyou.wangcong@gmail.com,
	john.r.fastabend@intel.com, edumazet@google.com,
	sfeldma@gmail.com, f.fainelli@gmail.com,
	roopa@cumulusnetworks.com, linville@tuxdriver.com,
	jasowang@redhat.com, ebiederm@xmission.com,
	nicolas.dichtel@6wind.com, ryazanov.s.a@gmail.com,
	buytenh@wantstofly.org, aviadr@mellanox.com, nbd@openwrt.org,
	alexei.starovoitov@gmail.com, Neil.Jerram@metaswitch.com,
	ronye@mellanox.com, alexander.h.duyck@redhat.com,
	john.ronciak@intel.com, mleitner@redhat.com, shrijeet@gmail.com,
	gospo@cumulusnetworks.com, bcrl@kvack
Subject: Re: [patch net-next v3 04/17] net: introduce generic switch devices support
Date: Thu, 27 Nov 2014 07:35:23 -0500	[thread overview]
Message-ID: <54771A8B.2030305@mojatatu.com> (raw)
In-Reply-To: <20141127031315.GD1649@vergenet.net>

On 11/26/14 22:13, Simon Horman wrote:
> On Tue, Nov 25, 2014 at 10:33:36PM -0500, Jamal Hadi Salim wrote:

[..]
> I may be missing the point but I see two problems that are solved by
> the switch abstraction.
>
> - Cases where no ports are configured.
>
>    Perhaps no such use cases exist for the API in question.
>    But it does seem plausible to me that non-physical ports could
>    be added at run-time and that thus a "switch" could initially
>    exist with no configured port. Something like how bridges
>    initially have no ports (IIRC).
>
> - Discovering the association between ports and "switches".
>
> My recollection from the double round table discussion on the last day of
> the Düsseldorf sessions was that these were reasons that simply accessing
> any port belonging to the "switch" were not entirely satisfactory.
>

So in Du I illustrated in a slide the internals of the Realtek that
Ben had patches on. Ben first exposes the realtek ports and when
you wish you can build a bridge and attach the exposed ports
and then hardware switching functionality is used. What is interesting
about it is infact you didnt need to use the switching on it. You
could attach a filter to any of the exposed ports, then specify an
action to do a redirect to another port for example.
(Scott i know you were not there, but i cant find where those slides
are posted; will send them when i do - or ask Thomas).
This is very easy to map to port/ingress classifier/actions in Linux.
I was hoping i could produce a patch to do this - but waiting on Ben
to complete the reverse engineering.
In any case the realtek is a toy example but there's millions deployed
and producing a patch for tc (if Jiri doesnt beat me to it) is a useful
exercise.
My devices (as would a netronome) would apply the same concept.
Essentially, you take an ingress packet arriving on a port,
you apply a classifier to it, apply actions to i and eventually
ingress it to a port. i.e

Ingress packet-->port->classifier-->...actions..->egress port

I can model the above with tc.

cheers,
jamal

  reply	other threads:[~2014-11-27 12:35 UTC|newest]

Thread overview: 148+ 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
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 [this message]
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

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=54771A8B.2030305@mojatatu.com \
    --to=jhs@mojatatu.com \
    --cc=Neil.Jerram@metaswitch.com \
    --cc=alexander.h.duyck@redhat.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=andy@greyhouse.net \
    --cc=aviadr@mellanox.com \
    --cc=azhou@nicira.com \
    --cc=bcrl@kvack \
    --cc=ben@decadent.org.uk \
    --cc=buytenh@wantstofly.org \
    --cc=davem@davemloft.net \
    --cc=dborkman@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=gospo@cumulusnetworks.com \
    --cc=jasowang@redhat.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jesse@nicira.com \
    --cc=jiri@resnulli.us \
    --cc=john.r.fastabend@intel.com \
    --cc=john.ronciak@intel.com \
    --cc=linville@tuxdriver.com \
    --cc=mleitner@redhat.com \
    --cc=nbd@openwrt.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=nicolas.dichtel@6wind.com \
    --cc=ogerlitz@mellanox.com \
    --cc=pshelar@nicira.com \
    --cc=ronye@mellanox.com \
    --cc=roopa@cumulusnetworks.com \
    --cc=ryazanov.s.a@gmail.com \
    --cc=sfeldma@gmail.com \
    --cc=shrijeet@gmail.com \
    --cc=simon.horman@netronome.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.