Merge branch 'net-Introduce-ndo_get_port_parent_id'
authorDavid S. Miller <davem@davemloft.net>
Wed, 6 Feb 2019 22:17:16 +0000 (14:17 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Feb 2019 22:17:16 +0000 (14:17 -0800)
commit554c88ac2f47343d55a80e0eefcf58c49c4d5d3e
tree01e04648ebb7677bbda79796c6140cb214ec9b47
parent47b98039fb6e1b3fc7b04a86a9c8ed5bbf604103
parentbccb30254a4a02ee370dd23b2afbd25d7a78bc34
Merge branch 'net-Introduce-ndo_get_port_parent_id'

Florian Fainelli says:

====================
net: Introduce ndo_get_port_parent_id()

Based on discussion with Ido and feedback from Jakub there are clearly
two classes of users that implement SWITCHDEV_ATTR_ID_PORT_PARENT_ID:

- PF/VF drivers which typically only implement return the port's parent
  ID, yet have to implement switchdev_port_attr_get() just for that

- Ethernet switch drivers: mlxsw, ocelot, DSA, etc. which implement more
  attributes which we want to be able to eventually veto in the context
  of the caller, thus making them candidates for using a blocking notifier
  chain

Changes in v4:

- remove superfluous net/switchdev.h inclusions in a few files
- added Jiri's Acked-by where given
- removed err = -EOPNOTSUPP initializations
- changed according to Jiri's suggestion in net/ipv4/ipmr.c

Changes in v3:

- keep ethsw's switchdev_ops assignment
- remove inclusion of net/switchdev.h in netdevsim which is no longer
  necesary

Changes in v2:

- resolved build failures spotted by kbuild test robot
- added helpers functions into the core network device layer:
  dev_get_port_parent_id() and netdev_port_same_parent_id();
- added support for recursion to lower devices

Changes from RFC:

- introduce a ndo_get_port_parent_id() and convert all relevant drivers
  to use it

- get rid of SWITCHDEV_ATTR_ID_PORT_PARENT_ID

A subsequent set of patches will convert switchdev_port_attr_set() to
use a blocking notifier call, and still get rid of
switchdev_port_attr_get() altogether.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>