snmp: fix OutOctets counter to include forwarded datagrams
authorVincent Bernat <bernat@luffy.cx>
Tue, 5 Jun 2012 03:41:42 +0000 (03:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Jun 2012 21:50:56 +0000 (14:50 -0700)
commit2d8dbb04c63e5369988f008bc4df3359c01d8812
treeb86550058254c26ad43065522e70712b73714c3d
parent278f015e9b67566991d4e831fe38e0ebbeef245e
snmp: fix OutOctets counter to include forwarded datagrams

RFC 4293 defines ipIfStatsOutOctets (similar definition for
ipSystemStatsOutOctets):

   The total number of octets in IP datagrams delivered to the lower
   layers for transmission.  Octets from datagrams counted in
   ipIfStatsOutTransmits MUST be counted here.

And ipIfStatsOutTransmits:

   The total number of IP datagrams that this entity supplied to the
   lower layers for transmission.  This includes datagrams generated
   locally and those forwarded by this entity.

Therefore, IPSTATS_MIB_OUTOCTETS must be incremented when incrementing
IPSTATS_MIB_OUTFORWDATAGRAMS.

IP_UPD_PO_STATS is not used since ipIfStatsOutRequests must not
include forwarded datagrams:

   The total number of IP datagrams that local IP user-protocols
   (including ICMP) supplied to IP in requests for transmission.  Note
   that this counter does not include any datagrams counted in
   ipIfStatsOutForwDatagrams.

Signed-off-by: Vincent Bernat <bernat@luffy.cx>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_forward.c
net/ipv4/ipmr.c
net/ipv6/ip6_output.c
net/ipv6/ip6mr.c