libnl 3.5.0

ipip.h
1 /*
2 * netlink/route/link/ipip.h IPIP interface
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation version 2.1
7 * of the License.
8 *
9 * Copyright (c) 2014 Susant Sahani <susant@redhat.com>
10 */
11
12 #ifndef NETLINK_LINK_IPIP_H_
13 #define NETLINK_LINK_IPIP_H_
14
15 #include <netlink/netlink.h>
16 #include <netlink/route/link.h>
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 extern struct rtnl_link *rtnl_link_ipip_alloc(void);
22 extern int rtnl_link_ipip_add(struct nl_sock *sk, const char *name);
23
24 extern int rtnl_link_is_ipip(struct rtnl_link *link);
25
26 extern uint32_t rtnl_link_ipip_get_link(struct rtnl_link *link);
27 extern int rtnl_link_ipip_set_link(struct rtnl_link *link, uint32_t index);
28
29 extern int rtnl_link_ipip_set_local(struct rtnl_link *link, uint32_t addr);
30 extern uint32_t rtnl_link_ipip_get_local(struct rtnl_link *link);
31
32 extern int rtnl_link_ipip_set_remote(struct rtnl_link *link, uint32_t addr);
33 extern uint32_t rtnl_link_ipip_get_remote(struct rtnl_link *link);
34
35 extern int rtnl_link_ipip_set_ttl(struct rtnl_link *link, uint8_t ttl);
36 extern uint8_t rtnl_link_ipip_get_ttl(struct rtnl_link *link);
37
38 extern int rtnl_link_ipip_set_tos(struct rtnl_link *link, uint8_t tos);
39 extern uint8_t rtnl_link_ipip_get_tos(struct rtnl_link *link);
40
41 extern int rtnl_link_ipip_set_pmtudisc(struct rtnl_link *link, uint8_t pmtudisc);
42 extern uint8_t rtnl_link_ipip_get_pmtudisc(struct rtnl_link *link);
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif
rtnl_link_ipip_set_pmtudisc
int rtnl_link_ipip_set_pmtudisc(struct rtnl_link *link, uint8_t pmtudisc)
Set IPIP tunnel path MTU discovery.
Definition: ipip.c:504
rtnl_link_is_ipip
int rtnl_link_is_ipip(struct rtnl_link *link)
Check if link is a IPIP link.
Definition: ipip.c:296
rtnl_link_ipip_set_remote
int rtnl_link_ipip_set_remote(struct rtnl_link *link, uint32_t addr)
Set IPIP tunnel remote address.
Definition: ipip.c:402
rtnl_link_ipip_add
int rtnl_link_ipip_add(struct nl_sock *sk, const char *name)
Create a new ipip tunnel device.
Definition: ipip.c:309
rtnl_link
Link object.
rtnl_link_ipip_set_ttl
int rtnl_link_ipip_set_ttl(struct rtnl_link *link, uint8_t ttl)
Set IPIP tunnel ttl.
Definition: ipip.c:436
rtnl_link_ipip_set_local
int rtnl_link_ipip_set_local(struct rtnl_link *link, uint32_t addr)
Set IPIP tunnel local address.
Definition: ipip.c:368
rtnl_link_ipip_get_local
uint32_t rtnl_link_ipip_get_local(struct rtnl_link *link)
Get IPIP tunnel local address.
Definition: ipip.c:386
rtnl_link_ipip_get_pmtudisc
uint8_t rtnl_link_ipip_get_pmtudisc(struct rtnl_link *link)
Get IPIP path MTU discovery.
Definition: ipip.c:522
rtnl_link_ipip_set_link
int rtnl_link_ipip_set_link(struct rtnl_link *link, uint32_t index)
Set IPIP tunnel interface index.
Definition: ipip.c:334
rtnl_link_ipip_get_remote
uint32_t rtnl_link_ipip_get_remote(struct rtnl_link *link)
Get IPIP tunnel remote address.
Definition: ipip.c:420
rtnl_link_ipip_set_tos
int rtnl_link_ipip_set_tos(struct rtnl_link *link, uint8_t tos)
Set IPIP tunnel tos.
Definition: ipip.c:470
rtnl_link_ipip_get_link
uint32_t rtnl_link_ipip_get_link(struct rtnl_link *link)
Get IPIP tunnel interface index.
Definition: ipip.c:352
rtnl_link_ipip_get_tos
uint8_t rtnl_link_ipip_get_tos(struct rtnl_link *link)
Get IPIP tunnel tos.
Definition: ipip.c:488
rtnl_link_ipip_get_ttl
uint8_t rtnl_link_ipip_get_ttl(struct rtnl_link *link)
Get IPIP tunnel ttl.
Definition: ipip.c:454