1 /* 2 * netlink/route/link/macvlan.h MACVLAN interface 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2013 Michael Braun <michael-dev@fami-braun.de> 10 */ 11 12 #ifndef NETLINK_LINK_MACVLAN_H_ 13 #define NETLINK_LINK_MACVLAN_H_ 14 15 #include <netlink/netlink.h> 16 #include <netlink/route/link.h> 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 extern struct rtnl_link *rtnl_link_macvlan_alloc(void); 23 24 extern int rtnl_link_is_macvlan(struct rtnl_link *); 25 26 extern char * rtnl_link_macvlan_mode2str(int, char *, size_t); 27 extern int rtnl_link_macvlan_str2mode(const char *); 28 29 extern char * rtnl_link_macvlan_flags2str(int, char *, size_t); 30 extern int rtnl_link_macvlan_str2flags(const char *); 31 32 extern char * rtnl_link_macvlan_macmode2str(int, char *, size_t); 33 extern int rtnl_link_macvlan_str2macmode(const char *); 34 35 extern int rtnl_link_macvlan_set_mode(struct rtnl_link *, 36 uint32_t); 37 extern uint32_t rtnl_link_macvlan_get_mode(struct rtnl_link *); 38 39 extern int rtnl_link_macvlan_set_flags(struct rtnl_link *, 40 uint16_t); 41 extern int rtnl_link_macvlan_unset_flags(struct rtnl_link *, 42 uint16_t); 43 extern uint16_t rtnl_link_macvlan_get_flags(struct rtnl_link *); 44 45 extern int rtnl_link_macvlan_set_macmode(struct rtnl_link *, 46 uint32_t); 47 extern int rtnl_link_macvlan_get_macmode(struct rtnl_link *link, 48 uint32_t *out_macmode); 49 50 extern int rtnl_link_macvlan_count_macaddr(struct rtnl_link *link, 51 uint32_t *out_count); 52 extern int rtnl_link_macvlan_get_macaddr(struct rtnl_link *link, 53 uint32_t idx, 54 const struct nl_addr **addr); 55 extern int rtnl_link_macvlan_add_macaddr(struct rtnl_link *link, 56 struct nl_addr *addr); 57 extern int rtnl_link_macvlan_del_macaddr(struct rtnl_link *link, 58 struct nl_addr *addr); 59 60 #ifdef __cplusplus 61 } 62 #endif 63 64 #endif 65