summaryrefslogtreecommitdiffstats
path: root/include/net/switchdev.h
diff options
context:
space:
mode:
authorScott Feldman <sfeldma@gmail.com>2015-05-10 09:47:53 -0700
committerDavid S. Miller <davem@davemloft.net>2015-05-12 18:43:53 -0400
commit6fc3016da7c1587aa59e71f8c4dbc4cf1343eab2 (patch)
treeca3cfe8d396746a8ac897df94ac9fc12c3a2da60 /include/net/switchdev.h
parent491d0f1533ac750260406dbf84cdad44fd3d8a29 (diff)
downloadlinux-6fc3016da7c1587aa59e71f8c4dbc4cf1343eab2.tar.bz2
switchdev: add port vlan obj
VLAN obj has flags (PVID and untagged) as well as start and end vid ranges. The switchdev driver can optimize programing the device using the ranges. Signed-off-by: Scott Feldman <sfeldma@gmail.com> Acked-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/switchdev.h')
-rw-r--r--include/net/switchdev.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/switchdev.h b/include/net/switchdev.h
index 4f43300df72c..e598c2d45786 100644
--- a/include/net/switchdev.h
+++ b/include/net/switchdev.h
@@ -43,11 +43,19 @@ struct fib_info;
enum switchdev_obj_id {
SWITCHDEV_OBJ_UNDEFINED,
+ SWITCHDEV_OBJ_PORT_VLAN,
};
struct switchdev_obj {
enum switchdev_obj_id id;
enum switchdev_trans trans;
+ union {
+ struct switchdev_obj_vlan { /* PORT_VLAN */
+ u16 flags;
+ u16 vid_start;
+ u16 vid_end;
+ } vlan;
+ };
};
/**