diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-09-20 02:12:11 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-20 19:08:58 +0200 |
commit | 8990f468ae9010ab0af4be8f51bf7ab833a67202 (patch) | |
tree | e84ad358ed67da6011b1e20f3d8039d1f9f07e4a /net/ipv4/ipip.c | |
parent | bridge : Sanitize skb before it enters the IP stack (diff) | |
download | linux-8990f468ae9010ab0af4be8f51bf7ab833a67202.tar.xz linux-8990f468ae9010ab0af4be8f51bf7ab833a67202.zip |
net: rx_dropped accounting
Under load, netif_rx() can drop incoming packets but administrators dont
have a chance to spot which device needs some tuning (RPS activation for
example)
This patch adds rx_dropped accounting in vlans and tunnels.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ipip.c')
-rw-r--r-- | net/ipv4/ipip.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 8de8888dc95a..babd25278106 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -377,7 +377,10 @@ static int ipip_rcv(struct sk_buff *skb) skb_tunnel_rx(skb, tunnel->dev); ipip_ecn_decapsulate(iph, skb); - netif_rx(skb); + + if (netif_rx(skb) == NET_RX_DROP) + tunnel->dev->stats.rx_dropped++; + rcu_read_unlock(); return 0; } |