1 /* SPDX-License-Identifier: LGPL-2.1-only */ 2 /* 3 * Copyright (c) 2014 Susant Sahani <[email protected]> 4 */ 5 6 #ifndef NETLINK_LINK_IPVTI_H_ 7 #define NETLINK_LINK_IPVTI_H_ 8 9 #include <netlink/netlink.h> 10 #include <netlink/route/link.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 extern struct rtnl_link *rtnl_link_ipvti_alloc(void); 16 extern int rtnl_link_ipvti_add(struct nl_sock *sk, const char *name); 17 18 extern int rtnl_link_is_ipvti(struct rtnl_link *link); 19 20 extern int rtnl_link_ipvti_set_link(struct rtnl_link *link, uint32_t index); 21 extern uint32_t rtnl_link_ipvti_get_link(struct rtnl_link *link); 22 23 extern int rtnl_link_ipvti_set_ikey(struct rtnl_link *link, uint32_t ikey); 24 extern uint32_t rtnl_link_ipvti_get_ikey(struct rtnl_link *link); 25 26 extern int rtnl_link_ipvti_set_okey(struct rtnl_link *link, uint32_t okey); 27 extern uint32_t rtnl_link_ipvti_get_okey(struct rtnl_link *link); 28 29 extern int rtnl_link_ipvti_set_local(struct rtnl_link *link, uint32_t addr); 30 extern uint32_t rtnl_link_ipvti_get_local(struct rtnl_link *link); 31 32 extern int rtnl_link_ipvti_set_remote(struct rtnl_link *link, uint32_t addr); 33 extern uint32_t rtnl_link_ipvti_get_remote(struct rtnl_link *link); 34 35 extern int rtnl_link_ipvti_set_fwmark(struct rtnl_link *link, uint32_t fwmark); 36 extern int rtnl_link_ipvti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark); 37 38 #ifdef __cplusplus 39 } 40 #endif 41 42 #endif 43