libnl 3.10.0

Virtual LAN link module More...

VLAN Object

struct rtnl_linkrtnl_link_vlan_alloc (void)
 Allocate link object of type VLAN.
 
int rtnl_link_is_vlan (struct rtnl_link *link)
 Check if link is a VLAN link.
 
int rtnl_link_vlan_set_id (struct rtnl_link *link, uint16_t id)
 Set VLAN ID.
 
int rtnl_link_vlan_get_id (struct rtnl_link *link)
 Get VLAN Id.
 
int rtnl_link_vlan_set_protocol (struct rtnl_link *link, uint16_t protocol)
 Set VLAN protocol.
 
int rtnl_link_vlan_get_protocol (struct rtnl_link *link)
 Get VLAN protocol.
 
int rtnl_link_vlan_set_flags (struct rtnl_link *link, unsigned int flags)
 Set VLAN flags.
 
int rtnl_link_vlan_unset_flags (struct rtnl_link *link, unsigned int flags)
 Unset VLAN flags.
 
int rtnl_link_vlan_get_flags (struct rtnl_link *link)
 Get VLAN flags.
 

Quality of Service

int rtnl_link_vlan_set_ingress_map (struct rtnl_link *link, int from, uint32_t to)
 
uint32_t * rtnl_link_vlan_get_ingress_map (struct rtnl_link *link)
 
int rtnl_link_vlan_set_egress_map (struct rtnl_link *link, uint32_t from, int to)
 
struct vlan_maprtnl_link_vlan_get_egress_map (struct rtnl_link *link, int *negress)
 

Flag Translation

char * rtnl_link_vlan_flags2str (int flags, char *buf, size_t len)
 
int rtnl_link_vlan_str2flags (const char *name)
 

Detailed Description

Virtual LAN link module

Link Type Name: "vlan"

VLAN Documentation (Netlink Routing Development Guide)

Function Documentation

◆ rtnl_link_vlan_alloc()

struct rtnl_link * rtnl_link_vlan_alloc ( void )

Allocate link object of type VLAN.

Returns
Allocated link object or NULL.

Definition at line 400 of file vlan.c.

References rtnl_link_alloc(), rtnl_link_put(), and rtnl_link_set_type().

+ Here is the call graph for this function:

◆ rtnl_link_is_vlan()

int rtnl_link_is_vlan ( struct rtnl_link * link)

Check if link is a VLAN link.

Parameters
linkLink object
Returns
True if link is a VLAN link, otherwise false is returned.

Definition at line 421 of file vlan.c.

References rtnl_link_info_ops::io_name.

◆ rtnl_link_vlan_set_id()

int rtnl_link_vlan_set_id ( struct rtnl_link * link,
uint16_t id )

Set VLAN ID.

Parameters
linkLink object
idVLAN identifier
Returns
0 on success or a negative error code

Definition at line 433 of file vlan.c.

◆ rtnl_link_vlan_get_id()

int rtnl_link_vlan_get_id ( struct rtnl_link * link)

Get VLAN Id.

Parameters
linkLink object
Returns
VLAN id, 0 if not set or a negative error code.

Definition at line 451 of file vlan.c.

◆ rtnl_link_vlan_set_protocol()

int rtnl_link_vlan_set_protocol ( struct rtnl_link * link,
uint16_t protocol )

Set VLAN protocol.

Parameters
linkLink object
protocolVLAN protocol in network byte order. Probably you want to set it to something like htons(ETH_P_8021Q).
Returns
0 on success or a negative error code

Definition at line 471 of file vlan.c.

◆ rtnl_link_vlan_get_protocol()

int rtnl_link_vlan_get_protocol ( struct rtnl_link * link)

Get VLAN protocol.

Parameters
linkLink object
Returns
VLAN protocol in network byte order like htons(ETH_P_8021Q), 0 if not set or a negative error code.

Definition at line 490 of file vlan.c.

◆ rtnl_link_vlan_set_flags()

int rtnl_link_vlan_set_flags ( struct rtnl_link * link,
unsigned int flags )

Set VLAN flags.

Parameters
linkLink object
flagsVLAN flags
Returns
0 on success or a negative error code.

Definition at line 509 of file vlan.c.

◆ rtnl_link_vlan_unset_flags()

int rtnl_link_vlan_unset_flags ( struct rtnl_link * link,
unsigned int flags )

Unset VLAN flags.

Parameters
linkLink object
flagsVLAN flags
Returns
0 on success or a negative error code.

Definition at line 529 of file vlan.c.

◆ rtnl_link_vlan_get_flags()

int rtnl_link_vlan_get_flags ( struct rtnl_link * link)

Get VLAN flags.

Parameters
linkLink object
Returns
VLAN flags, 0 if none set, or a negative error code.

Definition at line 548 of file vlan.c.

◆ rtnl_link_vlan_set_ingress_map()

int rtnl_link_vlan_set_ingress_map ( struct rtnl_link * link,
int from,
uint32_t to )

Definition at line 564 of file vlan.c.

◆ rtnl_link_vlan_get_ingress_map()

uint32_t * rtnl_link_vlan_get_ingress_map ( struct rtnl_link * link)

Definition at line 581 of file vlan.c.

◆ rtnl_link_vlan_set_egress_map()

int rtnl_link_vlan_set_egress_map ( struct rtnl_link * link,
uint32_t from,
int to )

Definition at line 594 of file vlan.c.

◆ rtnl_link_vlan_get_egress_map()

struct vlan_map * rtnl_link_vlan_get_egress_map ( struct rtnl_link * link,
int * negress )

Definition at line 630 of file vlan.c.

◆ rtnl_link_vlan_flags2str()

char * rtnl_link_vlan_flags2str ( int flags,
char * buf,
size_t len )

Definition at line 665 of file vlan.c.

◆ rtnl_link_vlan_str2flags()

int rtnl_link_vlan_str2flags ( const char * name)

Definition at line 670 of file vlan.c.