diff options
author | Jiri Pirko <jiri@resnulli.us> | 2015-01-16 01:49:37 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-18 08:23:57 +0300 |
commit | 3aeb66176ffa8fefd7a9f7d37bda1d8adcf469a1 (patch) | |
tree | 9f2232db459c95cf0d000ab95322c6b7aac86235 /include/net/switchdev.h | |
parent | 03bf0c281234028388108d0aee720954f5fe6924 (diff) | |
download | linux-3aeb66176ffa8fefd7a9f7d37bda1d8adcf469a1.tar.xz |
net: replace br_fdb_external_learn_* calls with switchdev notifier events
This patch benefits from newly introduced switchdev notifier and uses it
to propagate fdb learn events from rocker driver to bridge. That avoids
direct function calls and possible use by other listeners (ovs).
Suggested-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/switchdev.h')
-rw-r--r-- | include/net/switchdev.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/net/switchdev.h b/include/net/switchdev.h index 7f8d74372d87..201120e18e4d 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -13,10 +13,21 @@ #include <linux/netdevice.h> #include <linux/notifier.h> +enum netdev_switch_notifier_type { + NETDEV_SWITCH_FDB_ADD = 1, + NETDEV_SWITCH_FDB_DEL, +}; + struct netdev_switch_notifier_info { struct net_device *dev; }; +struct netdev_switch_notifier_fdb_info { + struct netdev_switch_notifier_info info; /* must be first */ + const unsigned char *addr; + u16 vid; +}; + static inline struct net_device * netdev_switch_notifier_info_to_dev(const struct netdev_switch_notifier_info *info) { |