ip6vti link module
More...
|
struct rtnl_link * | rtnl_link_ip6vti_alloc (void) |
|
int | rtnl_link_is_ip6vti (struct rtnl_link *link) |
| Check if link is a IP6VTI link. More...
|
|
int | rtnl_link_ip6vti_add (struct nl_sock *sk, const char *name) |
| Create a new vti6 tunnel device. More...
|
|
int | rtnl_link_ip6vti_set_link (struct rtnl_link *link, uint32_t index) |
| Set IP6VTI tunnel interface index. More...
|
|
int | rtnl_link_ip6vti_get_link (struct rtnl_link *link, uint32_t *index) |
| Get IP6VTI tunnel interface index. More...
|
|
int | rtnl_link_ip6vti_set_ikey (struct rtnl_link *link, uint32_t ikey) |
| Set IP6VTI tunnel set ikey. More...
|
|
int | rtnl_link_ip6vti_get_ikey (struct rtnl_link *link, uint32_t *ikey) |
| Get IP6VTI tunnel ikey. More...
|
|
int | rtnl_link_ip6vti_set_okey (struct rtnl_link *link, uint32_t okey) |
| Set IP6VTI tunnel set okey. More...
|
|
int | rtnl_link_ip6vti_get_okey (struct rtnl_link *link, uint32_t *okey) |
| Get IP6VTI tunnel okey. More...
|
|
int | rtnl_link_ip6vti_set_local (struct rtnl_link *link, struct in6_addr *local) |
| Set IP6VTI tunnel local address. More...
|
|
int | rtnl_link_ip6vti_get_local (struct rtnl_link *link, struct in6_addr *local) |
| Get IP6VTI tunnel local address. More...
|
|
int | rtnl_link_ip6vti_set_remote (struct rtnl_link *link, struct in6_addr *remote) |
| Set IP6VTI tunnel remote address. More...
|
|
int | rtnl_link_ip6vti_get_remote (struct rtnl_link *link, struct in6_addr *remote) |
| Get IP6VTI tunnel remote address. More...
|
|
int | rtnl_link_ip6vti_set_fwmark (struct rtnl_link *link, uint32_t fwmark) |
| Set IP6VTI tunnel fwmark. More...
|
|
int | rtnl_link_ip6vti_get_fwmark (struct rtnl_link *link, uint32_t *fwmark) |
| Get IP6VTI tunnel fwmark. More...
|
|
ip6vti link module
Link Type Name: "vti6"
IP6VTI Documentation (Netlink Routing Development Guide)
◆ IP6VTI_ATTR_LINK
#define IP6VTI_ATTR_LINK (1 << 0) |
◆ IP6VTI_ATTR_IKEY
#define IP6VTI_ATTR_IKEY (1 << 1) |
◆ IP6VTI_ATTR_OKEY
#define IP6VTI_ATTR_OKEY (1 << 2) |
◆ IP6VTI_ATTR_LOCAL
#define IP6VTI_ATTR_LOCAL (1 << 3) |
◆ IP6VTI_ATTR_REMOTE
#define IP6VTI_ATTR_REMOTE (1 << 4) |
◆ IP6VTI_ATTR_FWMARK
#define IP6VTI_ATTR_FWMARK (1 << 5) |
◆ IS_IP6VTI_LINK_ASSERT
#define IS_IP6VTI_LINK_ASSERT |
( |
|
link | ) |
|
Value: if ((link)->l_info_ops != &ip6vti_info_ops) { \
APPBUG("Link is not a ip6vti link. set type \"vti6\" first."); \
return -NLE_OPNOTSUPP; \
}
Definition at line 249 of file ip6vti.c.
◆ HAS_IP6VTI_ATTR_ASSERT
#define HAS_IP6VTI_ATTR_ASSERT |
( |
|
ip6vti, |
|
|
|
attr |
|
) |
| |
Value: if (!((ip6vti)->ip6vti_mask & (attr))) \
return -NLE_NOATTR;
Definition at line 255 of file ip6vti.c.
◆ rtnl_link_ip6vti_alloc()
struct rtnl_link * rtnl_link_ip6vti_alloc |
( |
void |
| ) |
|
◆ rtnl_link_is_ip6vti()
int rtnl_link_is_ip6vti |
( |
struct rtnl_link * |
link | ) |
|
Check if link is a IP6VTI link.
- Parameters
-
- Returns
- True if link is a IP6VTI link, otherwise 0 is returned.
Definition at line 283 of file ip6vti.c.
◆ rtnl_link_ip6vti_add()
int rtnl_link_ip6vti_add |
( |
struct nl_sock * |
sk, |
|
|
const char * |
name |
|
) |
| |
◆ rtnl_link_ip6vti_set_link()
int rtnl_link_ip6vti_set_link |
( |
struct rtnl_link * |
link, |
|
|
uint32_t |
index |
|
) |
| |
Set IP6VTI tunnel interface index.
- Parameters
-
link | Link object |
index | interface index |
- Returns
- 0 on success or a negative error code
Definition at line 319 of file ip6vti.c.
◆ rtnl_link_ip6vti_get_link()
int rtnl_link_ip6vti_get_link |
( |
struct rtnl_link * |
link, |
|
|
uint32_t * |
index |
|
) |
| |
Get IP6VTI tunnel interface index.
- Parameters
-
link | Link object |
index | addr to fill in with the interface index |
- Returns
- 0 on success or a negative error code
Definition at line 338 of file ip6vti.c.
◆ rtnl_link_ip6vti_set_ikey()
int rtnl_link_ip6vti_set_ikey |
( |
struct rtnl_link * |
link, |
|
|
uint32_t |
ikey |
|
) |
| |
Set IP6VTI tunnel set ikey.
- Parameters
-
link | Link object |
ikey | gre ikey |
- Returns
- 0 on success or a negative error code
Definition at line 358 of file ip6vti.c.
◆ rtnl_link_ip6vti_get_ikey()
int rtnl_link_ip6vti_get_ikey |
( |
struct rtnl_link * |
link, |
|
|
uint32_t * |
ikey |
|
) |
| |
Get IP6VTI tunnel ikey.
- Parameters
-
link | Link object |
ikey | addr to fill in with the ikey |
- Returns
- 0 on success or a negative error code
Definition at line 377 of file ip6vti.c.
◆ rtnl_link_ip6vti_set_okey()
int rtnl_link_ip6vti_set_okey |
( |
struct rtnl_link * |
link, |
|
|
uint32_t |
okey |
|
) |
| |
Set IP6VTI tunnel set okey.
- Parameters
-
link | Link object |
okey | gre okey |
- Returns
- 0 on success or a negative error code
Definition at line 397 of file ip6vti.c.
◆ rtnl_link_ip6vti_get_okey()
int rtnl_link_ip6vti_get_okey |
( |
struct rtnl_link * |
link, |
|
|
uint32_t * |
okey |
|
) |
| |
Get IP6VTI tunnel okey.
- Parameters
-
link | Link object |
okey | addr to fill in with the okey |
- Returns
- 0 on success or a negative error code
Definition at line 416 of file ip6vti.c.
◆ rtnl_link_ip6vti_set_local()
int rtnl_link_ip6vti_set_local |
( |
struct rtnl_link * |
link, |
|
|
struct in6_addr * |
local |
|
) |
| |
Set IP6VTI tunnel local address.
- Parameters
-
link | Link object |
local | local address |
- Returns
- 0 on success or a negative error code
Definition at line 436 of file ip6vti.c.
◆ rtnl_link_ip6vti_get_local()
int rtnl_link_ip6vti_get_local |
( |
struct rtnl_link * |
link, |
|
|
struct in6_addr * |
local |
|
) |
| |
Get IP6VTI tunnel local address.
- Parameters
-
link | Link object |
local | addr to fill in with remote address |
- Returns
- 0 on success or a negative error code
Definition at line 455 of file ip6vti.c.
◆ rtnl_link_ip6vti_set_remote()
int rtnl_link_ip6vti_set_remote |
( |
struct rtnl_link * |
link, |
|
|
struct in6_addr * |
remote |
|
) |
| |
Set IP6VTI tunnel remote address.
- Parameters
-
link | Link object |
remote | remote address |
- Returns
- 0 on success or a negative error code
Definition at line 475 of file ip6vti.c.
◆ rtnl_link_ip6vti_get_remote()
int rtnl_link_ip6vti_get_remote |
( |
struct rtnl_link * |
link, |
|
|
struct in6_addr * |
remote |
|
) |
| |
Get IP6VTI tunnel remote address.
- Parameters
-
link | Link object |
remote | addr to fill in with remote address |
- Returns
- 0 on success or a negative error code
Definition at line 494 of file ip6vti.c.
◆ rtnl_link_ip6vti_set_fwmark()
int rtnl_link_ip6vti_set_fwmark |
( |
struct rtnl_link * |
link, |
|
|
uint32_t |
fwmark |
|
) |
| |
Set IP6VTI tunnel fwmark.
- Parameters
-
link | Link object |
fwmark | fwmark |
- Returns
- 0 on success or a negative error code
Definition at line 514 of file ip6vti.c.
◆ rtnl_link_ip6vti_get_fwmark()
int rtnl_link_ip6vti_get_fwmark |
( |
struct rtnl_link * |
link, |
|
|
uint32_t * |
fwmark |
|
) |
| |
Get IP6VTI 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 533 of file ip6vti.c.
◆ link
uint32_t ip6vti_info::link |
◆ ikey
uint32_t ip6vti_info::ikey |
◆ okey
uint32_t ip6vti_info::okey |
◆ local
struct in6_addr ip6vti_info::local |
◆ remote
struct in6_addr ip6vti_info::remote |
◆ fwmark
uint32_t ip6vti_info::fwmark |
◆ ip6vti_mask
uint32_t ip6vti_info::ip6vti_mask |