• Home
  • Raw
  • Download

Lines Matching full:link

7  * @ingroup link
9 * ipvti link module
12 * \b Link Type Name: "ipvti"
28 #include <netlink/route/link/ipvti.h>
31 #include "link-api.h"
42 uint32_t link; member
60 static int ipvti_alloc(struct rtnl_link *link) in ipvti_alloc() argument
64 if (link->l_info) in ipvti_alloc()
65 memset(link->l_info, 0, sizeof(*ipvti)); in ipvti_alloc()
71 link->l_info = ipvti; in ipvti_alloc()
77 static int ipvti_parse(struct rtnl_link *link, struct nlattr *data, in ipvti_parse() argument
84 NL_DBG(3, "Parsing IPVTI link info\n"); in ipvti_parse()
90 err = ipvti_alloc(link); in ipvti_parse()
94 ipvti = link->l_info; in ipvti_parse()
97 ipvti->link = nla_get_u32(tb[IFLA_VTI_LINK]); in ipvti_parse()
132 static int ipvti_put_attrs(struct nl_msg *msg, struct rtnl_link *link) in ipvti_put_attrs() argument
134 struct ipvti_info *ipvti = link->l_info; in ipvti_put_attrs()
142 NLA_PUT_U32(msg, IFLA_VTI_LINK, ipvti->link); in ipvti_put_attrs()
166 static void ipvti_free(struct rtnl_link *link) in ipvti_free() argument
168 struct ipvti_info *ipvti = link->l_info; in ipvti_free()
171 link->l_info = NULL; in ipvti_free()
174 static void ipvti_dump_line(struct rtnl_link *link, struct nl_dump_params *p) in ipvti_dump_line() argument
176 nl_dump(p, "ipvti : %s", link->l_name); in ipvti_dump_line()
179 static void ipvti_dump_details(struct rtnl_link *link, struct nl_dump_params *p) in ipvti_dump_details() argument
181 struct ipvti_info *ipvti = link->l_info; in ipvti_dump_details()
186 nl_dump(p, " link "); in ipvti_dump_details()
189 parent = link_lookup(link->ce_cache, ipvti->link); in ipvti_dump_details()
196 nl_dump_line(p, "%u\n", ipvti->link); in ipvti_dump_details()
265 #define IS_IPVTI_LINK_ASSERT(link) \ argument
266 if ((link)->l_info_ops != &ipvti_info_ops) { \
267 APPBUG("Link is not a ipvti link. set type \vti\" first."); \
273 struct rtnl_link *link; in rtnl_link_ipvti_alloc() local
276 link = rtnl_link_alloc(); in rtnl_link_ipvti_alloc()
277 if (!link) in rtnl_link_ipvti_alloc()
280 err = rtnl_link_set_type(link, "vti"); in rtnl_link_ipvti_alloc()
282 rtnl_link_put(link); in rtnl_link_ipvti_alloc()
286 return link; in rtnl_link_ipvti_alloc()
290 * Check if link is a IPVTI link
291 * @arg link Link object
293 * @return True if link is a IPVTI link, otherwise 0 is returned.
295 int rtnl_link_is_ipvti(struct rtnl_link *link) in rtnl_link_is_ipvti() argument
297 return link->l_info_ops && !strcmp(link->l_info_ops->io_name, "vti"); in rtnl_link_is_ipvti()
309 struct rtnl_link *link; in rtnl_link_ipvti_add() local
312 link = rtnl_link_ipvti_alloc(); in rtnl_link_ipvti_add()
313 if (!link) in rtnl_link_ipvti_add()
317 rtnl_link_set_name(link, name); in rtnl_link_ipvti_add()
319 err = rtnl_link_add(sk, link, NLM_F_CREATE); in rtnl_link_ipvti_add()
320 rtnl_link_put(link); in rtnl_link_ipvti_add()
326 * @arg link Link object
331 int rtnl_link_ipvti_set_link(struct rtnl_link *link, uint32_t index) in rtnl_link_ipvti_set_link() argument
333 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_set_link()
335 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_set_link()
337 ipvti->link = index; in rtnl_link_ipvti_set_link()
345 * @arg link Link object
349 uint32_t rtnl_link_ipvti_get_link(struct rtnl_link *link) in rtnl_link_ipvti_get_link() argument
351 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_get_link()
353 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_get_link()
355 return ipvti->link; in rtnl_link_ipvti_get_link()
360 * @arg link Link object
365 int rtnl_link_ipvti_set_ikey(struct rtnl_link *link, uint32_t ikey) in rtnl_link_ipvti_set_ikey() argument
367 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_set_ikey()
369 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_set_ikey()
379 * @arg link Link object
383 uint32_t rtnl_link_ipvti_get_ikey(struct rtnl_link *link) in rtnl_link_ipvti_get_ikey() argument
385 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_get_ikey()
387 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_get_ikey()
394 * @arg link Link object
399 int rtnl_link_ipvti_set_okey(struct rtnl_link *link, uint32_t okey) in rtnl_link_ipvti_set_okey() argument
401 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_set_okey()
403 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_set_okey()
413 * @arg link Link object
417 uint32_t rtnl_link_ipvti_get_okey(struct rtnl_link *link) in rtnl_link_ipvti_get_okey() argument
419 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_get_okey()
421 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_get_okey()
428 * @arg link Link object
433 int rtnl_link_ipvti_set_local(struct rtnl_link *link, uint32_t addr) in rtnl_link_ipvti_set_local() argument
435 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_set_local()
437 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_set_local()
447 * @arg link Link object
451 uint32_t rtnl_link_ipvti_get_local(struct rtnl_link *link) in rtnl_link_ipvti_get_local() argument
453 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_get_local()
455 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_get_local()
462 * @arg link Link object
467 int rtnl_link_ipvti_set_remote(struct rtnl_link *link, uint32_t remote) in rtnl_link_ipvti_set_remote() argument
469 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_set_remote()
471 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_set_remote()
481 * @arg link Link object
485 uint32_t rtnl_link_ipvti_get_remote(struct rtnl_link *link) in rtnl_link_ipvti_get_remote() argument
487 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_get_remote()
489 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_get_remote()
496 * @arg link Link object
501 int rtnl_link_ipvti_set_fwmark(struct rtnl_link *link, uint32_t fwmark) in rtnl_link_ipvti_set_fwmark() argument
503 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_set_fwmark()
505 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_set_fwmark()
515 * @arg link Link object
520 int rtnl_link_ipvti_get_fwmark(struct rtnl_link *link, uint32_t *fwmark) in rtnl_link_ipvti_get_fwmark() argument
522 struct ipvti_info *ipvti = link->l_info; in rtnl_link_ipvti_get_fwmark()
524 IS_IPVTI_LINK_ASSERT(link); in rtnl_link_ipvti_get_fwmark()