libnl 3.5.0

Geneve
Routing Library (libnl-route) » Links (Interfaces)

Generic Network Virtualization Encapsulation. More...

## Geneve Object
struct rtnl_link * | rtnl_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 356 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

  link | Link object

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

Definition at line 378 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

  link | Link object
  id | Geneve network identifier

Returns
  0 on success or a negative error code

Definition at line 390 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

  link | Link object
  id | Pointer to store network identifier

Returns
  0 on success or a negative error code

Definition at line 412 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

  link | Link object
  addr | The unicast destination IP address

Returns
  0 on success or a negative error code

Definition at line 436 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

  link | Link object
  addr | Pointer to store unicast destination IP addree

Returns
  0 on success or a a negative error code

Definition at line 467 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

  link | Link object
  ttl | TTL value

Returns
  0 on success or a negative error code

Definition at line 493 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

  link | Link object

Returns
  TTL value on success or a negative error code

Definition at line 511 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

  link | Link object
  tos | ToS value

Returns
  0 on success or a negative error code

Definition at line 530 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

  link | Link object

Returns
  ToS value on success or a negative error code

Definition at line 548 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

  link | Link object
  port | Destination port

Returns
  0 on success or a negative error code

Definition at line 568 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

  link | Link object
  port | Pointer to store destination port

Returns
  0 on success or a negative error code

Definition at line 587 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

  link | Link object
  label | Destination label

Returns
  0 on success or a negative error code

Definition at line 611 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

  link | Link object
  label | Pointer to store destination label

Returns
  0 on success or a negative error code

Definition at line 630 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

  link | Link object
  csum | Status value

Returns
  0 on success or a negative error code

Definition at line 653 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

  link | Link object

Returns
  status value on success or a negative error code

Definition at line 671 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

  link | Link object
  csum | Status value

Returns
  0 on success or a negative error code

Definition at line 690 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

  link | Link object

Returns
  Status value on success or a negative error code

Definition at line 708 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

  link | Link object
  csum | Status value

Returns
  0 on success or a negative error code

Definition at line 727 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

  link | Link object

Returns
  Status value on success or a negative error code

Definition at line 745 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

  link | Link object
  flags | Which flags to set
  enable | Boolean enabling or disabling flag

Returns
  0 on success or a negative error code

Definition at line 765 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

  link | Link object
  flags | Pointer to store flags

Returns
  0 on success or a negative error code

Definition at line 789 of file geneve.c.