IFA_LOCAL
[IFA_LOCAL] = { .type = NLA_U32 },
nla_put_in_addr(skb, IFA_LOCAL, ifa->ifa_local)) ||
if (tb[IFA_LOCAL] &&
ifa->ifa_local != nla_get_in_addr(tb[IFA_LOCAL]))
if (!tb[IFA_LOCAL]) {
tb[IFA_ADDRESS] = tb[IFA_LOCAL];
ifa->ifa_local = nla_get_in_addr(tb[IFA_LOCAL]);
if (!nla_get_in_addr(tb[IFA_LOCAL]))
[IFA_LOCAL] = { .len = sizeof(struct in6_addr) },
pfx = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer_pfx);
cfg.pfx = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer_pfx);
if (nla_put_in6_addr(skb, IFA_LOCAL, &ifa->addr) < 0 ||
case IFA_LOCAL:
addr = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer);
[IFA_LOCAL] = { .type = NLA_U8 },
if (tb[IFA_LOCAL])
addr = nla_data(tb[IFA_LOCAL]);
if (tb[IFA_LOCAL])
addr = nla_data(tb[IFA_LOCAL]);
if (nla_put_u8(skb, IFA_LOCAL, eid))
if (nla_put_u8(skb, IFA_LOCAL, addr))
[IFA_LOCAL] = { .type = NLA_U8 },
if (tb[IFA_LOCAL] == NULL)
pnaddr = nla_get_u8(tb[IFA_LOCAL]);
if (rtattr_pack(&req.nh, sizeof(req), IFA_LOCAL, &addr, sizeof(addr)))
if (rtattr_pack(&req.nh, sizeof(req), IFA_LOCAL, &addr, addr_len))