route.c (263243d6c2573cd761ef7ab773d3c467db0122f6) route.c (6a3e030f08e1b700aa6d1ebdc7ebe4c44a2ef67a)
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

--- 2207 unchanged lines hidden (view full) ---

2216 fn = rcu_dereference(rt->from->fib6_node);
2217 if (fn && (rt->rt6i_flags & RTF_DEFAULT))
2218 fn->fn_sernum = -1;
2219 rcu_read_unlock();
2220 }
2221 }
2222}
2223
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

--- 2207 unchanged lines hidden (view full) ---

2216 fn = rcu_dereference(rt->from->fib6_node);
2217 if (fn && (rt->rt6i_flags & RTF_DEFAULT))
2218 fn->fn_sernum = -1;
2219 rcu_read_unlock();
2220 }
2221 }
2222}
2223
2224static void rt6_update_expires(struct rt6_info *rt0, int timeout)
2225{
2226 if (!(rt0->rt6i_flags & RTF_EXPIRES) && rt0->from)
2227 rt0->dst.expires = rt0->from->expires;
2228
2229 dst_set_expires(&rt0->dst, timeout);
2230 rt0->rt6i_flags |= RTF_EXPIRES;
2231}
2232
2224static void rt6_do_update_pmtu(struct rt6_info *rt, u32 mtu)
2225{
2226 struct net *net = dev_net(rt->dst.dev);
2227
2228 dst_metric_set(&rt->dst, RTAX_MTU, mtu);
2229 rt->rt6i_flags |= RTF_MODIFIED;
2230 rt6_update_expires(rt, net->ipv6.sysctl.ip6_rt_mtu_expires);
2231}

--- 3049 unchanged lines hidden ---
2233static void rt6_do_update_pmtu(struct rt6_info *rt, u32 mtu)
2234{
2235 struct net *net = dev_net(rt->dst.dev);
2236
2237 dst_metric_set(&rt->dst, RTAX_MTU, mtu);
2238 rt->rt6i_flags |= RTF_MODIFIED;
2239 rt6_update_expires(rt, net->ipv6.sysctl.ip6_rt_mtu_expires);
2240}

--- 3049 unchanged lines hidden ---