summaryrefslogtreecommitdiffstats
path: root/include/net/dsa.h
diff options
context:
space:
mode:
authorVivien Didelot2016-02-23 18:13:54 +0100
committerDavid S. Miller2016-02-25 21:20:20 +0100
commit65aebfc002abc1827ac7c8644a2bba0459ce3ce2 (patch)
tree60a6298a94bbee916fd1853059b4dff31be40596 /include/net/dsa.h
parentMerge branch 'vxlan-rx-cleanups' (diff)
downloadkernel-qcow2-linux-65aebfc002abc1827ac7c8644a2bba0459ce3ce2.tar.gz
kernel-qcow2-linux-65aebfc002abc1827ac7c8644a2bba0459ce3ce2.tar.xz
kernel-qcow2-linux-65aebfc002abc1827ac7c8644a2bba0459ce3ce2.zip
net: dsa: add port_vlan_dump routine
Similar to port_fdb_dump, add a port_vlan_dump function to DSA drivers which gets passed the switchdev VLAN object and callback. This function, if implemented, takes precedence over the soon legacy vlan_getnext/port_pvid_get approach. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r--include/net/dsa.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h
index 1c845d7bf0b2..ebc0d9ea96a1 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -313,6 +313,9 @@ struct dsa_switch_driver {
struct switchdev_trans *trans);
int (*port_vlan_del)(struct dsa_switch *ds, int port,
const struct switchdev_obj_port_vlan *vlan);
+ int (*port_vlan_dump)(struct dsa_switch *ds, int port,
+ struct switchdev_obj_port_vlan *vlan,
+ int (*cb)(struct switchdev_obj *obj));
int (*port_pvid_get)(struct dsa_switch *ds, int port, u16 *pvid);
int (*vlan_getnext)(struct dsa_switch *ds, u16 *vid,
unsigned long *ports, unsigned long *untagged);