• Home
  • Raw
  • Download

Lines Matching full:link

7  * @ingroup link
9 * ipip link module
12 * \b Link Type Name: "ipip"
28 #include <netlink/route/link/ipip.h>
31 #include "link-api.h"
46 uint32_t link; member
63 static int ipip_alloc(struct rtnl_link *link) in ipip_alloc() argument
67 if (link->l_info) in ipip_alloc()
68 memset(link->l_info, 0, sizeof(*ipip)); in ipip_alloc()
74 link->l_info = ipip; in ipip_alloc()
80 static int ipip_parse(struct rtnl_link *link, struct nlattr *data, in ipip_parse() argument
87 NL_DBG(3, "Parsing IPIP link info\n"); in ipip_parse()
93 err = ipip_alloc(link); in ipip_parse()
97 ipip = link->l_info; in ipip_parse()
100 ipip->link = nla_get_u32(tb[IFLA_IPTUN_LINK]); in ipip_parse()
140 static int ipip_put_attrs(struct nl_msg *msg, struct rtnl_link *link) in ipip_put_attrs() argument
142 struct ipip_info *ipip = link->l_info; in ipip_put_attrs()
150 NLA_PUT_U32(msg, IFLA_IPTUN_LINK, ipip->link); in ipip_put_attrs()
176 static void ipip_free(struct rtnl_link *link) in ipip_free() argument
178 struct ipip_info *ipip = link->l_info; in ipip_free()
181 link->l_info = NULL; in ipip_free()
184 static void ipip_dump_line(struct rtnl_link *link, struct nl_dump_params *p) in ipip_dump_line() argument
186 nl_dump(p, "ipip : %s", link->l_name); in ipip_dump_line()
189 static void ipip_dump_details(struct rtnl_link *link, struct nl_dump_params *p) in ipip_dump_details() argument
191 struct ipip_info *ipip = link->l_info; in ipip_dump_details()
196 nl_dump(p, " link "); in ipip_dump_details()
199 parent = link_lookup(link->ce_cache, ipip->link); in ipip_dump_details()
206 nl_dump_line(p, "%u\n", ipip->link); in ipip_dump_details()
280 #define IS_IPIP_LINK_ASSERT(link) \ argument
281 if ((link)->l_info_ops != &ipip_info_ops) { \
282 APPBUG("Link is not a ipip link. set type \"ipip\" first."); \
288 struct rtnl_link *link; in rtnl_link_ipip_alloc() local
291 link = rtnl_link_alloc(); in rtnl_link_ipip_alloc()
292 if (!link) in rtnl_link_ipip_alloc()
295 err = rtnl_link_set_type(link, "ipip"); in rtnl_link_ipip_alloc()
297 rtnl_link_put(link); in rtnl_link_ipip_alloc()
301 return link; in rtnl_link_ipip_alloc()
305 * Check if link is a IPIP link
306 * @arg link Link object
308 * @return True if link is a IPIP link, otherwise false is returned.
310 int rtnl_link_is_ipip(struct rtnl_link *link) in rtnl_link_is_ipip() argument
312 return link->l_info_ops && !strcmp(link->l_info_ops->io_name, "ipip"); in rtnl_link_is_ipip()
325 struct rtnl_link *link; in rtnl_link_ipip_add() local
328 link = rtnl_link_ipip_alloc(); in rtnl_link_ipip_add()
329 if (!link) in rtnl_link_ipip_add()
333 rtnl_link_set_name(link, name); in rtnl_link_ipip_add()
335 err = rtnl_link_add(sk, link, NLM_F_CREATE); in rtnl_link_ipip_add()
336 rtnl_link_put(link); in rtnl_link_ipip_add()
343 * @arg link Link object
348 int rtnl_link_ipip_set_link(struct rtnl_link *link, uint32_t index) in rtnl_link_ipip_set_link() argument
350 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_link()
352 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_link()
354 ipip->link = index; in rtnl_link_ipip_set_link()
362 * @arg link Link object
366 uint32_t rtnl_link_ipip_get_link(struct rtnl_link *link) in rtnl_link_ipip_get_link() argument
368 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_link()
370 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_link()
372 return ipip->link; in rtnl_link_ipip_get_link()
377 * @arg link Link object
382 int rtnl_link_ipip_set_local(struct rtnl_link *link, uint32_t addr) in rtnl_link_ipip_set_local() argument
384 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_local()
386 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_local()
396 * @arg link Link object
400 uint32_t rtnl_link_ipip_get_local(struct rtnl_link *link) in rtnl_link_ipip_get_local() argument
402 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_local()
404 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_local()
411 * @arg link Link object
416 int rtnl_link_ipip_set_remote(struct rtnl_link *link, uint32_t addr) in rtnl_link_ipip_set_remote() argument
418 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_remote()
420 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_remote()
430 * @arg link Link object
434 uint32_t rtnl_link_ipip_get_remote(struct rtnl_link *link) in rtnl_link_ipip_get_remote() argument
436 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_remote()
438 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_remote()
445 * @arg link Link object
450 int rtnl_link_ipip_set_ttl(struct rtnl_link *link, uint8_t ttl) in rtnl_link_ipip_set_ttl() argument
452 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_ttl()
454 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_ttl()
464 * @arg link Link object
468 uint8_t rtnl_link_ipip_get_ttl(struct rtnl_link *link) in rtnl_link_ipip_get_ttl() argument
470 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_ttl()
472 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_ttl()
479 * @arg link Link object
484 int rtnl_link_ipip_set_tos(struct rtnl_link *link, uint8_t tos) in rtnl_link_ipip_set_tos() argument
486 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_tos()
488 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_tos()
498 * @arg link Link object
502 uint8_t rtnl_link_ipip_get_tos(struct rtnl_link *link) in rtnl_link_ipip_get_tos() argument
504 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_tos()
506 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_tos()
513 * @arg link Link object
518 int rtnl_link_ipip_set_pmtudisc(struct rtnl_link *link, uint8_t pmtudisc) in rtnl_link_ipip_set_pmtudisc() argument
520 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_pmtudisc()
522 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_pmtudisc()
532 * @arg link Link object
536 uint8_t rtnl_link_ipip_get_pmtudisc(struct rtnl_link *link) in rtnl_link_ipip_get_pmtudisc() argument
538 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_pmtudisc()
540 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_pmtudisc()
547 * @arg link Link object
552 int rtnl_link_ipip_set_fwmark(struct rtnl_link *link, uint32_t fwmark) in rtnl_link_ipip_set_fwmark() argument
554 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_fwmark()
556 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_fwmark()
566 * @arg link Link object
571 int rtnl_link_ipip_get_fwmark(struct rtnl_link *link, uint32_t *fwmark) in rtnl_link_ipip_get_fwmark() argument
573 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_fwmark()
575 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_fwmark()