Lines Matching refs:rta
454 static void add_varlen_rtattr_to_buffer(struct rtattr *rta, int maxlen,
458 if (RTA_ALIGN(rta->rta_len) + RTA_ALIGN(len) > maxlen) {
461 subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
467 rta->rta_len = NLMSG_ALIGN(rta->rta_len) + RTA_ALIGN(len);
470 static void add_uint32_rtattr_to_buffer(struct rtattr *rta, int maxlen,
472 add_varlen_rtattr_to_buffer(rta, maxlen, type, (char*)&attr, sizeof(attr));
482 struct rtattr *rta;
485 rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
486 rta->rta_type = type;
487 rta->rta_len = len;
488 memcpy(RTA_DATA(rta), data, alen);
1001 struct rtattr *rta, *rta_tb[IFA_MAX+1] = {0,};
1013 for (rta = IFA_RTA(ifa); RTA_OK(rta, len); rta=RTA_NEXT(rta, len))
1014 if (rta->rta_type <= IFA_MAX) rta_tb[rta->rta_type] = rta;
1402 struct rtattr *rta, *rta_tb[IFA_MAX+1] = {0,};
1416 for (rta = IFA_RTA(addressInfo); RTA_OK(rta, rt_len); rta=RTA_NEXT(rta, rt_len)) {
1417 if (rta->rta_type <= IFA_MAX) rta_tb[rta->rta_type] = rta;
1515 struct rtattr *rta, *mxrta[RTAX_MAX+1] = {0,};
1519 for (rta = RTA_DATA(mxattr); RTA_OK(rta, tvar); rta=RTA_NEXT(rta, tvar))
1520 if (rta->rta_type <= RTA_MAX) mxrta[rta->rta_type] = rta;
1575 struct rtattr *rta, *attr[RTA_MAX+1] = {0,};
1611 for (rta = RTM_RTA(msg); RTA_OK(rta, tvar); rta=RTA_NEXT(rta, tvar))
1612 if (rta->rta_type <= RTA_MAX) attr[rta->rta_type] = rta;
1712 struct rtattr *rta, *attr[RTA_MAX+1] = {0,};
1715 for (rta = RTM_RTA(msg); RTA_OK(rta, tvar); rta=RTA_NEXT(rta, tvar))
1716 if (rta->rta_type <= RTA_MAX) attr[rta->rta_type] = rta;
1843 struct rtattr *rta, *attr[RTA_MAX+1] = {0,};
1849 for (rta = RTM_RTA(msg); RTA_OK(rta, tvar); rta=RTA_NEXT(rta, tvar))
1850 if (rta->rta_type <= RTA_MAX) attr[rta->rta_type] = rta;
2329 struct rtattr *rta, *attr[RTA_MAX+1] = {0,};
2338 for (rta = RTM_RTA(msg); RTA_OK(rta, tvar); rta=RTA_NEXT(rta, tvar))
2339 if (rta->rta_type <= RTA_MAX) attr[rta->rta_type] = rta;
2341 if (tvar) error_msg("deficit %d, rtalen = %d!", tvar, rta->rta_len);