libnl 3.12.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
int rtnl_link_ip6vti_add(struct nl_sock *sk, const char *name)
Create a new vti6 tunnel device.
Definition ip6vti.c:307
int rtnl_link_ip6vti_get_link(struct rtnl_link *link, uint32_t *index)
Get IP6VTI tunnel interface index.
Definition ip6vti.c:350
int rtnl_link_ip6vti_get_local(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel local address.
Definition ip6vti.c:467
int rtnl_link_ip6vti_set_link(struct rtnl_link *link, uint32_t index)
Set IP6VTI tunnel interface index.
Definition ip6vti.c:331
int rtnl_link_ip6vti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark)
Get IP6VTI tunnel fwmark.
Definition ip6vti.c:545
int rtnl_link_ip6vti_set_remote(struct rtnl_link *link, struct in6_addr *remote)
Set IP6VTI tunnel remote address.
Definition ip6vti.c:487
int rtnl_link_ip6vti_set_fwmark(struct rtnl_link *link, uint32_t fwmark)
Set IP6VTI tunnel fwmark.
Definition ip6vti.c:526
int rtnl_link_is_ip6vti(struct rtnl_link *link)
Check if link is a IP6VTI link.
Definition ip6vti.c:295
int rtnl_link_ip6vti_set_local(struct rtnl_link *link, struct in6_addr *local)
Set IP6VTI tunnel local address.
Definition ip6vti.c:448
int rtnl_link_ip6vti_set_okey(struct rtnl_link *link, uint32_t okey)
Set IP6VTI tunnel set okey.
Definition ip6vti.c:409
int rtnl_link_ip6vti_get_remote(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel remote address.
Definition ip6vti.c:506
int rtnl_link_ip6vti_get_okey(struct rtnl_link *link, uint32_t *okey)
Get IP6VTI tunnel okey.
Definition ip6vti.c:428
int rtnl_link_ip6vti_set_ikey(struct rtnl_link *link, uint32_t ikey)
Set IP6VTI tunnel set ikey.
Definition ip6vti.c:370
int rtnl_link_ip6vti_get_ikey(struct rtnl_link *link, uint32_t *ikey)
Get IP6VTI tunnel ikey.
Definition ip6vti.c:389