diff options
author | David S. Miller <davem@davemloft.net> | 2012-06-10 03:04:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-11 05:08:59 -0400 |
commit | 46517008e1168dc926cf2c47d529efc07eca85c0 (patch) | |
tree | 98e9cf1917c9b8f1c6c2d8121746fd4f8e414f45 /net/ipv4/icmp.c | |
parent | 97bab73f987e2781129cd6f4b6379bf44d808cc6 (diff) |
ipv4: Kill ip_rt_frag_needed().
There is zero point to this function.
It's only real substance is to perform an extremely outdated BSD4.2
ICMP check, which we can safely remove. If you really have a MTU
limited link being routed by a BSD4.2 derived system, here's a nickel
go buy yourself a real router.
The other actions of ip_rt_frag_needed(), checking and conditionally
updating the peer, are done by the per-protocol handlers of the ICMP
event.
TCP, UDP, et al. have a handler which will receive this event and
transmit it back into the associated route via dst_ops->update_pmtu().
This simplification is important, because it eliminates the one place
where we do not have a proper route context in which to make an
inetpeer lookup.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/icmp.c')
-rw-r--r-- | net/ipv4/icmp.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 0c78ef1e5dde..e1caa1abe5d1 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
@@ -673,9 +673,7 @@ static void icmp_unreach(struct sk_buff *skb) | |||
673 | LIMIT_NETDEBUG(KERN_INFO pr_fmt("%pI4: fragmentation needed and DF set\n"), | 673 | LIMIT_NETDEBUG(KERN_INFO pr_fmt("%pI4: fragmentation needed and DF set\n"), |
674 | &iph->daddr); | 674 | &iph->daddr); |
675 | } else { | 675 | } else { |
676 | info = ip_rt_frag_needed(net, iph, | 676 | info = ntohs(icmph->un.frag.mtu); |
677 | ntohs(icmph->un.frag.mtu), | ||
678 | skb->dev); | ||
679 | if (!info) | 677 | if (!info) |
680 | goto out; | 678 | goto out; |
681 | } | 679 | } |