diff options
author | David S. Miller <davem@davemloft.net> | 2010-12-13 00:55:08 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-13 01:08:17 -0500 |
commit | 323e126f0c5995f779d7df7fd035f6e8fed8764d (patch) | |
tree | 402c7267a45ae488363bb1ef8e4c786b65b82572 /include/net/route.h | |
parent | a02e4b7dae455151c423e2f69ef222c502a321fd (diff) |
ipv4: Don't pre-seed hoplimit metric.
Always go through a new ip4_dst_hoplimit() helper, just like ipv6.
This allowed several simplifications:
1) The interim dst_metric_hoplimit() can go as it's no longer
userd.
2) The sysctl_ip_default_ttl entry no longer needs to use
ipv4_doint_and_flush, since the sysctl is not cached in
routing cache metrics any longer.
3) ipv4_doint_and_flush no longer needs to be exported and
therefore can be marked static.
When ipv4_doint_and_flush_strategy was removed some time ago,
the external declaration in ip.h was mistakenly left around
so kill that off too.
We have to move the sysctl_ip_default_ttl declaration into
ipv4's route cache definition header net/route.h, because
currently net/ip.h (where the declaration lives now) has
a back dependency on net/route.h
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/route.h')
-rw-r--r-- | include/net/route.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/net/route.h b/include/net/route.h index b8c1f7703fc6..27002362944a 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
@@ -231,4 +231,15 @@ static inline int inet_iif(const struct sk_buff *skb) | |||
231 | return skb_rtable(skb)->rt_iif; | 231 | return skb_rtable(skb)->rt_iif; |
232 | } | 232 | } |
233 | 233 | ||
234 | extern int sysctl_ip_default_ttl; | ||
235 | |||
236 | static inline int ip4_dst_hoplimit(const struct dst_entry *dst) | ||
237 | { | ||
238 | int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT); | ||
239 | |||
240 | if (hoplimit == 0) | ||
241 | hoplimit = sysctl_ip_default_ttl; | ||
242 | return hoplimit; | ||
243 | } | ||
244 | |||
234 | #endif /* _ROUTE_H */ | 245 | #endif /* _ROUTE_H */ |