00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef NETLINK_LINK_VLAN_H_
00013 #define NETLINK_LINK_VLAN_H_
00014
00015 #include <netlink/netlink.h>
00016 #include <netlink/route/link.h>
00017
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021
00022 struct vlan_map
00023 {
00024 uint32_t vm_from;
00025 uint32_t vm_to;
00026 };
00027
00028 #define VLAN_PRIO_MAX 7
00029
00030 extern char * rtnl_link_vlan_flags2str(int, char *, size_t);
00031 extern int rtnl_link_vlan_str2flags(const char *);
00032
00033 extern int rtnl_link_vlan_set_id(struct rtnl_link *, int);
00034 extern int rtnl_link_vlan_get_id(struct rtnl_link *);
00035
00036 extern int rtnl_link_vlan_set_flags(struct rtnl_link *,
00037 unsigned int);
00038 extern int rtnl_link_vlan_unset_flags(struct rtnl_link *,
00039 unsigned int);
00040 extern unsigned int rtnl_link_vlan_get_flags(struct rtnl_link *);
00041
00042 extern int rtnl_link_vlan_set_ingress_map(struct rtnl_link *,
00043 int, uint32_t);
00044 extern uint32_t * rtnl_link_vlan_get_ingress_map(struct rtnl_link *);
00045
00046 extern int rtnl_link_vlan_set_egress_map(struct rtnl_link *,
00047 uint32_t, int);
00048 extern struct vlan_map *rtnl_link_vlan_get_egress_map(struct rtnl_link *,
00049 int *);
00050
00051 #ifdef __cplusplus
00052 }
00053 #endif
00054
00055 #endif