aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/icmp.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-06-10 03:04:12 -0400
committerDavid S. Miller <davem@davemloft.net>2012-06-11 05:08:59 -0400
commit46517008e1168dc926cf2c47d529efc07eca85c0 (patch)
tree98e9cf1917c9b8f1c6c2d8121746fd4f8e414f45 /net/ipv4/icmp.c
parent97bab73f987e2781129cd6f4b6379bf44d808cc6 (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.c4
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 }