diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-28 21:24:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-28 21:24:32 -0700 |
commit | a839688362e32f01608838516036697e30618b39 (patch) | |
tree | a174d93d568ba9735b13bb6ebb5f1a36c8f56308 /net/ipv4/ip_input.c | |
parent | 2fa938b8a3964c21b23d9d095091e7abc88249c5 (diff) | |
parent | 12dc2fdd3e6067f5137e4a6d8af0b1a994952f52 (diff) | |
download | kernel-crypto-a839688362e32f01608838516036697e30618b39.tar.gz kernel-crypto-a839688362e32f01608838516036697e30618b39.tar.xz kernel-crypto-a839688362e32f01608838516036697e30618b39.zip |
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/ipv4/ip_input.c')
-rw-r--r-- | net/ipv4/ip_input.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index af2ec88bbb2..c703528e0bc 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c @@ -283,14 +283,18 @@ static inline int ip_rcv_finish(struct sk_buff *skb) { struct net_device *dev = skb->dev; struct iphdr *iph = skb->nh.iph; + int err; /* * Initialise the virtual path cache for the packet. It describes * how the packet travels inside Linux networking. */ if (skb->dst == NULL) { - if (ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, dev)) + if ((err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, dev))) { + if (err == -EHOSTUNREACH) + IP_INC_STATS_BH(IPSTATS_MIB_INADDRERRORS); goto drop; + } } #ifdef CONFIG_NET_CLS_ROUTE |