summaryrefslogtreecommitdiffstats
path: root/include/net/dsa.h
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2015-10-08 17:35:12 +0200
committerDavid S. Miller <davem@davemloft.net>2015-10-11 14:28:49 +0200
commit146a32067b3fde1424d737d7fb333eb0951e6419 (patch)
treea9806c0cae535096c9a620ef733d05787e88f735 /include/net/dsa.h
parentnet: encx24j600: Fix typos in Kconfig (diff)
downloadlinux-146a32067b3fde1424d737d7fb333eb0951e6419.tar.xz
linux-146a32067b3fde1424d737d7fb333eb0951e6419.zip
net: dsa: add port_fdb_prepare
Push the prepare phase for FDB operations down to the DSA drivers, with a new port_fdb_prepare function. Currently only mv88e6xxx is affected. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r--include/net/dsa.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h
index b34d812bc5d0..4f66f8411583 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -197,6 +197,9 @@ static inline u8 dsa_upstream_port(struct dsa_switch *ds)
return ds->pd->rtable[dst->cpu_switch];
}
+struct switchdev_trans;
+struct switchdev_obj_port_fdb;
+
struct dsa_switch_driver {
struct list_head list;
@@ -316,6 +319,9 @@ struct dsa_switch_driver {
/*
* Forwarding database
*/
+ int (*port_fdb_prepare)(struct dsa_switch *ds, int port,
+ const struct switchdev_obj_port_fdb *fdb,
+ struct switchdev_trans *trans);
int (*port_fdb_add)(struct dsa_switch *ds, int port,
const unsigned char *addr, u16 vid);
int (*port_fdb_del)(struct dsa_switch *ds, int port,