Lines Matching refs:link

47 	uint32_t   link;  member
62 static int ipip_alloc(struct rtnl_link *link) in ipip_alloc() argument
66 if (link->l_info) in ipip_alloc()
67 memset(link->l_info, 0, sizeof(*ipip)); in ipip_alloc()
73 link->l_info = ipip; in ipip_alloc()
79 static int ipip_parse(struct rtnl_link *link, struct nlattr *data, in ipip_parse() argument
92 err = ipip_alloc(link); in ipip_parse()
96 ipip = link->l_info; in ipip_parse()
99 ipip->link = nla_get_u32(tb[IFLA_IPTUN_LINK]); in ipip_parse()
134 static int ipip_put_attrs(struct nl_msg *msg, struct rtnl_link *link) in ipip_put_attrs() argument
136 struct ipip_info *ipip = link->l_info; in ipip_put_attrs()
144 NLA_PUT_U32(msg, IFLA_IPTUN_LINK, ipip->link); in ipip_put_attrs()
167 static void ipip_free(struct rtnl_link *link) in ipip_free() argument
169 struct ipip_info *ipip = link->l_info; in ipip_free()
172 link->l_info = NULL; in ipip_free()
175 static void ipip_dump_line(struct rtnl_link *link, struct nl_dump_params *p) in ipip_dump_line() argument
177 nl_dump(p, "ipip : %s", link->l_name); in ipip_dump_line()
180 static void ipip_dump_details(struct rtnl_link *link, struct nl_dump_params *p) in ipip_dump_details() argument
182 struct ipip_info *ipip = link->l_info; in ipip_dump_details()
190 parent = link_lookup(link->ce_cache, ipip->link); in ipip_dump_details()
197 nl_dump_line(p, "%u\n", ipip->link); in ipip_dump_details()
266 #define IS_IPIP_LINK_ASSERT(link) \ argument
267 if ((link)->l_info_ops != &ipip_info_ops) { \
274 struct rtnl_link *link; in rtnl_link_ipip_alloc() local
277 link = rtnl_link_alloc(); in rtnl_link_ipip_alloc()
278 if (!link) in rtnl_link_ipip_alloc()
281 err = rtnl_link_set_type(link, "ipip"); in rtnl_link_ipip_alloc()
283 rtnl_link_put(link); in rtnl_link_ipip_alloc()
287 return link; in rtnl_link_ipip_alloc()
296 int rtnl_link_is_ipip(struct rtnl_link *link) in rtnl_link_is_ipip() argument
298 return link->l_info_ops && !strcmp(link->l_info_ops->io_name, "ipip"); in rtnl_link_is_ipip()
311 struct rtnl_link *link; in rtnl_link_ipip_add() local
314 link = rtnl_link_ipip_alloc(); in rtnl_link_ipip_add()
315 if (!link) in rtnl_link_ipip_add()
319 rtnl_link_set_name(link, name); in rtnl_link_ipip_add()
321 err = rtnl_link_add(sk, link, NLM_F_CREATE); in rtnl_link_ipip_add()
322 rtnl_link_put(link); in rtnl_link_ipip_add()
334 int rtnl_link_ipip_set_link(struct rtnl_link *link, uint32_t index) in rtnl_link_ipip_set_link() argument
336 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_link()
338 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_link()
340 ipip->link = index; in rtnl_link_ipip_set_link()
352 uint32_t rtnl_link_ipip_get_link(struct rtnl_link *link) in rtnl_link_ipip_get_link() argument
354 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_link()
356 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_link()
358 return ipip->link; in rtnl_link_ipip_get_link()
368 int rtnl_link_ipip_set_local(struct rtnl_link *link, uint32_t addr) in rtnl_link_ipip_set_local() argument
370 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_local()
372 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_local()
386 uint32_t rtnl_link_ipip_get_local(struct rtnl_link *link) in rtnl_link_ipip_get_local() argument
388 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_local()
390 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_local()
402 int rtnl_link_ipip_set_remote(struct rtnl_link *link, uint32_t addr) in rtnl_link_ipip_set_remote() argument
404 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_remote()
406 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_remote()
420 uint32_t rtnl_link_ipip_get_remote(struct rtnl_link *link) in rtnl_link_ipip_get_remote() argument
422 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_remote()
424 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_remote()
436 int rtnl_link_ipip_set_ttl(struct rtnl_link *link, uint8_t ttl) in rtnl_link_ipip_set_ttl() argument
438 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_ttl()
440 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_ttl()
454 uint8_t rtnl_link_ipip_get_ttl(struct rtnl_link *link) in rtnl_link_ipip_get_ttl() argument
456 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_ttl()
458 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_ttl()
470 int rtnl_link_ipip_set_tos(struct rtnl_link *link, uint8_t tos) in rtnl_link_ipip_set_tos() argument
472 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_tos()
474 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_tos()
488 uint8_t rtnl_link_ipip_get_tos(struct rtnl_link *link) in rtnl_link_ipip_get_tos() argument
490 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_tos()
492 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_tos()
504 int rtnl_link_ipip_set_pmtudisc(struct rtnl_link *link, uint8_t pmtudisc) in rtnl_link_ipip_set_pmtudisc() argument
506 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_set_pmtudisc()
508 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_set_pmtudisc()
522 uint8_t rtnl_link_ipip_get_pmtudisc(struct rtnl_link *link) in rtnl_link_ipip_get_pmtudisc() argument
524 struct ipip_info *ipip = link->l_info; in rtnl_link_ipip_get_pmtudisc()
526 IS_IPIP_LINK_ASSERT(link); in rtnl_link_ipip_get_pmtudisc()