libnl: /data/src/libnl3/include/netlink/route/link/ip6vti.h Source File

libnl 3.10.0

ip6vti.h
1/* SPDX-License-Identifier: LGPL-2.1-only */
2
3#ifndef NETLINK_LINK_IP6VTI_H_
4#define NETLINK_LINK_IP6VTI_H_
5
6#include <netlink/netlink.h>
7#include <netlink/route/link.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13 int rtnl_link_is_ip6vti(struct rtnl_link *link);
14
15 extern struct rtnl_link *rtnl_link_ip6vti_alloc(void);
16 extern int rtnl_link_ip6vti_add(struct nl_sock *sk, const char *name);
17
18 extern int rtnl_link_ip6vti_set_link(struct rtnl_link *link, uint32_t index);
19 extern int rtnl_link_ip6vti_get_link(struct rtnl_link *link, uint32_t *index);
20
21 extern int rtnl_link_ip6vti_set_ikey(struct rtnl_link *link, uint32_t ikey);
22 extern int rtnl_link_ip6vti_get_ikey(struct rtnl_link *link, uint32_t *ikey);
23
24 extern int rtnl_link_ip6vti_set_okey(struct rtnl_link *link, uint32_t okey);
25 extern int rtnl_link_ip6vti_get_okey(struct rtnl_link *link, uint32_t *okey);
26
27 extern int rtnl_link_ip6vti_set_local(struct rtnl_link *link, struct in6_addr *local);
28 extern int rtnl_link_ip6vti_get_local(struct rtnl_link *link, struct in6_addr *remote);
29
30 extern int rtnl_link_ip6vti_set_remote(struct rtnl_link *link, struct in6_addr *remote);
31 extern int rtnl_link_ip6vti_get_remote(struct rtnl_link *link, struct in6_addr *remote);
32
33 extern int rtnl_link_ip6vti_set_fwmark(struct rtnl_link *link, uint32_t fwmark);
34 extern int rtnl_link_ip6vti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark);
35
36#ifdef __cplusplus
37}
38#endif
39
40#endif
rtnl_link_ip6vti_add
int rtnl_link_ip6vti_add(struct nl_sock *sk, const char *name)
Create a new vti6 tunnel device.
Definition ip6vti.c:299
rtnl_link_ip6vti_get_link
int rtnl_link_ip6vti_get_link(struct rtnl_link *link, uint32_t *index)
Get IP6VTI tunnel interface index.
Definition ip6vti.c:342
rtnl_link_ip6vti_get_local
int rtnl_link_ip6vti_get_local(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel local address.
Definition ip6vti.c:459
rtnl_link_ip6vti_set_link
int rtnl_link_ip6vti_set_link(struct rtnl_link *link, uint32_t index)
Set IP6VTI tunnel interface index.
Definition ip6vti.c:323
rtnl_link_ip6vti_get_fwmark
int rtnl_link_ip6vti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark)
Get IP6VTI tunnel fwmark.
Definition ip6vti.c:537
rtnl_link_ip6vti_set_remote
int rtnl_link_ip6vti_set_remote(struct rtnl_link *link, struct in6_addr *remote)
Set IP6VTI tunnel remote address.
Definition ip6vti.c:479
rtnl_link_ip6vti_set_fwmark
int rtnl_link_ip6vti_set_fwmark(struct rtnl_link *link, uint32_t fwmark)
Set IP6VTI tunnel fwmark.
Definition ip6vti.c:518
rtnl_link_is_ip6vti
int rtnl_link_is_ip6vti(struct rtnl_link *link)
Check if link is a IP6VTI link.
Definition ip6vti.c:287
rtnl_link_ip6vti_set_local
int rtnl_link_ip6vti_set_local(struct rtnl_link *link, struct in6_addr *local)
Set IP6VTI tunnel local address.
Definition ip6vti.c:440
rtnl_link_ip6vti_set_okey
int rtnl_link_ip6vti_set_okey(struct rtnl_link *link, uint32_t okey)
Set IP6VTI tunnel set okey.
Definition ip6vti.c:401
rtnl_link_ip6vti_get_remote
int rtnl_link_ip6vti_get_remote(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel remote address.
Definition ip6vti.c:498
rtnl_link_ip6vti_get_okey
int rtnl_link_ip6vti_get_okey(struct rtnl_link *link, uint32_t *okey)
Get IP6VTI tunnel okey.
Definition ip6vti.c:420
rtnl_link_ip6vti_set_ikey
int rtnl_link_ip6vti_set_ikey(struct rtnl_link *link, uint32_t ikey)
Set IP6VTI tunnel set ikey.
Definition ip6vti.c:362
rtnl_link_ip6vti_get_ikey
int rtnl_link_ip6vti_get_ikey(struct rtnl_link *link, uint32_t *ikey)
Get IP6VTI tunnel ikey.
Definition ip6vti.c:381
rtnl_link
Link object.
Definition nl-route.h:29