From owner-IPv6-jp@jp.freebsd.org  Thu Jun 28 17:33:33 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id RAA60875;
	Thu, 28 Jun 2001 17:33:33 +0900 (JST)
	(envelope-from owner-IPv6-jp@jp.FreeBSD.org)
Received: from mgo.iij.ad.jp (root@mgo.iij.ad.jp [202.232.15.6])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id RAA60870
	for <IPv6-jp@jp.freebsd.org>; Thu, 28 Jun 2001 17:33:32 +0900 (JST)
	(envelope-from keiichi@iij.ad.jp)
Received: from ns.iij.ad.jp (ns.iij.ad.jp [192.168.2.8])
	by mgo.iij.ad.jp (8.8.8/MGO1.0) with ESMTP id RAA28153;
	Thu, 28 Jun 2001 17:33:29 +0900 (JST)
Received: from keiichi00.osaka.iij.ad.jp (keiichi00.osaka.iij.ad.jp [192.168.65.65]) by ns.iij.ad.jp (8.8.5/3.5Wpl7) with ESMTP id RAA06667; Thu, 28 Jun 2001 17:33:29 +0900 (JST)
Date: Thu, 28 Jun 2001 17:33:37 +0900
Message-ID: <87wv5x80m6.wl@keiichi00.osaka.iij.ad.jp>
From: Keiichi SHIMA <keiichi@iij.ad.jp>
To: IPv6-jp@jp.freebsd.org
Cc: matusita@matatabi.or.jp, sumikawa@ebina.hitachi.co.jp
In-Reply-To: <20010627.135255.71549625.sumikawa@ebina.hitachi.co.jp>
References: <20010622010946C.matusita@matatabi.or.jp>
	<20010627.135255.71549625.sumikawa@ebina.hitachi.co.jp>
User-Agent: Wanderlust/2.4.1 (Stand By Me) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd)
Organization: Internet Initiative Japan Inc.
MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya")
Content-Type: multipart/mixed;
 boundary="Multipart_Thu_Jun_28_17:33:37_2001-1"
Reply-To: IPv6-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: IPv6-jp 992
Subject: [IPv6-jp 992] Re: Why raw-socket of rtadvd(8) doesn't show up to sockstat(8) ?
Errors-To: owner-IPv6-jp@jp.freebsd.org
Sender: owner-IPv6-jp@jp.freebsd.org
X-Originator: keiichi@iij.ad.jp

--Multipart_Thu_Jun_28_17:33:37_2001-1
Content-Type: text/plain; charset=ISO-2022-JP

