Module Name: src
Committed By: msaitoh
Date: Fri Aug 10 07:24:09 UTC 2018
Modified Files:
src/sys/net: if.c pktqueue.c
Log Message:
- Fix a bug that drop counter shows incorrect vaule like
"net.inet.ip.ifq.drops = 72059810241052672"
- Change pktq's length sysctl to uint64_t.
To generate a diff of this commit:
cvs rdiff -u -r1.431 -r1.432 src/sys/net/if.c
cvs rdiff -u -r1.9 -r1.10 src/sys/net/pktqueue.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/if.c
diff -u src/sys/net/if.c:1.431 src/sys/net/if.c:1.432
--- src/sys/net/if.c:1.431 Mon Aug 6 06:54:40 2018
+++ src/sys/net/if.c Fri Aug 10 07:24:09 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if.c,v 1.431 2018/08/06 06:54:40 msaitoh Exp $ */
+/* $NetBSD: if.c,v 1.432 2018/08/10 07:24:09 msaitoh Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc.
@@ -90,7 +90,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.431 2018/08/06 06:54:40 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.432 2018/08/10 07:24:09 msaitoh Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -3767,7 +3767,7 @@ sysctl_net_pktq_setup(struct sysctllog *
sysctl_createv(clog, 0, NULL, NULL,
CTLFLAG_PERMANENT,
- CTLTYPE_INT, "len",
+ CTLTYPE_QUAD, "len",
SYSCTL_DESCR("Current input queue length"),
len_func, 0, NULL, 0,
CTL_NET, pf, ipn, qid, IFQCTL_LEN, CTL_EOL);
Index: src/sys/net/pktqueue.c
diff -u src/sys/net/pktqueue.c:1.9 src/sys/net/pktqueue.c:1.10
--- src/sys/net/pktqueue.c:1.9 Thu Jun 1 02:45:14 2017
+++ src/sys/net/pktqueue.c Fri Aug 10 07:24:09 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pktqueue.c,v 1.9 2017/06/01 02:45:14 chs Exp $ */
+/* $NetBSD: pktqueue.c,v 1.10 2018/08/10 07:24:09 msaitoh Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pktqueue.c,v 1.9 2017/06/01 02:45:14 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pktqueue.c,v 1.10 2018/08/10 07:24:09 msaitoh Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -381,8 +381,9 @@ sysctl_pktq_maxlen(SYSCTLFN_ARGS, pktque
int
sysctl_pktq_count(SYSCTLFN_ARGS, pktqueue_t *pq, u_int count_id)
{
- int count = pktq_get_count(pq, count_id);
+ uint64_t count = pktq_get_count(pq, count_id);
struct sysctlnode node = *rnode;
+
node.sysctl_data = &count;
return sysctl_lookup(SYSCTLFN_CALL(&node));
}