libnl: IPIP

libnl 3.7.0

Data Structures | Macros | Functions | Variables
IPIP
Routing Library (libnl-route) » Links (Interfaces)

ipip link module More...

## Data Structures
struct | ipip_info

## Macros
#define | IPIP_ATTR_LINK (1 << 0)
#define | IPIP_ATTR_LOCAL (1 << 1)
#define | IPIP_ATTR_REMOTE (1 << 2)
#define | IPIP_ATTR_TTL (1 << 3)
#define | IPIP_ATTR_TOS (1 << 4)
#define | IPIP_ATTR_PMTUDISC (1 << 5)
#define | IPIP_ATTR_FWMARK (1 << 6)
#define | IS_IPIP_LINK_ASSERT(link)

## Functions
struct rtnl_link * | rtnl_link_ipip_alloc (void)
int | rtnl_link_is_ipip (struct rtnl_link *link)
| Check if link is a IPIP link. More...
int | rtnl_link_ipip_add (struct nl_sock *sk, const char *name)
| Create a new ipip tunnel device. More...
int | rtnl_link_ipip_set_link (struct rtnl_link *link, uint32_t index)
| Set IPIP tunnel interface index. More...
uint32_t | rtnl_link_ipip_get_link (struct rtnl_link *link)
| Get IPIP tunnel interface index. More...
int | rtnl_link_ipip_set_local (struct rtnl_link *link, uint32_t addr)
| Set IPIP tunnel local address. More...
uint32_t | rtnl_link_ipip_get_local (struct rtnl_link *link)
| Get IPIP tunnel local address. More...
int | rtnl_link_ipip_set_remote (struct rtnl_link *link, uint32_t addr)
| Set IPIP tunnel remote address. More...
uint32_t | rtnl_link_ipip_get_remote (struct rtnl_link *link)
| Get IPIP tunnel remote address. More...
int | rtnl_link_ipip_set_ttl (struct rtnl_link *link, uint8_t ttl)
| Set IPIP tunnel ttl. More...
uint8_t | rtnl_link_ipip_get_ttl (struct rtnl_link *link)
| Get IPIP tunnel ttl. More...
int | rtnl_link_ipip_set_tos (struct rtnl_link *link, uint8_t tos)
| Set IPIP tunnel tos. More...
uint8_t | rtnl_link_ipip_get_tos (struct rtnl_link *link)
| Get IPIP tunnel tos. More...
int | rtnl_link_ipip_set_pmtudisc (struct rtnl_link *link, uint8_t pmtudisc)
| Set IPIP tunnel path MTU discovery. More...
uint8_t | rtnl_link_ipip_get_pmtudisc (struct rtnl_link *link)
| Get IPIP path MTU discovery. More...
int | rtnl_link_ipip_set_fwmark (struct rtnl_link *link, uint32_t fwmark)
| Set IPIP tunnel fwmark. More...
int | rtnl_link_ipip_get_fwmark (struct rtnl_link *link, uint32_t *fwmark)
| Get IPIP tunnel fwmark. More...

## Variables
uint8_t | ipip_info::ttl
uint8_t | ipip_info::tos
uint8_t | ipip_info::pmtudisc
uint32_t | ipip_info::link
uint32_t | ipip_info::local
uint32_t | ipip_info::remote
uint32_t | ipip_info::fwmark
uint32_t | ipip_info::ipip_mask

## Detailed Description

ipip link module

Link Type Name: "ipip"

IPIP Documentation (Netlink Routing Development Guide)

## Macro Definition Documentation

## ◆ IS_IPIP_LINK_ASSERT

#define IS_IPIP_LINK_ASSERT | ( |  | link | ) |

Value:
if ((link)->l_info_ops != &ipip_info_ops) { \
APPBUG("Link is not a ipip link. set type \"ipip\" first."); \
return -NLE_OPNOTSUPP; \
}

Definition at line 276 of file ipip.c.

## Function Documentation

## ◆ rtnl_link_is_ipip()

int rtnl_link_is_ipip | ( | struct rtnl_link * | link | ) |

Check if link is a IPIP link.

Parameters

  link | Link object

Returns
  True if link is a IPIP link, otherwise false is returned.

Definition at line 306 of file ipip.c.

## ◆ rtnl_link_ipip_add()

int rtnl_link_ipip_add | ( | struct nl_sock * | sk,
|  | const char * | name
| ) |  |

Create a new ipip tunnel device.

Parameters

  sock | netlink socket
  name | name of the tunnel deviceL

Creates a new ipip tunnel device in the kernel

Returns
  0 on success or a negative error code

Definition at line 319 of file ipip.c.

## ◆ rtnl_link_ipip_set_link()

