Message ID | 20190201220657.30170-2-f.fainelli@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Get rid of switchdev_ops | expand |
Fri, Feb 01, 2019 at 11:06:45PM CET, f.fainelli@gmail.com wrote: >In preparation for allowing switchdev enabled drivers to veto specific >attribute settings from within the context of the caller, introduce a >new switchdev notifier type for port attributes. > >Suggested-by: Ido Schimmel <idosch@mellanox.com> >Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> >--- > include/net/switchdev.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > >diff --git a/include/net/switchdev.h b/include/net/switchdev.h >index 63843ae5dc81..e62fb2693e00 100644 >--- a/include/net/switchdev.h >+++ b/include/net/switchdev.h >@@ -145,6 +145,9 @@ enum switchdev_notifier_type { > SWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE, > SWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE, > SWITCHDEV_VXLAN_FDB_OFFLOADED, >+ >+ SWITCHDEV_PORT_ATTR_SET, /* Blocking. */ >+ SWITCHDEV_PORT_ATTR_GET, /* Blocking. */ Not an UAPI, so you can put this right next to PORT_OBJ_* if needed. > }; > > struct switchdev_notifier_info { >@@ -167,6 +170,13 @@ struct switchdev_notifier_port_obj_info { > bool handled; > }; > >+struct switchdev_notifier_port_attr_info { >+ struct switchdev_notifier_info info; /* must be first */ >+ struct switchdev_attr *attr; >+ struct switchdev_trans *trans; >+ bool handled; >+}; >+ > static inline struct net_device * > switchdev_notifier_info_to_dev(const struct switchdev_notifier_info *info) > { >-- >2.17.1 >
diff --git a/include/net/switchdev.h b/include/net/switchdev.h index 63843ae5dc81..e62fb2693e00 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -145,6 +145,9 @@ enum switchdev_notifier_type { SWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE, SWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE, SWITCHDEV_VXLAN_FDB_OFFLOADED, + + SWITCHDEV_PORT_ATTR_SET, /* Blocking. */ + SWITCHDEV_PORT_ATTR_GET, /* Blocking. */ }; struct switchdev_notifier_info { @@ -167,6 +170,13 @@ struct switchdev_notifier_port_obj_info { bool handled; }; +struct switchdev_notifier_port_attr_info { + struct switchdev_notifier_info info; /* must be first */ + struct switchdev_attr *attr; + struct switchdev_trans *trans; + bool handled; +}; + static inline struct net_device * switchdev_notifier_info_to_dev(const struct switchdev_notifier_info *info) {
In preparation for allowing switchdev enabled drivers to veto specific attribute settings from within the context of the caller, introduce a new switchdev notifier type for port attributes. Suggested-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- include/net/switchdev.h | 10 ++++++++++ 1 file changed, 10 insertions(+)