summaryrefslogtreecommitdiffstats
path: root/include/net/switchdev.h
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2015-10-14 19:40:48 +0200
committerDavid S. Miller <davem@davemloft.net>2015-10-15 15:09:46 +0200
commit793f40147e82cdedc80971fa7f5596d6ed1e555e (patch)
tree2bb1f4e5265077009ab346ea8d0f2e12c70d7ab6 /include/net/switchdev.h
parentnet: hisilicon: fixes a bug when using ethtool -S (diff)
downloadlinux-793f40147e82cdedc80971fa7f5596d6ed1e555e.tar.xz
linux-793f40147e82cdedc80971fa7f5596d6ed1e555e.zip
switchdev: introduce switchdev deferred ops infrastructure
Introduce infrastructure which will be used internally to defer ops. Note that the deferred ops are queued up and either are processed by scheduled work or explicitly by user calling deferred_process function. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/switchdev.h')
-rw-r--r--include/net/switchdev.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/switchdev.h b/include/net/switchdev.h
index 1ce70830357d..31b9038e07b0 100644
--- a/include/net/switchdev.h
+++ b/include/net/switchdev.h
@@ -167,6 +167,7 @@ switchdev_notifier_info_to_dev(const struct switchdev_notifier_info *info)
#ifdef CONFIG_NET_SWITCHDEV
+void switchdev_deferred_process(void);
int switchdev_port_attr_get(struct net_device *dev,
struct switchdev_attr *attr);
int switchdev_port_attr_set(struct net_device *dev,
@@ -208,6 +209,10 @@ void switchdev_port_fwd_mark_set(struct net_device *dev,
#else
+static inline void switchdev_deferred_process(void)
+{
+}
+
static inline int switchdev_port_attr_get(struct net_device *dev,
struct switchdev_attr *attr)
{