int rtnl_link_ipip_set_link | ( | struct rtnl_link * | link,
|  | uint32_t | index
| ) |  |

Set IPIP tunnel interface index.

Parameters

  link | Link object
  index | interface index

Returns
  0 on success or a negative error code

Definition at line 344 of file ipip.c.

## ◆ rtnl_link_ipip_get_link()

uint32_t rtnl_link_ipip_get_link | ( | struct rtnl_link * | link | ) |

Get IPIP tunnel interface index.

Parameters

  link | Link object

Returns
  interface index value

Definition at line 362 of file ipip.c.

## ◆ rtnl_link_ipip_set_local()

int rtnl_link_ipip_set_local | ( | struct rtnl_link * | link,
|  | uint32_t | addr
| ) |  |

Set IPIP tunnel local address.

Parameters

  link | Link object
  addr | local address

Returns
  0 on success or a negative error code

Definition at line 378 of file ipip.c.

## ◆ rtnl_link_ipip_get_local()

uint32_t rtnl_link_ipip_get_local | ( | struct rtnl_link * | link | ) |

Get IPIP tunnel local address.

Parameters

  link | Link object

Returns
  local address value

Definition at line 396 of file ipip.c.

## ◆ rtnl_link_ipip_set_remote()

int rtnl_link_ipip_set_remote | ( | struct rtnl_link * | link,
|  | uint32_t | addr
| ) |  |

Set IPIP tunnel remote address.

Parameters

  link | Link object
  remote | remote address

Returns
  0 on success or a negative error code

Definition at line 412 of file ipip.c.

## ◆ rtnl_link_ipip_get_remote()

uint32_t rtnl_link_ipip_get_remote | ( | struct rtnl_link * | link | ) |

Get IPIP tunnel remote address.

Parameters

  link | Link object

Returns
  remote address

Definition at line 430 of file ipip.c.

## ◆ rtnl_link_ipip_set_ttl()

int rtnl_link_ipip_set_ttl | ( | struct rtnl_link * | link,
|  | uint8_t | ttl
| ) |  |

Set IPIP tunnel ttl.

Parameters

  link | Link object
  ttl | tunnel ttl

Returns
  0 on success or a negative error code

Definition at line 446 of file ipip.c.

## ◆ rtnl_link_ipip_get_ttl()

uint8_t rtnl_link_ipip_get_ttl | ( | struct rtnl_link * | link | ) |

Get IPIP tunnel ttl.

Parameters

  link | Link object

Returns
  ttl value

Definition at line 464 of file ipip.c.

## ◆ rtnl_link_ipip_set_tos()

int rtnl_link_ipip_set_tos | ( | struct rtnl_link * | link,
|  | uint8_t | tos
| ) |  |

Set IPIP tunnel tos.

Parameters

  link | Link object
  tos | tunnel tos

Returns
  0 on success or a negative error code

Definition at line 480 of file ipip.c.

## ◆ rtnl_link_ipip_get_tos()

uint8_t rtnl_link_ipip_get_tos | ( | struct rtnl_link * | link | ) |

Get IPIP tunnel tos.

Parameters

  link | Link object

Returns
  tos value

Definition at line 498 of file ipip.c.

## ◆ rtnl_link_ipip_set_pmtudisc()

int rtnl_link_ipip_set_pmtudisc | ( | struct rtnl_link * | link,
|  | uint8_t | pmtudisc
| ) |  |

Set IPIP tunnel path MTU discovery.

Parameters

  link | Link object
  pmtudisc | path MTU discovery

Returns
  0 on success or a negative error code

Definition at line 514 of file ipip.c.

## ◆ rtnl_link_ipip_get_pmtudisc()

uint8_t rtnl_link_ipip_get_pmtudisc | ( | struct rtnl_link * | link | ) |

Get IPIP path MTU discovery.

Parameters

  link | Link object

Returns
  pmtudisc value

Definition at line 532 of file ipip.c.

## ◆ rtnl_link_ipip_set_fwmark()

int rtnl_link_ipip_set_fwmark | ( | struct rtnl_link * | link,
|  | uint32_t | fwmark
| ) |  |

Set IPIP tunnel fwmark.

Parameters

  link | Link object
  fwmark | fwmark

Returns
  0 on success or a negative error code

Definition at line 548 of file ipip.c.

## ◆ rtnl_link_ipip_get_fwmark()

int rtnl_link_ipip_get_fwmark | ( | struct rtnl_link * | link,
|  | uint32_t * | fwmark
| ) |  |

Get IPIP tunnel fwmark.

Parameters

  link | Link object
  fwmark | addr to fill in with the fwmark

Returns
  0 on success or a negative error code

Definition at line 567 of file ipip.c.