summaryrefslogtreecommitdiff
path: root/net/ipv4/ip_input.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-06-30 00:49:18 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-30 00:49:18 -0400
commit0c168775709faa74c1b87f1e61046e0c51ade7f3 (patch)
treec40fd8818c64c5d7d1d90afab0bd6ffd94505526 /net/ipv4/ip_input.c
parent9bd481f85940726bf66aae5cd03c5b912ad0ae4c (diff)
parent9b4311eedb17fa88f02e4876cd6aa9a08e383cd6 (diff)
Merge upstream 2.6.13-rc1-git1 into 'ieee80211' branch of netdev-2.6.
Diffstat (limited to 'net/ipv4/ip_input.c')
-rw-r--r--net/ipv4/ip_input.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c
index af2ec88bbb2f..c703528e0bcd 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