libnl 3.7.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:295
int rtnl_link_ip6vti_get_link(struct rtnl_link *link, uint32_t *index)
Get IP6VTI tunnel interface index.
Definition: ip6vti.c:338
int rtnl_link_ip6vti_get_local(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel local address.
Definition: ip6vti.c:455
int rtnl_link_ip6vti_set_link(struct rtnl_link *link, uint32_t index)
Set IP6VTI tunnel interface index.
Definition: ip6vti.c:319
int rtnl_link_ip6vti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark)
Get IP6VTI tunnel fwmark.
Definition: ip6vti.c:533
int rtnl_link_ip6vti_set_remote(struct rtnl_link *link, struct in6_addr *remote)
Set IP6VTI tunnel remote address.
Definition: ip6vti.c:475
int rtnl_link_ip6vti_set_fwmark(struct rtnl_link *link, uint32_t fwmark)
Set IP6VTI tunnel fwmark.
Definition: ip6vti.c:514
int rtnl_link_is_ip6vti(struct rtnl_link *link)
Check if link is a IP6VTI link.
Definition: ip6vti.c:283
int rtnl_link_ip6vti_set_local(struct rtnl_link *link, struct in6_addr *local)
Set IP6VTI tunnel local address.
Definition: ip6vti.c:436
int rtnl_link_ip6vti_set_okey(struct rtnl_link *link, uint32_t okey)
Set IP6VTI tunnel set okey.
Definition: ip6vti.c:397
int rtnl_link_ip6vti_get_remote(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel remote address.
Definition: ip6vti.c:494
int rtnl_link_ip6vti_get_okey(struct rtnl_link *link, uint32_t *okey)
Get IP6VTI tunnel okey.
Definition: ip6vti.c:416
int rtnl_link_ip6vti_set_ikey(struct rtnl_link *link, uint32_t ikey)
Set IP6VTI tunnel set ikey.
Definition: ip6vti.c:358
int rtnl_link_ip6vti_get_ikey(struct rtnl_link *link, uint32_t *ikey)
Get IP6VTI tunnel ikey.
Definition: ip6vti.c:377