libnl 3.7.0
|
Data Structures | |
struct | bridge_info |
Macros | |
#define | VLAN_VID_MASK 0x0fff /* VLAN Identifier */ |
#define | BRIDGE_ATTR_VLAN_FILTERING (1 << 0) |
#define | BRIDGE_ATTR_VLAN_PROTOCOL (1 << 1) |
#define | BRIDGE_ATTR_VLAN_STATS_ENABLED (1 << 2) |
#define | IS_BRIDGE_INFO_ASSERT(link) |
Enumerations | |
enum | rtnl_link_bridge_flags { RTNL_BRIDGE_HAIRPIN_MODE = 0x0001 , RTNL_BRIDGE_BPDU_GUARD = 0x0002 , RTNL_BRIDGE_ROOT_BLOCK = 0x0004 , RTNL_BRIDGE_FAST_LEAVE = 0x0008 , RTNL_BRIDGE_UNICAST_FLOOD = 0x0010 , RTNL_BRIDGE_LEARNING = 0x0020 , RTNL_BRIDGE_LEARNING_SYNC = 0x0040 } |
Bridge flags. More... | |
Functions | |
struct rtnl_link * | rtnl_link_bridge_alloc (void) |
Allocate link object of type bridge. More... | |
int | rtnl_link_bridge_add (struct nl_sock *sk, const char *name) |
Create a new kernel bridge device. More... | |
int | rtnl_link_is_bridge (struct rtnl_link *link) |
Check if a link is a bridge. More... | |
int | rtnl_link_bridge_has_ext_info (struct rtnl_link *link) |
Check if bridge has extended information. More... | |
int | rtnl_link_bridge_set_port_state (struct rtnl_link *link, uint8_t state) |
Set Spanning Tree Protocol (STP) port state. More... | |
int | rtnl_link_bridge_get_port_state (struct rtnl_link *link) |
Get Spanning Tree Protocol (STP) port state. More... | |
int | rtnl_link_bridge_set_priority (struct rtnl_link *link, uint16_t prio) |
Set priority. More... | |
int | rtnl_link_bridge_get_priority (struct rtnl_link *link) |
Get priority. More... | |
int | rtnl_link_bridge_set_cost (struct rtnl_link *link, uint32_t cost) |
Set Spanning Tree Protocol (STP) path cost. More... | |
int | rtnl_link_bridge_get_cost (struct rtnl_link *link, uint32_t *cost) |
Get Spanning Tree Protocol (STP) path cost. More... | |
int | rtnl_link_bridge_unset_flags (struct rtnl_link *link, unsigned int flags) |
Unset flags. More... | |
int | rtnl_link_bridge_set_flags (struct rtnl_link *link, unsigned int flags) |
Set flags. More... | |
int | rtnl_link_bridge_get_flags (struct rtnl_link *link) |
Get flags. More... | |
int | rtnl_link_bridge_set_self (struct rtnl_link *link) |
Set link change type to self. More... | |
int | rtnl_link_bridge_get_hwmode (struct rtnl_link *link, uint16_t *hwmode) |
Get hardware mode. More... | |
int | rtnl_link_bridge_set_hwmode (struct rtnl_link *link, uint16_t hwmode) |
Set hardware mode. More... | |
int | rtnl_link_bridge_pvid (struct rtnl_link *link) |
int | rtnl_link_bridge_has_vlan (struct rtnl_link *link) |
struct rtnl_link_bridge_vlan * | rtnl_link_bridge_get_port_vlan (struct rtnl_link *link) |
void | rtnl_link_bridge_set_vlan_filtering (struct rtnl_link *link, uint8_t vlan_filtering) |
Set VLAN filtering flag. More... | |
int | rtnl_link_bridge_get_vlan_filtering (struct rtnl_link *link, uint8_t *vlan_filtering) |
Get VLAN filtering flag. More... | |
void | rtnl_link_bridge_set_vlan_protocol (struct rtnl_link *link, uint16_t vlan_protocol) |
Set VLAN protocol. More... | |
int | rtnl_link_bridge_get_vlan_protocol (struct rtnl_link *link, uint16_t *vlan_protocol) |
Get VLAN protocol. More... | |
void | rtnl_link_bridge_set_vlan_stats_enabled (struct rtnl_link *link, uint8_t vlan_stats_enabled) |
Set VLAN stats enabled flag. More... | |
int | rtnl_link_bridge_get_vlan_stats_enabled (struct rtnl_link *link, uint8_t *vlan_stats_enabled) |
Get VLAN stats enabled flag. More... | |
Flag Translation | |
char * | rtnl_link_bridge_flags2str (int flags, char *buf, size_t len) |
int | rtnl_link_bridge_str2flags (const char *name) |
Port State Translation | |
char * | rtnl_link_bridge_portstate2str (int st, char *buf, size_t len) |
int | rtnl_link_bridge_str2portstate (const char *name) |
Hardware Mode Translation | |
char * | rtnl_link_bridge_hwmode2str (uint16_t st, char *buf, size_t len) |
uint16_t | rtnl_link_bridge_str2hwmode (const char *name) |
#define BRIDGE_ATTR_VLAN_FILTERING (1 << 0) |
Definition at line 18 of file bridge_info.c.
#define BRIDGE_ATTR_VLAN_PROTOCOL (1 << 1) |
Definition at line 19 of file bridge_info.c.
#define BRIDGE_ATTR_VLAN_STATS_ENABLED (1 << 2) |
Definition at line 20 of file bridge_info.c.
#define IS_BRIDGE_INFO_ASSERT | ( | link | ) |
Definition at line 136 of file bridge_info.c.
struct rtnl_link * rtnl_link_bridge_alloc | ( | void | ) |
Allocate link object of type bridge.
Definition at line 458 of file bridge.c.
References rtnl_link_alloc(), rtnl_link_put(), and rtnl_link_set_type().
Referenced by rtnl_link_bridge_add().
int rtnl_link_bridge_add | ( | struct nl_sock * | sk, |
const char * | name | ||
) |
Create a new kernel bridge device.
sk | netlink socket |
name | name of the bridge device or NULL |
Creates a new bridge device in the kernel. If no name is provided, the kernel will automatically pick a name of the form "type%d" (e.g. bridge0, vlan1, etc.)
Definition at line 484 of file bridge.c.
References rtnl_link_add(), rtnl_link_bridge_alloc(), rtnl_link_put(), and rtnl_link_set_name().
int rtnl_link_is_bridge | ( | struct rtnl_link * | link | ) |
Check if a link is a bridge.
link | Link object |
Definition at line 507 of file bridge.c.
Referenced by rtnl_link_bridge_has_ext_info().
int rtnl_link_bridge_has_ext_info | ( | struct rtnl_link * | link | ) |
Check if bridge has extended information.
link | Link object of type bridge |
Checks if the bridge object has been constructed based on information that is only available in newer kernels. This affectes the following functions:
Definition at line 526 of file bridge.c.
References rtnl_link_is_bridge().
int rtnl_link_bridge_set_port_state | ( | struct rtnl_link * | link, |
uint8_t | state | ||
) |
Set Spanning Tree Protocol (STP) port state.
link | Link object of type bridge |
state | New STP port state |
The value of state must be one of the following:
-NLE_OPNOTSUPP | Link is not a bridge |
-NLE_INVAL | Invalid state value (0..BR_STATE_BLOCKING) |
int rtnl_link_bridge_get_port_state | ( | struct rtnl_link * | link | ) |
Get Spanning Tree Protocol (STP) port state.
link | Link object of type bridge |
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_set_priority | ( | struct rtnl_link * | link, |
uint16_t | prio | ||
) |
Set priority.
link | Link object of type bridge |
prio | Bridge priority |
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_get_priority | ( | struct rtnl_link * | link | ) |
Get priority.
link | Link object of type bridge |
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_set_cost | ( | struct rtnl_link * | link, |
uint32_t | cost | ||
) |
Set Spanning Tree Protocol (STP) path cost.
link | Link object of type bridge |
cost | New STP path cost value |
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_get_cost | ( | struct rtnl_link * | link, |
uint32_t * | cost | ||
) |
Get Spanning Tree Protocol (STP) path cost.
link | Link object of type bridge |
cost | Pointer to store STP cost value |
-NLE_OPNOTSUPP | Link is not a bridge |
-NLE_INVAL | cost is not a valid pointer |
int rtnl_link_bridge_unset_flags | ( | struct rtnl_link * | link, |
unsigned int | flags | ||
) |
Unset flags.
link | Link object of type bridge |
flags | Bridging flags to unset |
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_set_flags | ( | struct rtnl_link * | link, |
unsigned int | flags | ||
) |
Set flags.
link | Link object of type bridge |
flags | Bridging flags to set |
Valid flags are:
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_get_flags | ( | struct rtnl_link * | link | ) |
Get flags.
link | Link object of type bridge |
-NLE_OPNOTSUPP | Link is not a bridge |
int rtnl_link_bridge_set_self | ( | struct rtnl_link * | link | ) |
Set link change type to self.
link | Link Object of type bridge |
This will set the bridge change flag to self, meaning that changes to be applied with this link object will be applied directly to the physical device in a bridge instead of the virtual device.
Definition at line 762 of file bridge.c.
Referenced by rtnl_link_bridge_set_hwmode().
int rtnl_link_bridge_get_hwmode | ( | struct rtnl_link * | link, |
uint16_t * | hwmode | ||
) |
Get hardware mode.
link | Link object of type bridge |
hwmode | Output argument. |
int rtnl_link_bridge_set_hwmode | ( | struct rtnl_link * | link, |
uint16_t | hwmode | ||
) |
Set hardware mode.
link | Link object of type bridge |
hwmode | Hardware mode to set on link |
This will set the hardware mode of a link when it supports hardware offloads for bridging.
Valid modes are:
When setting hardware mode, the change type will be set to self.
Definition at line 818 of file bridge.c.
References rtnl_link_bridge_set_self().
char * rtnl_link_bridge_flags2str | ( | int | flags, |
char * | buf, | ||
size_t | len | ||
) |
char * rtnl_link_bridge_portstate2str | ( | int | st, |
char * | buf, | ||
size_t | len | ||
) |
char * rtnl_link_bridge_hwmode2str | ( | uint16_t | st, |
char * | buf, | ||
size_t | len | ||
) |
struct rtnl_link_bridge_vlan * rtnl_link_bridge_get_port_vlan | ( | struct rtnl_link * | link | ) |
void rtnl_link_bridge_set_vlan_filtering | ( | struct rtnl_link * | link, |
uint8_t | vlan_filtering | ||
) |
Set VLAN filtering flag.
link | Link object of type bridge |
vlan_filtering | VLAN_filtering boolean flag to set. |
Definition at line 152 of file bridge_info.c.
int rtnl_link_bridge_get_vlan_filtering | ( | struct rtnl_link * | link, |
uint8_t * | vlan_filtering | ||
) |
Get VLAN filtering flag.
link | Link object of type bridge |
vlan_filtering | Output argument. |
-NLE_NOATTR | |
-NLE_INVAL |
Definition at line 175 of file bridge_info.c.
void rtnl_link_bridge_set_vlan_protocol | ( | struct rtnl_link * | link, |
uint16_t | vlan_protocol | ||
) |
Set VLAN protocol.
link | Link object of type bridge |
vlan_protocol | VLAN protocol to set. The protocol numbers is in host byte order. |
Definition at line 202 of file bridge_info.c.
int rtnl_link_bridge_get_vlan_protocol | ( | struct rtnl_link * | link, |
uint16_t * | vlan_protocol | ||
) |
Get VLAN protocol.
link | Link object of type bridge |
vlan_protocol | Output argument. The protocol number is in host byte order. |
-NLE_NOATTR | |
-NLE_INVAL |
Definition at line 225 of file bridge_info.c.
void rtnl_link_bridge_set_vlan_stats_enabled | ( | struct rtnl_link * | link, |
uint8_t | vlan_stats_enabled | ||
) |
Set VLAN stats enabled flag.
link | Link object of type bridge |
vlan_stats_enabled | VLAN stats enabled flag to set |
Definition at line 252 of file bridge_info.c.
int rtnl_link_bridge_get_vlan_stats_enabled | ( | struct rtnl_link * | link, |
uint8_t * | vlan_stats_enabled | ||
) |
Get VLAN stats enabled flag.
link | Link object of type bridge |
vlan_stats_enabled | Output argument. |
-NLE_NOATTR | |
-NLE_INVAL |
Definition at line 275 of file bridge_info.c.