OSDN Git Service

packet: report tx_dropped in packet_direct_xmit
authorDaniel Borkmann <dborkman@redhat.com>
Wed, 2 Apr 2014 18:52:56 +0000 (20:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Apr 2014 18:29:11 +0000 (14:29 -0400)
Since commit 015f0688f57c ("net: net: add a core netdev->tx_dropped
counter"), we can now account for TX drops from within the core
stack instead of drivers.

Therefore, fix packet_direct_xmit() and increase drop count when we
encounter a problem before driver's xmit function was called (we do
not want to doubly account for it).

Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c

index 01039d2..c81a971 100644 (file)
@@ -275,6 +275,7 @@ static int packet_direct_xmit(struct sk_buff *skb)
 
        return ret;
 drop:
+       atomic_long_inc(&dev->tx_dropped);
        kfree_skb(skb);
        return NET_XMIT_DROP;
 }