Lines Matching refs:saddr
384 val ^= ipv6_addr_hash(&fl6->saddr); in rt6_info_hash_nhsfn()
439 const struct in6_addr *saddr, in rt6_device_match() argument
446 if (!oif && ipv6_addr_any(saddr)) in rt6_device_match()
467 if (ipv6_chk_addr(net, saddr, dev, in rt6_device_match()
774 struct in6_addr *saddr) in fib6_backtrack() argument
782 fn = fib6_lookup(FIB6_SUBTREE(pn), NULL, saddr); in fib6_backtrack()
798 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup()
801 rt = rt6_device_match(net, rt, &fl6->saddr, fl6->flowi6_oif, flags); in ip6_pol_route_lookup()
805 fn = fib6_backtrack(fn, &fl6->saddr); in ip6_pol_route_lookup()
823 const struct in6_addr *saddr, int oif, int strict) in rt6_lookup() argument
832 if (saddr) { in rt6_lookup()
833 memcpy(&fl6.saddr, saddr, sizeof(*saddr)); in rt6_lookup()
877 const struct in6_addr *saddr) in rt6_alloc_cow() argument
895 if (rt->rt6i_src.plen && saddr) { in rt6_alloc_cow()
896 rt->rt6i_src.addr = *saddr; in rt6_alloc_cow()
931 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route()
939 fn = fib6_backtrack(fn, &fl6->saddr); in ip6_pol_route()
961 nrt = rt6_alloc_cow(rt, &fl6->daddr, &fl6->saddr); in ip6_pol_route()
1018 .saddr = iph->saddr, in ip6_route_input()
1041 if (!ipv6_addr_any(&fl6->saddr)) in ip6_route_output_flags()
1178 fl6.saddr = iph->saddr; in ip6_update_pmtu()
1221 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in __ip6_route_redirect()
1245 fn = fib6_backtrack(fn, &fl6->saddr); in __ip6_route_redirect()
1283 fl6.saddr = iph->saddr; in ip6_redirect()
1286 dst = ip6_route_redirect(net, &fl6, &ipv6_hdr(skb)->saddr); in ip6_redirect()
1305 fl6.saddr = iph->daddr; in ip6_redirect_no_header()
1307 dst = ip6_route_redirect(net, &fl6, &iph->saddr); in ip6_redirect_no_header()
2267 struct in6_addr *saddr) in ip6_route_get_saddr() argument
2273 *saddr = rt->rt6i_prefsrc.addr; in ip6_route_get_saddr()
2276 daddr, prefs, saddr); in ip6_route_get_saddr()
2939 fl6.saddr = *(struct in6_addr *)nla_data(tb[RTA_SRC]); in inet6_rtm_getroute()
2970 if (!ipv6_addr_any(&fl6.saddr)) in inet6_rtm_getroute()
2996 err = rt6_fill_node(net, skb, rt, &fl6.daddr, &fl6.saddr, iif, in inet6_rtm_getroute()