1 /* SPDX-License-Identifier: LGPL-2.1-only */ 2 /* 3 * Copyright (c) 2011-2013 Thomas Graf <[email protected]> 4 */ 5 6 #ifndef NETLINK_LINK_BONDING_H_ 7 #define NETLINK_LINK_BONDING_H_ 8 9 #include <netlink/netlink.h> 10 #include <netlink/route/link.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 extern struct rtnl_link *rtnl_link_bond_alloc(void); 17 18 extern int rtnl_link_bond_add(struct nl_sock *, const char *, 19 struct rtnl_link *); 20 21 extern int rtnl_link_bond_enslave_ifindex(struct nl_sock *, int, int); 22 extern int rtnl_link_bond_enslave(struct nl_sock *, struct rtnl_link *, 23 struct rtnl_link *); 24 25 extern int rtnl_link_bond_release_ifindex(struct nl_sock *, int); 26 extern int rtnl_link_bond_release(struct nl_sock *, struct rtnl_link *); 27 28 extern void rtnl_link_bond_set_mode(struct rtnl_link *link, uint8_t mode); 29 extern void rtnl_link_bond_set_activeslave(struct rtnl_link *link, int active_slave); 30 extern void rtnl_link_bond_set_hashing_type (struct rtnl_link *link, uint8_t type); 31 extern void rtnl_link_bond_set_miimon (struct rtnl_link *link, uint32_t miimon); 32 extern void rtnl_link_bond_set_min_links (struct rtnl_link *link, uint32_t min_links); 33 34 #ifdef __cplusplus 35 } 36 #endif 37 38 #endif 39 40