libnl 3.7.0

Generic Network Virtualization Encapsulation. More...

Geneve Object

struct rtnl_linkrtnl_link_geneve_alloc (void)
 Allocate link object of type Geneve. More...
 
int rtnl_link_is_geneve (struct rtnl_link *link)
 Check if link is a Geneve link. More...
 
int rtnl_link_geneve_set_id (struct rtnl_link *link, uint32_t id)
 Set Geneve Network Indentifier. More...
 
int rtnl_link_geneve_get_id (struct rtnl_link *link, uint32_t *id)
 Get Geneve Network Identifier. More...
 
int rtnl_link_geneve_set_remote (struct rtnl_link *link, struct nl_addr *addr)
 Set Geneve unicast destination IP address. More...
 
int rtnl_link_geneve_get_remote (struct rtnl_link *link, struct nl_addr **addr)
 Get Geneve unicast destination IP address. More...
 
int rtnl_link_geneve_set_ttl (struct rtnl_link *link, uint8_t ttl)
 Set IP TTL value to use for Geneve. More...
 
int rtnl_link_geneve_get_ttl (struct rtnl_link *link)
 Get IP TTL value to use for Geneve. More...
 
int rtnl_link_geneve_set_tos (struct rtnl_link *link, uint8_t tos)
 Set IP ToS value to use for Geneve. More...
 
int rtnl_link_geneve_get_tos (struct rtnl_link *link)
 Get IP ToS value to use for Geneve. More...
 
int rtnl_link_geneve_set_port (struct rtnl_link *link, uint32_t port)
 Set UDP destination port to use for Geneve. More...
 
int rtnl_link_geneve_get_port (struct rtnl_link *link, uint32_t *port)
 Get UDP destination port to use for Geneve. More...
 
int rtnl_link_geneve_set_label (struct rtnl_link *link, uint32_t label)
 Set flow label to use for Geneve. More...
 
int rtnl_link_geneve_get_label (struct rtnl_link *link, uint32_t *label)
 Get flow label to use for Geneve. More...
 
int rtnl_link_geneve_set_udp_csum (struct rtnl_link *link, uint8_t csum)
 Set UDP checksum status to use for Geneve. More...
 
int rtnl_link_geneve_get_udp_csum (struct rtnl_link *link)
 Get UDP checksum status to use for Geneve. More...
 
int rtnl_link_geneve_set_udp_zero_csum6_tx (struct rtnl_link *link, uint8_t csum)
 Set skip UDP checksum transmitted over IPv6 status to use for Geneve. More...
 
int rtnl_link_geneve_get_udp_zero_csum6_tx (struct rtnl_link *link)
 Get skip UDP checksum transmitted over IPv6 status to use for Geneve. More...
 
int rtnl_link_geneve_set_udp_zero_csum6_rx (struct rtnl_link *link, uint8_t csum)
 Set skip UDP checksum received over IPv6 status to use for Geneve. More...
 
int rtnl_link_geneve_get_udp_zero_csum6_rx (struct rtnl_link *link)
 Get skip UDP checksum received over IPv6 status to use for Geneve. More...
 
int rtnl_link_geneve_set_flags (struct rtnl_link *link, uint8_t flags, int enable)
 Set Geneve flags. More...
 
int rtnl_link_geneve_get_flags (struct rtnl_link *link, uint8_t *flags)
 Get Geneve flags. More...
 

Detailed Description

Generic Network Virtualization Encapsulation.

Link Type Name: "geneve"

Geneve Documentation (Netlink Routing Development Guide)

Function Documentation

◆ rtnl_link_geneve_alloc()

struct rtnl_link * rtnl_link_geneve_alloc ( void  )

Allocate link object of type Geneve.

Returns
Allocated link object or NULL.

Definition at line 348 of file geneve.c.

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

+ Here is the call graph for this function:

◆ rtnl_link_is_geneve()

int rtnl_link_is_geneve ( struct rtnl_link link)

Check if link is a Geneve link.

Parameters
linkLink object
Returns
True if link is a Geneve link, otherwisee false is returned.

Definition at line 369 of file geneve.c.

◆ rtnl_link_geneve_set_id()

int rtnl_link_geneve_set_id ( struct rtnl_link link,
uint32_t  id 
)

Set Geneve Network Indentifier.

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

Definition at line 381 of file geneve.c.

◆ rtnl_link_geneve_get_id()

int rtnl_link_geneve_get_id ( struct rtnl_link link,
uint32_t *  id 
)

Get Geneve Network Identifier.

Parameters
linkLink object
idPointer to store network identifier
Returns
0 on success or a negative error code

Definition at line 403 of file geneve.c.

◆ rtnl_link_geneve_set_remote()

int rtnl_link_geneve_set_remote ( struct rtnl_link link,
struct nl_addr *  addr 
)

Set Geneve unicast destination IP address.

Parameters
linkLink object
addrThe unicast destination IP address
Returns
0 on success or a negative error code

Definition at line 427 of file geneve.c.

References nl_addr_get_binary_addr(), nl_addr_get_family(), and nl_addr_get_len().

+ Here is the call graph for this function:

◆ rtnl_link_geneve_get_remote()

int rtnl_link_geneve_get_remote ( struct rtnl_link link,
struct nl_addr **  addr 
)

Get Geneve unicast destination IP address.

Parameters
linkLink object
addrPointer to store unicast destination IP addree
Returns
0 on success or a a negative error code

