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

libnl 3.7.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
10 extern "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:846
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:807
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:651
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:690
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:514
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:573
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:709
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:456
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:865
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:417
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:553
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:475
rtnl_link_ip6gre_get_flowinfo
int rtnl_link_ip6gre_get_flowinfo(struct rtnl_link *link, uint32_t *flowinfo)
Get IP6GRE flowinfo.
Definition: ip6gre.c:787
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:768
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:729
rtnl_link_ip6gre_get_flags
int rtnl_link_ip6gre_get_flags(struct rtnl_link *link, uint32_t *flags)
Get IP6GRE flags.
Definition: ip6gre.c:826
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:534
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:612
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:436
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:392
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:631
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:592
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:495
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:748
rtnl_link_is_ip6gre
int rtnl_link_is_ip6gre(struct rtnl_link *link)
Check if link is a IP6GRE link.
Definition: ip6gre.c:379
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:670
rtnl_link
Link object.