Lines Matching refs:rule6
358 struct fib6_rule *rule6 = (struct fib6_rule *) rule;
373 rule6->src.addr = nla_get_in6_addr(tb[FRA_SRC]);
376 rule6->dst.addr = nla_get_in6_addr(tb[FRA_DST]);
378 rule6->src.plen = frh->src_len;
379 rule6->dst.plen = frh->dst_len;
380 rule6->tclass = frh->tos;
405 struct fib6_rule *rule6 = (struct fib6_rule *) rule;
407 if (frh->src_len && (rule6->src.plen != frh->src_len))
410 if (frh->dst_len && (rule6->dst.plen != frh->dst_len))
413 if (frh->tos && (rule6->tclass != frh->tos))
417 nla_memcmp(tb[FRA_SRC], &rule6->src.addr, sizeof(struct in6_addr)))
421 nla_memcmp(tb[FRA_DST], &rule6->dst.addr, sizeof(struct in6_addr)))
430 struct fib6_rule *rule6 = (struct fib6_rule *) rule;
432 frh->dst_len = rule6->dst.plen;
433 frh->src_len = rule6->src.plen;
434 frh->tos = rule6->tclass;
436 if ((rule6->dst.plen &&
437 nla_put_in6_addr(skb, FRA_DST, &rule6->dst.addr)) ||
438 (rule6->src.plen &&
439 nla_put_in6_addr(skb, FRA_SRC, &rule6->src.addr)))