Lines Matching refs:rule6
354 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_configure() local
369 rule6->src.addr = nla_get_in6_addr(tb[FRA_SRC]); in fib6_rule_configure()
372 rule6->dst.addr = nla_get_in6_addr(tb[FRA_DST]); in fib6_rule_configure()
374 rule6->src.plen = frh->src_len; in fib6_rule_configure()
375 rule6->dst.plen = frh->dst_len; in fib6_rule_configure()
376 rule6->tclass = frh->tos; in fib6_rule_configure()
401 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_compare() local
403 if (frh->src_len && (rule6->src.plen != frh->src_len)) in fib6_rule_compare()
406 if (frh->dst_len && (rule6->dst.plen != frh->dst_len)) in fib6_rule_compare()
409 if (frh->tos && (rule6->tclass != frh->tos)) in fib6_rule_compare()
413 nla_memcmp(tb[FRA_SRC], &rule6->src.addr, sizeof(struct in6_addr))) in fib6_rule_compare()
417 nla_memcmp(tb[FRA_DST], &rule6->dst.addr, sizeof(struct in6_addr))) in fib6_rule_compare()
426 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_fill() local
428 frh->dst_len = rule6->dst.plen; in fib6_rule_fill()
429 frh->src_len = rule6->src.plen; in fib6_rule_fill()
430 frh->tos = rule6->tclass; in fib6_rule_fill()
432 if ((rule6->dst.plen && in fib6_rule_fill()
433 nla_put_in6_addr(skb, FRA_DST, &rule6->dst.addr)) || in fib6_rule_fill()
434 (rule6->src.plen && in fib6_rule_fill()
435 nla_put_in6_addr(skb, FRA_SRC, &rule6->src.addr))) in fib6_rule_fill()