firewalling, NAT, and packet mangling for linux
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
link.c File Reference
Include dependency graph for link.c:




struct rtnl_linkrtnl_link_alloc (void)
void rtnl_link_put (struct rtnl_link *link)
Cache Management
int rtnl_link_alloc_cache (struct nl_sock *sk, struct nl_cache **result)
 Allocate link cache and fill in all configured links. More...
struct rtnl_linkrtnl_link_get (struct nl_cache *cache, int ifindex)
 Look up link by interface index in the provided cache. More...
struct rtnl_linkrtnl_link_get_by_name (struct nl_cache *cache, const char *name)
 Look up link by link name in the provided cache. More...
Link Modifications
int rtnl_link_build_change_request (struct rtnl_link *old, struct rtnl_link *tmpl, int flags, struct nl_msg **result)
 Builds a netlink change request message to change link attributes. More...
int rtnl_link_change (struct nl_sock *sk, struct rtnl_link *old, struct rtnl_link *tmpl, int flags)
 Change link attributes. More...
Name <-> Index Translations
char * rtnl_link_i2name (struct nl_cache *cache, int ifindex, char *dst, size_t len)
 Translate an interface index to the corresponding link name. More...
int rtnl_link_name2i (struct nl_cache *cache, const char *name)
 Translate a link name to the corresponding interface index. More...
void rtnl_link_set_qdisc (struct rtnl_link *link, const char *qdisc)
char * rtnl_link_get_qdisc (struct rtnl_link *link)
void rtnl_link_set_name (struct rtnl_link *link, const char *name)
char * rtnl_link_get_name (struct rtnl_link *link)
void rtnl_link_set_addr (struct rtnl_link *link, struct nl_addr *addr)
struct nl_addrrtnl_link_get_addr (struct rtnl_link *link)
void rtnl_link_set_broadcast (struct rtnl_link *link, struct nl_addr *brd)
struct nl_addrrtnl_link_get_broadcast (struct rtnl_link *link)
void rtnl_link_set_flags (struct rtnl_link *link, unsigned int flags)
void rtnl_link_unset_flags (struct rtnl_link *link, unsigned int flags)
unsigned int rtnl_link_get_flags (struct rtnl_link *link)
void rtnl_link_set_family (struct rtnl_link *link, int family)
int rtnl_link_get_family (struct rtnl_link *link)
void rtnl_link_set_arptype (struct rtnl_link *link, unsigned int arptype)
unsigned int rtnl_link_get_arptype (struct rtnl_link *link)
void rtnl_link_set_ifindex (struct rtnl_link *link, int ifindex)
int rtnl_link_get_ifindex (struct rtnl_link *link)
void rtnl_link_set_mtu (struct rtnl_link *link, unsigned int mtu)
unsigned int rtnl_link_get_mtu (struct rtnl_link *link)
void rtnl_link_set_txqlen (struct rtnl_link *link, unsigned int txqlen)
unsigned int rtnl_link_get_txqlen (struct rtnl_link *link)
void rtnl_link_set_weight (struct rtnl_link *link, unsigned int weight)
unsigned int rtnl_link_get_weight (struct rtnl_link *link)
void rtnl_link_set_link (struct rtnl_link *link, int ifindex)
int rtnl_link_get_link (struct rtnl_link *link)
void rtnl_link_set_master (struct rtnl_link *link, int ifindex)
int rtnl_link_get_master (struct rtnl_link *link)
void rtnl_link_set_operstate (struct rtnl_link *link, uint8_t operstate)
uint8_t rtnl_link_get_operstate (struct rtnl_link *link)
void rtnl_link_set_linkmode (struct rtnl_link *link, uint8_t linkmode)
uint8_t rtnl_link_get_linkmode (struct rtnl_link *link)
uint64_t rtnl_link_get_stat (struct rtnl_link *link, int id)
int rtnl_link_set_info_type (struct rtnl_link *link, const char *type)
 Specify the info type of a link. More...
char * rtnl_link_get_info_type (struct rtnl_link *link)
 Return info type of a link. More...

Link Flags Translations

char * rtnl_link_flags2str (int flags, char *buf, size_t len)
int rtnl_link_str2flags (const char *name)

Link Statistics Translations

char * rtnl_link_stat2str (int st, char *buf, size_t len)
int rtnl_link_str2stat (const char *name)

Link Operstate Translations

char * rtnl_link_operstate2str (int st, char *buf, size_t len)
int rtnl_link_str2operstate (const char *name)

Link Mode Translations

char * rtnl_link_mode2str (int st, char *buf, size_t len)
int rtnl_link_str2mode (const char *name)

Macro Definition Documentation

#define LINK_DIFF (   ATTR,
)    ATTR_DIFF(attrs, LINK_ATTR_##ATTR, a, b, EXPR)