Lines Matching refs:attrs
228 static int dn_fib_nh_match(struct rtmsg *r, struct nlmsghdr *nlh, struct nlattr *attrs[], struct dn… in dn_fib_nh_match() argument
233 if (attrs[RTA_PRIORITY] && in dn_fib_nh_match()
234 nla_get_u32(attrs[RTA_PRIORITY]) != fi->fib_priority) in dn_fib_nh_match()
237 if (attrs[RTA_OIF] || attrs[RTA_GATEWAY]) { in dn_fib_nh_match()
238 if ((!attrs[RTA_OIF] || nla_get_u32(attrs[RTA_OIF]) == fi->fib_nh->nh_oif) && in dn_fib_nh_match()
239 (!attrs[RTA_GATEWAY] || nla_get_le16(attrs[RTA_GATEWAY]) != fi->fib_nh->nh_gw)) in dn_fib_nh_match()
244 if (!attrs[RTA_MULTIPATH]) in dn_fib_nh_match()
247 nhp = nla_data(attrs[RTA_MULTIPATH]); in dn_fib_nh_match()
248 nhlen = nla_len(attrs[RTA_MULTIPATH]); in dn_fib_nh_match()
527 static int dn_fib_table_insert(struct dn_fib_table *tb, struct rtmsg *r, struct nlattr *attrs[], in dn_fib_table_insert() argument
547 if (attrs[RTA_DST]) { in dn_fib_table_insert()
548 __le16 dst = nla_get_le16(attrs[RTA_DST]); in dn_fib_table_insert()
554 if ((fi = dn_fib_create_info(r, attrs, n, &err)) == NULL) in dn_fib_table_insert()
664 static int dn_fib_table_delete(struct dn_fib_table *tb, struct rtmsg *r, struct nlattr *attrs[], in dn_fib_table_delete() argument
682 if (attrs[RTA_DST]) { in dn_fib_table_delete()
683 __le16 dst = nla_get_le16(attrs[RTA_DST]); in dn_fib_table_delete()
713 dn_fib_nh_match(r, n, attrs, fi) == 0) in dn_fib_table_delete()