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

libnl 3.10.0

ip6gre.h
1/* SPDX-License-Identifier: LGPL-2.1-only */
2
3#ifndef NETLINK_LINK_IP6GRE_H_
4#define NETLINK_LINK_IP6GRE_H_
5
6#include <netlink/netlink.h>
7#include <netlink/route/link.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13 extern int rtnl_link_is_ip6gre(struct rtnl_link *link);
14
15 extern struct rtnl_link *rtnl_link_ip6gre_alloc(void);
16 extern int rtnl_link_ip6gre_add(struct nl_sock *sk, const char *name);
17
18 extern int rtnl_link_ip6gre_set_link(struct rtnl_link *link, uint32_t index);
19 extern int rtnl_link_ip6gre_get_link(struct rtnl_link *link, uint32_t *index);
20
21 extern int rtnl_link_ip6gre_set_iflags(struct rtnl_link *link, uint16_t iflags);
22 extern int rtnl_link_ip6gre_get_iflags(struct rtnl_link *link, uint16_t *iflags);
23
24 extern int rtnl_link_ip6gre_set_oflags(struct rtnl_link *link, uint16_t oflags);
25 extern int rtnl_link_ip6gre_get_oflags(struct rtnl_link *link, uint16_t *oflags);
26
27 extern int rtnl_link_ip6gre_set_ikey(struct rtnl_link *link, uint32_t ikey);
28 extern int rtnl_link_ip6gre_get_ikey(struct rtnl_link *link, uint32_t *ikey);
29
30 extern int rtnl_link_ip6gre_set_okey(struct rtnl_link *link, uint32_t okey);
31 extern int rtnl_link_ip6gre_get_okey(struct rtnl_link *link, uint32_t *okey);
32
33 extern int rtnl_link_ip6gre_set_local(struct rtnl_link *link, struct in6_addr *local);
34 extern int rtnl_link_ip6gre_get_local(struct rtnl_link *link, struct in6_addr *local);
35
36 extern int rtnl_link_ip6gre_set_remote(struct rtnl_link *link, struct in6_addr *remote);
37 extern int rtnl_link_ip6gre_get_remote(struct rtnl_link *link, struct in6_addr *remote);
38
39 extern int rtnl_link_ip6gre_set_ttl(struct rtnl_link *link, uint8_t ttl);
40 extern int rtnl_link_ip6gre_get_ttl(struct rtnl_link *link, uint8_t *ttl);
41
42 extern int rtnl_link_ip6gre_set_encaplimit(struct rtnl_link *link, uint8_t encaplimit);
43 extern int rtnl_link_ip6gre_get_encaplimit(struct rtnl_link *link, uint8_t *encaplimit);
44
45 extern int rtnl_link_ip6gre_set_flowinfo(struct rtnl_link *link, uint32_t flowinfo);
46 extern int rtnl_link_ip6gre_get_flowinfo(struct rtnl_link *link, uint32_t *flowinfo);
47
48 extern int rtnl_link_ip6gre_set_flags(struct rtnl_link *link, uint32_t flags);
49 extern int rtnl_link_ip6gre_get_flags(struct rtnl_link *link, uint32_t *flags);
50
51 extern int rtnl_link_ip6gre_set_fwmark(struct rtnl_link *link, uint32_t fwmark);
52 extern int rtnl_link_ip6gre_get_fwmark(struct rtnl_link *link, uint32_t *fwmark);
53
54#ifdef __cplusplus
55}
56#endif
57
58#endif
rtnl_link_ip6gre_set_fwmark
int rtnl_link_ip6gre_set_fwmark(struct rtnl_link *link, uint32_t fwmark)
Set IP6GRE tunnel fwmark.
Definition ip6gre.c:850
rtnl_link_ip6gre_set_flags
int rtnl_link_ip6gre_set_flags(struct rtnl_link *link, uint32_t flags)
Set IP6GRE tunnel flags.
Definition ip6gre.c:811
rtnl_link_ip6gre_set_remote
int rtnl_link_ip6gre_set_remote(struct rtnl_link *link, struct in6_addr *remote)
Set IP6GRE tunnel remote address.
Definition ip6gre.c:655
rtnl_link_ip6gre_set_ttl
int rtnl_link_ip6gre_set_ttl(struct rtnl_link *link, uint8_t ttl)
Set IP6GRE tunnel ttl.
Definition ip6gre.c:694
rtnl_link_ip6gre_get_oflags
int rtnl_link_ip6gre_get_oflags(struct rtnl_link *link, uint16_t *oflags)
Get IP6GRE tunnel oflags.
Definition ip6gre.c:518
rtnl_link_ip6gre_set_okey
int rtnl_link_ip6gre_set_okey(struct rtnl_link *link, uint32_t okey)
Set IP6GRE tunnel set okey.
Definition ip6gre.c:577
rtnl_link_ip6gre_get_ttl
int rtnl_link_ip6gre_get_ttl(struct rtnl_link *link, uint8_t *ttl)
Set IP6GRE tunnel ttl.
Definition ip6gre.c:713
rtnl_link_ip6gre_set_iflags
int rtnl_link_ip6gre_set_iflags(struct rtnl_link *link, uint16_t iflags)
Set IP6GRE tunnel set iflags.
Definition ip6gre.c:460
rtnl_link_ip6gre_get_fwmark
int rtnl_link_ip6gre_get_fwmark(struct rtnl_link *link, uint32_t *fwmark)
Get IP6GRE tunnel fwmark.
Definition ip6gre.c:869
rtnl_link_ip6gre_set_link
int rtnl_link_ip6gre_set_link(struct rtnl_link *link, uint32_t index)
Set IP6GRE tunnel interface index.
Definition ip6gre.c:421
rtnl_link_ip6gre_get_ikey
int rtnl_link_ip6gre_get_ikey(struct rtnl_link *link, uint32_t *ikey)
Get IP6GRE tunnel ikey.
Definition ip6gre.c:557
rtnl_link_ip6gre_get_iflags
int rtnl_link_ip6gre_get_iflags(struct rtnl_link *link, uint16_t *iflags)
Get IP6GRE tunnel iflags.
Definition ip6gre.c:479
rtnl_link_ip6gre_get_flowinfo
int rtnl_link_ip6gre_get_flowinfo(struct rtnl_link *link, uint32_t *flowinfo)
Get IP6GRE flowinfo.
Definition ip6gre.c:791
rtnl_link_ip6gre_set_flowinfo
int rtnl_link_ip6gre_set_flowinfo(struct rtnl_link *link, uint32_t flowinfo)
Set IP6GRE tunnel flowinfo.
Definition ip6gre.c:772
rtnl_link_ip6gre_set_encaplimit
int rtnl_link_ip6gre_set_encaplimit(struct rtnl_link *link, uint8_t encaplimit)
Set IP6GRE tunnel encap limit.
Definition ip6gre.c:733
rtnl_link_ip6gre_get_flags
int rtnl_link_ip6gre_get_flags(struct rtnl_link *link, uint32_t *flags)
Get IP6GRE flags.
Definition ip6gre.c:830
rtnl_link_ip6gre_set_ikey
int rtnl_link_ip6gre_set_ikey(struct rtnl_link *link, uint32_t ikey)
Set IP6GRE tunnel set ikey.
Definition ip6gre.c:538
rtnl_link_ip6gre_set_local
int rtnl_link_ip6gre_set_local(struct rtnl_link *link, struct in6_addr *local)
Set IP6GRE tunnel local address.
Definition ip6gre.c:616
rtnl_link_ip6gre_get_link
int rtnl_link_ip6gre_get_link(struct rtnl_link *link, uint32_t *index)
Get IP6GRE tunnel interface index.
Definition ip6gre.c:440
rtnl_link_ip6gre_add
int rtnl_link_ip6gre_add(struct nl_sock *sk, const char *name)
Create a new IP6GRE tunnel device.
Definition ip6gre.c:396
rtnl_link_ip6gre_get_local
int rtnl_link_ip6gre_get_local(struct rtnl_link *link, struct in6_addr *local)
Get IP6GRE tunnel local address.
Definition ip6gre.c:635
rtnl_link_ip6gre_get_okey
int rtnl_link_ip6gre_get_okey(struct rtnl_link *link, uint32_t *okey)
Get IP6GRE tunnel okey.
Definition ip6gre.c:596
rtnl_link_ip6gre_set_oflags
int rtnl_link_ip6gre_set_oflags(struct rtnl_link *link, uint16_t oflags)
Set IP6GRE tunnel set oflags.
Definition ip6gre.c:499
rtnl_link_ip6gre_get_encaplimit
int rtnl_link_ip6gre_get_encaplimit(struct rtnl_link *link, uint8_t *encaplimit)
Get IP6GRE tunnel encap limit.
Definition ip6gre.c:752
rtnl_link_is_ip6gre
int rtnl_link_is_ip6gre(struct rtnl_link *link)
Check if link is a IP6GRE link.
Definition ip6gre.c:383
rtnl_link_ip6gre_get_remote
int rtnl_link_ip6gre_get_remote(struct rtnl_link *link, struct in6_addr *remote)
Get IP6GRE tunnel remote address.
Definition ip6gre.c:674
rtnl_link
Link object.
Definition nl-route.h:29