All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: Jamal Hadi Salim <jhs@mojatatu.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Neil Horman <nhorman@tuxdriver.com>
Cc: John Fastabend <john.r.fastabend@intel.com>,
	netdev <netdev@vger.kernel.org>,
	David Miller <davem@davemloft.net>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	John Crispin <blogic@openwrt.org>,
	Jonas Gorski <jogo@openwrt.org>, Gary Thomas <gary@mlbassoc.com>,
	Vlad Yasevich <vyasevic@redhat.com>,
	Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [PATCH 1/4 net-next] net: phy: add Generic Netlink Ethernet switch configuration API
Date: Wed, 23 Oct 2013 15:31:23 +0200	[thread overview]
Message-ID: <5267CFAB.9090100@openwrt.org> (raw)
In-Reply-To: <5267C6B9.4000704@mojatatu.com>

On 2013-10-23 2:53 PM, Jamal Hadi Salim wrote:
> On 10/23/13 08:04, Felix Fietkau wrote:
> 
> 
>> A typical switch has something like 5-8 ports (+ one port that goes to
>> the CPU),
> 
> My opinion:
> So exposing the 5-8 ports as netdevs would be useful. Giving access to
> their stats through per-port netdevs etc. i.e a switch/bridge will show
> up on bootup and the 5-8 ports as well. The 5-8 ports will show up
> as bridge ports to the switch.
So you would like to have 'dummy' netdevs that don't actually work like
real ones, just to get stats?

> If something requires other "services" like l3 - I am assuming that
> would show up in the cpu port, but its role is really to demux
> and send it to ingress of the originating port on ASIC (i.e dont
> think it should be exposed).
Many of these switches are designed to work completely standalone, i.e.
they receive their configuration once and then do their thing, often
they don't even have special treatment for the CPU port.

>>and handles the entire forwarding path on its own.
> 
> This is default behavior. i.e learning and flooding.
> Can you at least retrieve the fdb? example how to figure out which
> port a specific MAC address resides?
On some of them, but not all.

>>It usually
>> allows creating VLANs and assigning ports to them (tagged, untagged),
> 
> I wasnt sure about the vlans<->port mapping as i stated in the earlier
> email. So on this issue, I can see the challenge.
> You could of course put vlan netdevs on top of switch ports and then
> attach those to the bridge, but i cant see an approach if a switch port
> can support more than one vlan without having multiple bridges. example:
> bridgeA: link ports {swp0:vlan1, swp1:vlan2, swp0:vlan4}
> bridgeB: link ports {swp0:vlan3, swp1:vlan4, swp1:vlan2}
So even more dummy interfaces that serve no real purpose other than
configuration?

>  > but many (probably most) switches do not support controlling the
>> forwarding path via a MAC address based FDB.
> 
> Ok, so operations like fdb_add/del will be disallowed. This is really
> up to the driver to not expose such ops.
> 
>> Many also do not have support for a packet header to indicate the
>> incoming/outgoing switch port, so creating one netdev per port will work
>> only for link status, not for the data path.
> 
> You mean when such a packet arrives on the "cpu" port, you wont know the
> originating port?
Correct. I still get the impression that the model you're describing is
mostly incompatible with what we're trying to do, and comes at the cost
of quite a bit of extra complexity and bloat, not just on the
implementation side, but on the configuration side as well.
It also seems to make it more difficult to support vendor specific
features. I strongly doubt that the slight increase in consistency
between different kinds of switches/bridges is worth all of these extra
costs.

- Felix

  reply	other threads:[~2013-10-23 13:31 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-22 18:23 [PATCH 0/4 net-next] net: phy: add Generic Netlink switch configuration API Florian Fainelli
2013-10-22 18:23 ` [PATCH 1/4 net-next] net: phy: add Generic Netlink Ethernet " Florian Fainelli
2013-10-22 19:22   ` Dan Williams
2013-10-22 19:32     ` Florian Fainelli
2013-10-22 19:47       ` David Miller
     [not found]         ` <1382477150.19269.69.camel@dcbw.foobar.com>
2013-10-22 21:22           ` David Miller
2013-10-22 19:46     ` David Miller
2013-10-22 19:53   ` John Fastabend
2013-10-22 19:59     ` Florian Fainelli
2013-10-22 20:25       ` Neil Horman
2013-10-22 22:09         ` Florian Fainelli
2013-10-23 11:34           ` Neil Horman
2013-10-23 11:47           ` Jamal Hadi Salim
2013-10-23 12:04             ` Felix Fietkau
2013-10-23 12:53               ` Jamal Hadi Salim
2013-10-23 13:31                 ` Felix Fietkau [this message]
2013-10-23 14:09                   ` Jamal Hadi Salim
2013-10-23 14:32                     ` Felix Fietkau
2013-10-25 11:43                       ` Jamal Hadi Salim
2013-10-25 13:01                         ` Felix Fietkau
2013-10-27 17:19                           ` Jamal Hadi Salim
2013-10-27 18:14                             ` Florian Fainelli
2013-10-28 22:29                               ` Jamal Hadi Salim
2013-10-27 19:51                             ` Felix Fietkau
2013-10-28 22:53                               ` Jamal Hadi Salim
2013-10-29  9:34                                 ` Felix Fietkau
2013-10-30 11:45                                   ` Jamal Hadi Salim
2013-10-30 12:53                                     ` Felix Fietkau
2013-10-30 17:27                                 ` Lennert Buytenhek
2013-10-30 17:34                                   ` Lennert Buytenhek
2013-10-30 17:56                                     ` John Fastabend
2013-10-30 17:56                                     ` John Fastabend
2013-10-30 19:47                                   ` Felix Fietkau
2013-12-07  1:45                                     ` Florian Fainelli
2013-10-29 23:12                 ` Maxime Bizon
2013-10-30 11:50                   ` Jamal Hadi Salim
2013-10-30 11:58                     ` Felix Fietkau
2013-10-30 14:28                     ` Maxime Bizon
2013-10-22 18:23 ` [PATCH 2/4 net-next] tools: add Generic Netlink switch configuration tool Florian Fainelli
2013-10-22 18:23 ` [PATCH 3/4 net-next] net: phy: add Broadcom B53 switch driver Florian Fainelli
2013-10-22 18:23 ` [PATCH 4/4 net-next] net: phy: add fake " Florian Fainelli

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=5267CFAB.9090100@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=blogic@openwrt.org \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=gary@mlbassoc.com \
    --cc=jhs@mojatatu.com \
    --cc=jogo@openwrt.org \
    --cc=john.r.fastabend@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=s.hauer@pengutronix.de \
    --cc=stephen@networkplumber.org \
    --cc=vyasevic@redhat.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.