Munechika SUMIKAWA wrote:
> 
> netstat -a $B$G(BPCB$B$NFbMF$rI=<($9$k$H$-$K(BIPv4$B$G$O(Braw socket$B$^$GI=<($7$^$9(B
> $B$,!"(BIPv6$B$OI=<($5$l$J$$$N$,D>@\$N860x$G$9!#(B
> 
> KAME$BB&$G$=$N%3!<%I$r=q$/M=Dj$G$9!#$7$P$i$/$*BT$A$/$@$5$$!#(B

netstat $B$G(B RAW IPv6$B!"(BICMPv6 $B$N(B PCB $B$rI=<($9$k$?$a$N=$@5$r9T$J$$$^$7$?!#(B
$BE:IU$N%Q%C%A$r;n$7$F$_$F$/$@$5$$!#(B

$B%Q%C%A$O(B KAME tree $B$KBP$9$kJ*$G$9$,!"(Bfreebsd4.3 $B$G$b$"$?$k$O$:$G$9!#(B

---
Keiichi SHIMA <keiichi@iij.ad.jp>
Internet Initiative Japan Inc.


--Multipart_Thu_Jun_28_17:33:37_2001-1
Content-Type: application/octet-stream; type=patch
Content-Disposition: attachment; filename="netstat.diff"
Content-Transfer-Encoding: 7bit

Index: kame/freebsd4/usr.bin/netstat/inet6.c
diff -u kame/freebsd4/usr.bin/netstat/inet6.c:1.19 kame/freebsd4/usr.bin/netstat/inet6.c:1.20
--- kame/freebsd4/usr.bin/netstat/inet6.c:1.19	Fri Jun 15 21:16:03 2001
+++ kame/freebsd4/usr.bin/netstat/inet6.c	Thu Jun 28 15:10:17 2001
@@ -346,12 +346,18 @@
 {
 	struct ip6stat ip6stat;
 	int first, i;
+	int mib[4];
+	size_t len;
 
-	if (off == 0)
+	mib[0] = CTL_NET;
+	mib[1] = PF_INET6;
+	mib[2] = IPPROTO_IPV6;
+	mib[3] = IPV6CTL_STATS;
+
+	len = sizeof ip6stat;
+	memset(&ip6stat, 0, len);
+	if (sysctl(mib, 4, &ip6stat, &len, (void *)0, 0) < 0)
 		return;
-
-	if (kread(off, (char *)&ip6stat, sizeof (ip6stat)))
-		return;
 	printf("%s:\n", name);
 
 #define	p(f, m) if (ip6stat.f || sflag <= 1) \
@@ -816,10 +822,18 @@
 {
 	struct icmp6stat icmp6stat;
 	register int i, first;
+	int mib[4];
+	size_t len;
 
-	if (off == 0)
+	mib[0] = CTL_NET;
+	mib[1] = PF_INET6;
+	mib[2] = IPPROTO_ICMPV6;
+	mib[3] = ICMPV6CTL_STATS;
+
+	len = sizeof icmp6stat;
+	memset(&icmp6stat, 0, len);
+	if (sysctl(mib, 4, &icmp6stat, &len, (void *)0, 0) < 0)
 		return;
-	kread(off, (char *)&icmp6stat, sizeof (icmp6stat));
 	printf("%s:\n", name);
 
 #define	p(f, m) if (icmp6stat.f || sflag <= 1) \
Index: kame/freebsd4/usr.bin/netstat/main.c
diff -u kame/freebsd4/usr.bin/netstat/main.c:1.6 kame/freebsd4/usr.bin/netstat/main.c:1.7
--- kame/freebsd4/usr.bin/netstat/main.c:1.6	Sun May 27 23:03:25 2001
+++ kame/freebsd4/usr.bin/netstat/main.c	Thu Jun 28 15:10:17 2001
@@ -186,10 +186,10 @@
 	  tcp_stats,	NULL,		"tcp",	IPPROTO_TCP },
 	{ -1,		-1,		1,	protopr,
 	  udp_stats,	NULL,		"udp",	IPPROTO_UDP },
-	{ -1,		N_IP6STAT,	1,	0,
-	  ip6_stats,	ip6_ifstats,	"ip6",	0 },
-	{ -1,		N_ICMP6STAT,	1,	0,
-	  icmp6_stats,	icmp6_ifstats,	"icmp6",0 },
+	{ -1,		N_IP6STAT,	1,	protopr,
+	  ip6_stats,	ip6_ifstats,	"ip6",	IPPROTO_RAW },
+	{ -1,		N_ICMP6STAT,	1,	protopr,
+	  icmp6_stats,	icmp6_ifstats,	"icmp6",IPPROTO_ICMPV6 },
 #ifdef IPSEC
 	{ -1,		N_IPSEC6STAT,	1,	0,
 	  ipsec_stats,	NULL,		"ipsec6",0 },
Index: kame/kame/sys/netinet6/in6_proto.c
diff -u kame/kame/sys/netinet6/in6_proto.c:1.96 kame/kame/sys/netinet6/in6_proto.c:1.97
--- kame/kame/sys/netinet6/in6_proto.c:1.96	Fri Jun 22 23:25:35 2001
+++ kame/kame/sys/netinet6/in6_proto.c	Thu Jun 28 15:10:16 2001
@@ -1,4 +1,4 @@
-/*	$KAME: in6_proto.c,v 1.96 2001/06/22 14:25:35 itojun Exp $	*/
+/*	$KAME: in6_proto.c,v 1.97 2001/06/28 06:10:16 keiichi Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -714,6 +714,8 @@
 	redirect, CTLFLAG_RW,		&ip6_sendredirects,	0, "");
 SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DEFHLIM,
 	hlim, CTLFLAG_RW,		&ip6_defhlim,	0, "");
+SYSCTL_STRUCT(_net_inet6_ip6, IPV6CTL_STATS, stats, CTLFLAG_RD,
+	&ip6stat, ip6stat, "");
 SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGPACKETS,
 	maxfragpackets, CTLFLAG_RW,	&ip6_maxfragpackets,	0, "");
 SYSCTL_INT(_net_inet6_ip6, IPV6CTL_ACCEPT_RTADV,

--Multipart_Thu_Jun_28_17:33:37_2001-1--
