Lines Matching refs:rule6
351 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_configure() local
358 rule6->dscp = inet_dsfield_to_dscp(frh->tos); in fib6_rule_configure()
373 rule6->src.addr = nla_get_in6_addr(tb[FRA_SRC]); in fib6_rule_configure()
376 rule6->dst.addr = nla_get_in6_addr(tb[FRA_DST]); in fib6_rule_configure()
378 rule6->src.plen = frh->src_len; in fib6_rule_configure()
379 rule6->dst.plen = frh->dst_len; in fib6_rule_configure()
404 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_compare() local
406 if (frh->src_len && (rule6->src.plen != frh->src_len)) in fib6_rule_compare()
409 if (frh->dst_len && (rule6->dst.plen != frh->dst_len)) in fib6_rule_compare()
412 if (frh->tos && inet_dscp_to_dsfield(rule6->dscp) != frh->tos) in fib6_rule_compare()
416 nla_memcmp(tb[FRA_SRC], &rule6->src.addr, sizeof(struct in6_addr))) in fib6_rule_compare()
420 nla_memcmp(tb[FRA_DST], &rule6->dst.addr, sizeof(struct in6_addr))) in fib6_rule_compare()
429 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_fill() local
431 frh->dst_len = rule6->dst.plen; in fib6_rule_fill()
432 frh->src_len = rule6->src.plen; in fib6_rule_fill()
433 frh->tos = inet_dscp_to_dsfield(rule6->dscp); in fib6_rule_fill()
435 if ((rule6->dst.plen && in fib6_rule_fill()
436 nla_put_in6_addr(skb, FRA_DST, &rule6->dst.addr)) || in fib6_rule_fill()
437 (rule6->src.plen && in fib6_rule_fill()
438 nla_put_in6_addr(skb, FRA_SRC, &rule6->src.addr))) in fib6_rule_fill()