snmp: add missing counters for RFC 4293
The IP MIB (RFC 4293) defines stats for InOctets, OutOctets, InMcastOctets and OutMcastOctets: http://tools.ietf.org/html/rfc4293 But it seems we don't track those in any way that easy to separate from other protocols. This patch adds those missing counters to the stats file. Tested successfully by me With help from Eric Dumazet. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
06bd12c3b8
commit
edf391ff17
@@ -358,10 +358,12 @@ static int ip_rcv_finish(struct sk_buff *skb)
|
||||
goto drop;
|
||||
|
||||
rt = skb->rtable;
|
||||
if (rt->rt_type == RTN_MULTICAST)
|
||||
IP_INC_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INMCASTPKTS);
|
||||
else if (rt->rt_type == RTN_BROADCAST)
|
||||
IP_INC_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INBCASTPKTS);
|
||||
if (rt->rt_type == RTN_MULTICAST) {
|
||||
IP_UPD_PO_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INMCAST,
|
||||
skb->len);
|
||||
} else if (rt->rt_type == RTN_BROADCAST)
|
||||
IP_UPD_PO_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INBCAST,
|
||||
skb->len);
|
||||
|
||||
return dst_input(skb);
|
||||
|
||||
@@ -384,7 +386,8 @@ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt,
|
||||
if (skb->pkt_type == PACKET_OTHERHOST)
|
||||
goto drop;
|
||||
|
||||
IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_INRECEIVES);
|
||||
|
||||
IP_UPD_PO_STATS_BH(dev_net(dev), IPSTATS_MIB_IN, skb->len);
|
||||
|
||||
if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) {
|
||||
IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_INDISCARDS);
|
||||
|
Reference in New Issue
Block a user