Lines Matching defs:saddr

116 					   const struct in6_addr *saddr);
468 const struct in6_addr *saddr, int oif, int flags)
480 if (ipv6_chk_addr(net, saddr, dev,
490 const struct in6_addr *saddr;
501 return __rt6_device_match(arg->net, nh, arg->saddr, arg->oif,
508 const struct in6_addr *saddr,
513 .saddr = saddr,
528 const struct in6_addr *saddr, int oif, int flags)
534 if (!oif && ipv6_addr_any(saddr)) {
550 nh = rt6_nh_dev_match(net, spf6i->nh, res, saddr,
556 if (__rt6_device_match(net, nh, saddr, oif, flags))
1143 struct in6_addr *saddr)
1152 fn = fib6_node_lookup(sn, NULL, saddr);
1214 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr);
1220 rt6_device_match(net, &res, &fl6->saddr, fl6->flowi6_oif,
1224 fn = fib6_backtrack(fn, &fl6->saddr);
1239 rt = rt6_find_cached_rt(&res, &fl6->daddr, &fl6->saddr);
1264 const struct in6_addr *saddr, int oif,
1274 if (saddr) {
1275 memcpy(&fl6.saddr, saddr, sizeof(*saddr));
1318 const struct in6_addr *saddr)
1348 if (rt->rt6i_src.plen && saddr) {
1349 rt->rt6i_src.addr = *saddr;
1511 * (daddr, saddr) pair
1517 const struct in6_addr *saddr)
1525 hval = rt6_exception_hash(daddr, saddr);
1533 if (matched && saddr)
1534 matched = ipv6_addr_equal(saddr, &rt6->rt6i_src.addr);
1544 * (daddr, saddr) pair
1550 const struct in6_addr *saddr)
1560 hval = rt6_exception_hash(daddr, saddr);
1568 if (matched && saddr)
1569 matched = ipv6_addr_equal(saddr, &rt6->rt6i_src.addr);
1788 const struct in6_addr *saddr)
1800 * might not be exactly the passed in saddr which
1803 * if the passed in saddr does not find anything.
1808 src_key = saddr;
2179 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr);
2185 fn = fib6_backtrack(fn, &fl6->saddr);
2226 rt = rt6_find_cached_rt(&res, &fl6->daddr, &fl6->saddr);
2330 keys->addrs.v6addrs.src = key_iph->saddr;
2441 hash_keys.addrs.v6addrs.src = fl6->saddr;
2470 hash_keys.addrs.v6addrs.src = fl6->saddr;
2501 hash_keys.addrs.v6addrs.src = fl6->saddr;
2539 hash_keys.addrs.v6addrs.src = fl6->saddr;
2567 .saddr = iph->saddr,
2617 any_src = ipv6_addr_any(&fl6->saddr);
2844 const struct in6_addr *daddr, *saddr;
2854 saddr = &iph->saddr;
2857 saddr = &inet6_sk(sk)->saddr;
2860 saddr = NULL;
2908 nrt6 = ip6_rt_cache_alloc(&res, daddr, saddr);
2936 .saddr = iph->saddr,
2982 ipv6_addr_equal(&fl6->saddr, &np->saddr) ?
2983 &np->saddr :
3007 rt_cache = rt6_find_cached_rt(res, &fl6->daddr, &fl6->saddr);
3068 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr);
3100 fn = fib6_backtrack(fn, &fl6->saddr);
3147 .saddr = iph->saddr,
3152 dst = ip6_route_redirect(net, &fl6, skb, &ipv6_hdr(skb)->saddr);
3167 .saddr = iph->daddr,
3171 dst = ip6_route_redirect(net, &fl6, skb, &iph->saddr);
3221 const struct in6_addr *saddr)
3235 rt = rt6_find_cached_rt(res, daddr, saddr);
3318 .saddr = cfg->fc_prefsrc,
4178 dst_confirm_neigh(&rt->dst, &ipv6_hdr(skb)->saddr);
6036 fl6.saddr = *(struct in6_addr *)nla_data(tb[RTA_SRC]);
6090 if (!ipv6_addr_any(&fl6.saddr))
6135 &fl6.saddr, iif, RTM_NEWROUTE,