Lines Matching refs:attrs
227 static int dn_fib_nh_match(struct rtmsg *r, struct nlmsghdr *nlh, struct nlattr *attrs[], struct dn… in dn_fib_nh_match() argument
232 if (attrs[RTA_PRIORITY] && in dn_fib_nh_match()
233 nla_get_u32(attrs[RTA_PRIORITY]) != fi->fib_priority) in dn_fib_nh_match()
236 if (attrs[RTA_OIF] || attrs[RTA_GATEWAY]) { in dn_fib_nh_match()
237 if ((!attrs[RTA_OIF] || nla_get_u32(attrs[RTA_OIF]) == fi->fib_nh->nh_oif) && in dn_fib_nh_match()
238 (!attrs[RTA_GATEWAY] || nla_get_le16(attrs[RTA_GATEWAY]) != fi->fib_nh->nh_gw)) in dn_fib_nh_match()
243 if (!attrs[RTA_MULTIPATH]) in dn_fib_nh_match()
246 nhp = nla_data(attrs[RTA_MULTIPATH]); in dn_fib_nh_match()
247 nhlen = nla_len(attrs[RTA_MULTIPATH]); in dn_fib_nh_match()
526 static int dn_fib_table_insert(struct dn_fib_table *tb, struct rtmsg *r, struct nlattr *attrs[], in dn_fib_table_insert() argument
546 if (attrs[RTA_DST]) { in dn_fib_table_insert()
547 __le16 dst = nla_get_le16(attrs[RTA_DST]); in dn_fib_table_insert()
553 if ((fi = dn_fib_create_info(r, attrs, n, &err)) == NULL) in dn_fib_table_insert()
663 static int dn_fib_table_delete(struct dn_fib_table *tb, struct rtmsg *r, struct nlattr *attrs[], in dn_fib_table_delete() argument
681 if (attrs[RTA_DST]) { in dn_fib_table_delete()
682 __le16 dst = nla_get_le16(attrs[RTA_DST]); in dn_fib_table_delete()
712 dn_fib_nh_match(r, n, attrs, fi) == 0) in dn_fib_table_delete()