Lines Matching refs:saddr

117 					   const struct in6_addr *saddr);
469 const struct in6_addr *saddr, int oif, int flags) in __rt6_device_match() argument
481 if (ipv6_chk_addr(net, saddr, dev, in __rt6_device_match()
491 const struct in6_addr *saddr; member
502 return __rt6_device_match(arg->net, nh, arg->saddr, arg->oif, in __rt6_nh_dev_match()
509 const struct in6_addr *saddr, in rt6_nh_dev_match() argument
514 .saddr = saddr, in rt6_nh_dev_match()
529 const struct in6_addr *saddr, int oif, int flags) in rt6_device_match() argument
535 if (!oif && ipv6_addr_any(saddr)) { in rt6_device_match()
551 nh = rt6_nh_dev_match(net, spf6i->nh, res, saddr, in rt6_device_match()
557 if (__rt6_device_match(net, nh, saddr, oif, flags)) in rt6_device_match()
1146 struct in6_addr *saddr) in fib6_backtrack() argument
1155 fn = fib6_node_lookup(sn, NULL, saddr); in fib6_backtrack()
1217 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup()
1223 rt6_device_match(net, &res, &fl6->saddr, fl6->flowi6_oif, in ip6_pol_route_lookup()
1227 fn = fib6_backtrack(fn, &fl6->saddr); in ip6_pol_route_lookup()
1242 rt = rt6_find_cached_rt(&res, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup()
1267 const struct in6_addr *saddr, int oif, in rt6_lookup() argument
1277 if (saddr) { in rt6_lookup()
1278 memcpy(&fl6.saddr, saddr, sizeof(*saddr)); in rt6_lookup()
1321 const struct in6_addr *saddr) in ip6_rt_cache_alloc() argument
1351 if (rt->rt6i_src.plen && saddr) { in ip6_rt_cache_alloc()
1352 rt->rt6i_src.addr = *saddr; in ip6_rt_cache_alloc()
1521 const struct in6_addr *saddr) in __rt6_find_exception_spinlock() argument
1529 hval = rt6_exception_hash(daddr, saddr); in __rt6_find_exception_spinlock()
1537 if (matched && saddr) in __rt6_find_exception_spinlock()
1538 matched = ipv6_addr_equal(saddr, &rt6->rt6i_src.addr); in __rt6_find_exception_spinlock()
1554 const struct in6_addr *saddr) in __rt6_find_exception_rcu() argument
1564 hval = rt6_exception_hash(daddr, saddr); in __rt6_find_exception_rcu()
1572 if (matched && saddr) in __rt6_find_exception_rcu()
1573 matched = ipv6_addr_equal(saddr, &rt6->rt6i_src.addr); in __rt6_find_exception_rcu()
1792 const struct in6_addr *saddr) in rt6_find_cached_rt() argument
1812 src_key = saddr; in rt6_find_cached_rt()
2183 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in fib6_table_lookup()
2189 fn = fib6_backtrack(fn, &fl6->saddr); in fib6_table_lookup()
2230 rt = rt6_find_cached_rt(&res, &fl6->daddr, &fl6->saddr); in ip6_pol_route()
2334 keys->addrs.v6addrs.src = key_iph->saddr; in ip6_multipath_l3_keys()
2445 hash_keys.addrs.v6addrs.src = fl6->saddr; in rt6_multipath_custom_hash_fl6()
2474 hash_keys.addrs.v6addrs.src = fl6->saddr; in rt6_multipath_hash()
2505 hash_keys.addrs.v6addrs.src = fl6->saddr; in rt6_multipath_hash()
2543 hash_keys.addrs.v6addrs.src = fl6->saddr; in rt6_multipath_hash()
2571 .saddr = iph->saddr, in ip6_route_input()
2621 any_src = ipv6_addr_any(&fl6->saddr); in ip6_route_output_flags_noref()
2848 const struct in6_addr *daddr, *saddr; in __ip6_rt_update_pmtu() local
2858 saddr = &iph->saddr; in __ip6_rt_update_pmtu()
2861 saddr = &inet6_sk(sk)->saddr; in __ip6_rt_update_pmtu()
2864 saddr = NULL; in __ip6_rt_update_pmtu()
2912 nrt6 = ip6_rt_cache_alloc(&res, daddr, saddr); in __ip6_rt_update_pmtu()
2940 .saddr = iph->saddr, in ip6_update_pmtu()
2986 ipv6_addr_equal(&fl6->saddr, &np->saddr) ? in ip6_sk_dst_store_flow()
2987 &np->saddr : in ip6_sk_dst_store_flow()
3011 rt_cache = rt6_find_cached_rt(res, &fl6->daddr, &fl6->saddr); in ip6_redirect_nh_match()
3072 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in __ip6_route_redirect()
3104 fn = fib6_backtrack(fn, &fl6->saddr); in __ip6_route_redirect()
3151 .saddr = iph->saddr, in ip6_redirect()
3156 dst = ip6_route_redirect(net, &fl6, skb, &ipv6_hdr(skb)->saddr); in ip6_redirect()
3171 .saddr = iph->daddr, in ip6_redirect_no_header()
3175 dst = ip6_route_redirect(net, &fl6, skb, &iph->saddr); in ip6_redirect_no_header()
3225 const struct in6_addr *saddr) in ip6_mtu_from_fib6() argument
3239 rt = rt6_find_cached_rt(res, daddr, saddr); in ip6_mtu_from_fib6()
3322 .saddr = cfg->fc_prefsrc, in ip6_nh_lookup_table()
4182 dst_confirm_neigh(&rt->dst, &ipv6_hdr(skb)->saddr); in rt6_do_redirect()
6043 fl6.saddr = *(struct in6_addr *)nla_data(tb[RTA_SRC]); in inet6_rtm_getroute()
6097 if (!ipv6_addr_any(&fl6.saddr)) in inet6_rtm_getroute()
6142 &fl6.saddr, iif, RTM_NEWROUTE, in inet6_rtm_getroute()