route.c (5bb053bef82523a8fd78d650bca81c9f114fa276) | route.c (7d6850f7c618d8f13d7945dd0dcee98223be6459) |
---|---|
1/* 2 * Linux INET6 implementation 3 * FIB front-end. 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * This program is free software; you can redistribute it and/or --- 2215 unchanged lines hidden (view full) --- 2224 2225 bh_lock_sock(sk); 2226 if (!sock_owned_by_user(sk) && !ipv6_addr_v4mapped(&sk->sk_v6_daddr)) 2227 ip6_datagram_dst_update(sk, false); 2228 bh_unlock_sock(sk); 2229} 2230EXPORT_SYMBOL_GPL(ip6_sk_update_pmtu); 2231 | 1/* 2 * Linux INET6 implementation 3 * FIB front-end. 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * This program is free software; you can redistribute it and/or --- 2215 unchanged lines hidden (view full) --- 2224 2225 bh_lock_sock(sk); 2226 if (!sock_owned_by_user(sk) && !ipv6_addr_v4mapped(&sk->sk_v6_daddr)) 2227 ip6_datagram_dst_update(sk, false); 2228 bh_unlock_sock(sk); 2229} 2230EXPORT_SYMBOL_GPL(ip6_sk_update_pmtu); 2231 |
2232void ip6_sk_dst_store_flow(struct sock *sk, struct dst_entry *dst, 2233 const struct flowi6 *fl6) 2234{ 2235#ifdef CONFIG_IPV6_SUBTREES 2236 struct ipv6_pinfo *np = inet6_sk(sk); 2237#endif 2238 2239 ip6_dst_store(sk, dst, 2240 ipv6_addr_equal(&fl6->daddr, &sk->sk_v6_daddr) ? 2241 &sk->sk_v6_daddr : NULL, 2242#ifdef CONFIG_IPV6_SUBTREES 2243 ipv6_addr_equal(&fl6->saddr, &np->saddr) ? 2244 &np->saddr : 2245#endif 2246 NULL); 2247} 2248 |
|
2232/* Handle redirects */ 2233struct ip6rd_flowi { 2234 struct flowi6 fl6; 2235 struct in6_addr gateway; 2236}; 2237 2238static struct rt6_info *__ip6_route_redirect(struct net *net, 2239 struct fib6_table *table, --- 3012 unchanged lines hidden --- | 2249/* Handle redirects */ 2250struct ip6rd_flowi { 2251 struct flowi6 fl6; 2252 struct in6_addr gateway; 2253}; 2254 2255static struct rt6_info *__ip6_route_redirect(struct net *net, 2256 struct fib6_table *table, --- 3012 unchanged lines hidden --- |