Definition at line 458 of file geneve.c.

References nl_addr_build().

+ Here is the call graph for this function:

◆ rtnl_link_geneve_set_ttl()

int rtnl_link_geneve_set_ttl ( struct rtnl_link link,
uint8_t  ttl 
)

Set IP TTL value to use for Geneve.

Parameters
linkLink object
ttlTTL value
Returns
0 on success or a negative error code

Definition at line 484 of file geneve.c.

◆ rtnl_link_geneve_get_ttl()

int rtnl_link_geneve_get_ttl ( struct rtnl_link link)

Get IP TTL value to use for Geneve.

Parameters
linkLink object
Returns
TTL value on success or a negative error code

Definition at line 502 of file geneve.c.

◆ rtnl_link_geneve_set_tos()

int rtnl_link_geneve_set_tos ( struct rtnl_link link,
uint8_t  tos 
)

Set IP ToS value to use for Geneve.

Parameters
linkLink object
tosToS value
Returns
0 on success or a negative error code

Definition at line 521 of file geneve.c.

◆ rtnl_link_geneve_get_tos()

int rtnl_link_geneve_get_tos ( struct rtnl_link link)

Get IP ToS value to use for Geneve.

Parameters
linkLink object
Returns
ToS value on success or a negative error code

Definition at line 539 of file geneve.c.

◆ rtnl_link_geneve_set_port()

int rtnl_link_geneve_set_port ( struct rtnl_link link,
uint32_t  port 
)

Set UDP destination port to use for Geneve.

Parameters
linkLink object
portDestination port
Returns
0 on success or a negative error code

Definition at line 559 of file geneve.c.

◆ rtnl_link_geneve_get_port()

int rtnl_link_geneve_get_port ( struct rtnl_link link,
uint32_t *  port 
)

Get UDP destination port to use for Geneve.

Parameters
linkLink object
portPointer to store destination port
Returns
0 on success or a negative error code

Definition at line 578 of file geneve.c.

◆ rtnl_link_geneve_set_label()

int rtnl_link_geneve_set_label ( struct rtnl_link link,
uint32_t  label 
)

Set flow label to use for Geneve.

Parameters
linkLink object
labelDestination label
Returns
0 on success or a negative error code

Definition at line 602 of file geneve.c.

◆ rtnl_link_geneve_get_label()

int rtnl_link_geneve_get_label ( struct rtnl_link link,
uint32_t *  label 
)

Get flow label to use for Geneve.

Parameters
linkLink object
labelPointer to store destination label
Returns
0 on success or a negative error code

Definition at line 621 of file geneve.c.

◆ rtnl_link_geneve_set_udp_csum()

int rtnl_link_geneve_set_udp_csum ( struct rtnl_link link,
uint8_t  csum 
)

Set UDP checksum status to use for Geneve.

Parameters
linkLink object
csumStatus value
Returns
0 on success or a negative error code

Definition at line 644 of file geneve.c.

◆ rtnl_link_geneve_get_udp_csum()

int rtnl_link_geneve_get_udp_csum ( struct rtnl_link link)

Get UDP checksum status to use for Geneve.

Parameters
linkLink object
Returns
status value on success or a negative error code

Definition at line 662 of file geneve.c.

◆ rtnl_link_geneve_set_udp_zero_csum6_tx()

int rtnl_link_geneve_set_udp_zero_csum6_tx ( struct rtnl_link link,
uint8_t  csum 
)

Set skip UDP checksum transmitted over IPv6 status to use for Geneve.

Parameters
linkLink object
csumStatus value
Returns
0 on success or a negative error code

Definition at line 681 of file geneve.c.

◆ rtnl_link_geneve_get_udp_zero_csum6_tx()

int rtnl_link_geneve_get_udp_zero_csum6_tx ( struct rtnl_link link)

Get skip UDP checksum transmitted over IPv6 status to use for Geneve.

Parameters
linkLink object
Returns
Status value on success or a negative error code

Definition at line 699 of file geneve.c.

◆ rtnl_link_geneve_set_udp_zero_csum6_rx()

int rtnl_link_geneve_set_udp_zero_csum6_rx ( struct rtnl_link link,
uint8_t  csum 
)

Set skip UDP checksum received over IPv6 status to use for Geneve.

Parameters
linkLink object
csumStatus value
Returns
0 on success or a negative error code

Definition at line 718 of file geneve.c.

◆ rtnl_link_geneve_get_udp_zero_csum6_rx()

int rtnl_link_geneve_get_udp_zero_csum6_rx ( struct rtnl_link link)

Get skip UDP checksum received over IPv6 status to use for Geneve.

Parameters
linkLink object
Returns
Status value on success or a negative error code

Definition at line 736 of file geneve.c.

◆ rtnl_link_geneve_set_flags()

int rtnl_link_geneve_set_flags ( struct rtnl_link link,
uint8_t  flags,
int  enable 
)

Set Geneve flags.

Parameters
linkLink object
flagsWhich flags to set
enableBoolean enabling or disabling flag
Returns
0 on success or a negative error code

Definition at line 756 of file geneve.c.

◆ rtnl_link_geneve_get_flags()

int rtnl_link_geneve_get_flags ( struct rtnl_link link,
uint8_t *  flags 
)

Get Geneve flags.

Parameters
linkLink object
flagsPointer to store flags
Returns
0 on success or a negative error code

Definition at line 780 of file geneve.c.