On Mon, 7 May 2007 20:29:05 +0900 Mitsuru Chinen <[EMAIL PROTECTED]> wrote:
> On Thu, 03 May 2007 03:15:46 -0700 (PDT) > David Miller <[EMAIL PROTECTED]> wrote: > > > From: Mitsuru Chinen <[EMAIL PROTECTED]> > > Date: Wed, 2 May 2007 10:05:13 +0900 > > > > > [IPV4] SNMP: Display new statistics at /proc/net/netstat > > > > > > This displays the statistics specified in the updated IP-MIB RFC > > > (RFC4293) in /proc/net/netstat. The reason why these are not added > > > to /proc/net/snmp is that some existing utilities are developed under > > > the assumption that ipstat items in /proc/net/snmp is unchanged. > > > > > > Signed-off-by: Mitsuru Chinen <[EMAIL PROTECTED]> > > > > Magic constant "17" is not the best, somebody will break this > > next time this table it touched. > > > > Why not use another sentinel, or something like that, to mark > > the entry groups? > > Excuse me, but I can't catch why this magic constant is not good. > When we don't increase the number of entries in /proc/net/snmp, > I think the start number of new entries which is displayed in > /proc/net/netstat would be fixed value. Thanks to Yoshifuji-san and USAGI guys, I'm able to remove magic constant totally. How about this? [IPV4] SNMP: Display new statistics at /proc/net/netstat This displays the statistics specified in the updated IP-MIB RFC (RFC4293) in /proc/net/netstat. The reason why these are not displayed in /proc/net/snmp is that some existing utilities are developed under the assumption which ipstat items in /proc/net/snmp is unchanged. Signed-off-by: Mitsuru Chinen <[EMAIL PROTECTED]> --- net/ipv4/proc.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) fc11ca885424125a2add36ab6ff29aa8e4302d4b diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 37ab580..cdbc6c1 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c @@ -109,6 +109,17 @@ static const struct snmp_mib snmp4_ipsta SNMP_MIB_SENTINEL }; +/* Following RFC4293 items are displayed in /proc/net/netstat */ +static const struct snmp_mib snmp4_ipextstats_list[] = { + SNMP_MIB_ITEM("InNoRoutes", IPSTATS_MIB_INNOROUTES), + SNMP_MIB_ITEM("InTruncatedPkts", IPSTATS_MIB_INTRUNCATEDPKTS), + SNMP_MIB_ITEM("InMcastPkts", IPSTATS_MIB_INMCASTPKTS), + SNMP_MIB_ITEM("OutMcastPkts", IPSTATS_MIB_OUTMCASTPKTS), + SNMP_MIB_ITEM("InBcastPkts", IPSTATS_MIB_INBCASTPKTS), + SNMP_MIB_ITEM("OutBcastPkts", IPSTATS_MIB_OUTBCASTPKTS), + SNMP_MIB_SENTINEL +}; + static const struct snmp_mib snmp4_icmp_list[] = { SNMP_MIB_ITEM("InMsgs", ICMP_MIB_INMSGS), SNMP_MIB_ITEM("InErrors", ICMP_MIB_INERRORS), @@ -338,6 +349,16 @@ static int netstat_seq_show(struct seq_f snmp_fold_field((void **)net_statistics, snmp4_net_list[i].entry)); + seq_puts(seq, "\nIpExt:"); + for (i = 0; snmp4_ipextstats_list[i].name != NULL; i++) + seq_printf(seq, " %s", snmp4_ipextstats_list[i].name); + + seq_puts(seq, "\nIpExt:"); + for (i = 0; snmp4_ipextstats_list[i].name != NULL; i++) + seq_printf(seq, " %lu", + snmp_fold_field((void **)ip_statistics, + snmp4_ipextstats_list[i].entry)); + seq_putc(seq, '\n'); return 0; } -- 1.3.3 - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html