libnl 3.9.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:299
int rtnl_link_ip6vti_get_link(struct rtnl_link *link, uint32_t *index)
Get IP6VTI tunnel interface index.
Definition ip6vti.c:342
int rtnl_link_ip6vti_get_local(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel local address.
Definition ip6vti.c:459
int rtnl_link_ip6vti_set_link(struct rtnl_link *link, uint32_t index)
Set IP6VTI tunnel interface index.
Definition ip6vti.c:323
int rtnl_link_ip6vti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark)
Get IP6VTI tunnel fwmark.
Definition ip6vti.c:537
int rtnl_link_ip6vti_set_remote(struct rtnl_link *link, struct in6_addr *remote)
Set IP6VTI tunnel remote address.
Definition ip6vti.c:479
int rtnl_link_ip6vti_set_fwmark(struct rtnl_link *link, uint32_t fwmark)
Set IP6VTI tunnel fwmark.
Definition ip6vti.c:518
int rtnl_link_is_ip6vti(struct rtnl_link *link)
Check if link is a IP6VTI link.
Definition ip6vti.c:287
int rtnl_link_ip6vti_set_local(struct rtnl_link *link, struct in6_addr *local)
Set IP6VTI tunnel local address.
Definition ip6vti.c:440
int rtnl_link_ip6vti_set_okey(struct rtnl_link *link, uint32_t okey)
Set IP6VTI tunnel set okey.
Definition ip6vti.c:401
int rtnl_link_ip6vti_get_remote(struct rtnl_link *link, struct in6_addr *remote)
Get IP6VTI tunnel remote address.
Definition ip6vti.c:498
int rtnl_link_ip6vti_get_okey(struct rtnl_link *link, uint32_t *okey)
Get IP6VTI tunnel okey.
Definition ip6vti.c:420
int rtnl_link_ip6vti_set_ikey(struct rtnl_link *link, uint32_t ikey)
Set IP6VTI tunnel set ikey.
Definition ip6vti.c:362
int rtnl_link_ip6vti_get_ikey(struct rtnl_link *link, uint32_t *ikey)
Get IP6VTI tunnel ikey.
Definition ip6vti.c:381