|
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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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.