19 #include <vlib/vlib.h>
21 #include <sys/socket.h>
22 #include <linux/rtnetlink.h>
23 #include <linux/netlink.h>
29 #include <linux/mpls.h>
31 #define MPLS_STACK_DEPTH 7
35 u8 hwaddr[IFHWADDRLEN];
36 u8 broadcast[IFHWADDRLEN];
41 struct rtnl_link_stats stats;
56 struct rta_cacheinfo cacheinfo;
57 struct mpls_label encap[MPLS_STACK_DEPTH];
62 struct ifaddrmsg ifaddr;
68 struct ifa_cacheinfo cacheinfo;
75 u8 lladdr[IFHWADDRLEN];
77 struct nda_cacheinfo cacheinfo;
82 char name[RTNL_NETNS_NAMELEN + 1];
98 #define NETNS_F_ADD 0x01
99 #define NETNS_F_DEL 0x02
102 void (*notify)(
void *obj, netns_type_t type, u32 flags, uword opaque);
119 netns_t *netns_getns(u32 handle);
124 void netns_close(u32 handle);
131 void netns_callme(u32 handle,
char del);
137 u8 *format_ns_neigh(u8 *s, va_list *args);
138 u8 *format_ns_addr(u8 *s, va_list *args);
139 u8 *format_ns_route(u8 *s, va_list *args);
140 u8 *format_ns_link(u8 *s, va_list *args);
142 u8 *format_ns_object(u8 *s, va_list *args);
143 u8 *format_ns_flags(u8 *s, va_list *args);