Re: [PATCH 1/4 net-next] net: phy: add Generic Netlink Ethernet switch configuration API
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2013-10-22 19:59:53
2013/10/22 John Fastabend [off-list ref]:
On 10/22/2013 11:23 AM, Florian Fainelli wrote:quoted
This patch adds an Ethernet Switch generic netlink configuration API which allows for doing the required configuration of managed Ethernet switches commonly found in Wireless/Cable/DSL routers in the market. Since this API is based on the Generic Netlink infrastructure it is very easy to extend a particular switch driver to support additional features and to adapt it to specific switches.quoted
So far the API includes support for: - getting/setting a port VLAN id - getting/setting VLAN port membership - getting a port link status - getting a port statistics counters - resetting a switch device - applying a configuration to a switch deviceDid you consider exposing each physical switch port as a netdevice on the host? I would assume your switch driver could do this. Then you can drop the port specific attributes (link status, stats, etc) and use existing interfaces. The win being my tools work equally well on your real switch as they do on my software switch. Also by exposing net devices you provide a mechanism to send packets over the port and trap control packets.
Well this is exactly what DSA does and which I do not like because it is completely overkill for most switches out there which are using 802.1q tags and do not prepend/append proprietary tags for internal traffic classification.
Next instead of creating a switch specific netlink API could you use the existing FDB API? Again what I would like is for my existing applications to run on the switch without having to rewrite them. For example it would be great to have 'bridge fdb show dev myswitch' report the correct tables for both the Sw bridge, a real switch bridge, and for the embedded SR-IOV bridge case.
Ok, I know nothing about the FDB API, but will take a look and see if that sounds suitable for the embedded use cases.
I added Jamal and Neil because I think I remember talking about similar ideas with them before.
Thanks! -- Florian