Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src add pim6sd: PIMv6 sparse mode daemon. (from KAME)



details:   https://anonhg.NetBSD.org/src/rev/00341537ba41
branches:  trunk
changeset: 481425:00341537ba41
user:      itojun <itojun%NetBSD.org@localhost>
date:      Fri Jan 28 19:32:43 2000 +0000

description:
add pim6sd: PIMv6 sparse mode daemon. (from KAME)

diffstat:

 distrib/sets/lists/base/mi         |     5 +-
 distrib/sets/lists/man/mi          |    10 +-
 usr.sbin/Makefile                  |     6 +-
 usr.sbin/mtrace6/Makefile          |    13 +
 usr.sbin/mtrace6/mtrace6.8         |   116 +
 usr.sbin/mtrace6/mtrace6.c         |   683 +++++
 usr.sbin/pim6sd/BUGS.TODO          |   125 +
 usr.sbin/pim6sd/BUGS.V6            |     8 +
 usr.sbin/pim6sd/LICENSE.mrouted    |    48 +
 usr.sbin/pim6sd/LICENSE.pim6dd     |    30 +
 usr.sbin/pim6sd/LICENSE.pim6sd     |    46 +
 usr.sbin/pim6sd/LICENSE.pimd       |    47 +
 usr.sbin/pim6sd/Makefile           |    22 +
 usr.sbin/pim6sd/README             |    84 +
 usr.sbin/pim6sd/README.first       |    13 +
 usr.sbin/pim6sd/callout.c          |   318 ++
 usr.sbin/pim6sd/callout.h          |    63 +
 usr.sbin/pim6sd/cfparse.h          |    55 +
 usr.sbin/pim6sd/cfparse.y          |   975 ++++++++
 usr.sbin/pim6sd/cftoken.l          |   663 +++++
 usr.sbin/pim6sd/config.c           |  1610 ++++++++++++++
 usr.sbin/pim6sd/config.h           |    74 +
 usr.sbin/pim6sd/crc.c              |   104 +
 usr.sbin/pim6sd/crc.h              |    48 +
 usr.sbin/pim6sd/debug.c            |   910 +++++++
 usr.sbin/pim6sd/debug.h            |   153 +
 usr.sbin/pim6sd/defs.h             |    82 +
 usr.sbin/pim6sd/inet6.c            |   283 ++
 usr.sbin/pim6sd/inet6.h            |    76 +
 usr.sbin/pim6sd/kern.c             |   414 +++
 usr.sbin/pim6sd/kern.h             |    78 +
 usr.sbin/pim6sd/main.c             |   767 ++++++
 usr.sbin/pim6sd/mld6.c             |   558 ++++
 usr.sbin/pim6sd/mld6.h             |    90 +
 usr.sbin/pim6sd/mld6_proto.c       |   634 +++++
 usr.sbin/pim6sd/mld6_proto.h       |    72 +
 usr.sbin/pim6sd/mrt.c              |  1495 +++++++++++++
 usr.sbin/pim6sd/mrt.h              |   341 ++
 usr.sbin/pim6sd/pathnames.h        |    81 +
 usr.sbin/pim6sd/pim6.c             |   509 ++++
 usr.sbin/pim6sd/pim6.h             |    70 +
 usr.sbin/pim6sd/pim6_proto.c       |  4126 ++++++++++++++++++++++++++++++++++++
 usr.sbin/pim6sd/pim6_proto.h       |   103 +
 usr.sbin/pim6sd/pim6sd.8           |   150 +
 usr.sbin/pim6sd/pim6sd.conf.5      |   331 ++
 usr.sbin/pim6sd/pim6sd.conf.sample |   105 +
 usr.sbin/pim6sd/pim6stat           |    87 +
 usr.sbin/pim6sd/pim6stat.1         |    93 +
 usr.sbin/pim6sd/pimd.h             |   527 ++++
 usr.sbin/pim6sd/route.c            |  1180 ++++++++++
 usr.sbin/pim6sd/route.h            |    85 +
 usr.sbin/pim6sd/routesock.c        |   429 +++
 usr.sbin/pim6sd/routesock.h        |    57 +
 usr.sbin/pim6sd/rp.c               |  1210 ++++++++++
 usr.sbin/pim6sd/rp.h               |   123 +
 usr.sbin/pim6sd/timer.c            |  1286 +++++++++++
 usr.sbin/pim6sd/timer.h            |   102 +
 usr.sbin/pim6sd/trace.c            |   559 ++++
 usr.sbin/pim6sd/trace.h            |   211 +
 usr.sbin/pim6sd/var.h              |    62 +
 usr.sbin/pim6sd/vers.c             |     3 +
 usr.sbin/pim6sd/vif.c              |   824 +++++++
 usr.sbin/pim6sd/vif.h              |   277 ++
 usr.sbin/pim6sd/vmbuf.h            |    48 +
 64 files changed, 23752 insertions(+), 5 deletions(-)

diffs (truncated from 24099 to 300 lines):

diff -r b3f7e94f03a8 -r 00341537ba41 distrib/sets/lists/base/mi
--- a/distrib/sets/lists/base/mi        Fri Jan 28 18:27:41 2000 +0000
+++ b/distrib/sets/lists/base/mi        Fri Jan 28 19:32:43 2000 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.142 2000/01/20 19:26:43 wrstuden Exp $
+# $NetBSD: mi,v 1.143 2000/01/28 19:32:44 itojun Exp $
 .
 ./altroot
 ./bin
@@ -596,6 +596,7 @@
 ./usr/sbin/mrinfo
 ./usr/sbin/mrouted
 ./usr/sbin/mtrace
+./usr/sbin/mtrace6
 ./usr/sbin/mtree
 ./usr/sbin/named
 ./usr/sbin/named-bootconf
@@ -612,6 +613,8 @@
 ./usr/sbin/ntptrace
 ./usr/sbin/pac
 ./usr/sbin/pim6dd
+./usr/sbin/pim6sd
+./usr/sbin/pim6stat
 ./usr/sbin/pkg_add
 ./usr/sbin/pkg_admin
 ./usr/sbin/pkg_create
diff -r b3f7e94f03a8 -r 00341537ba41 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Fri Jan 28 18:27:41 2000 +0000
+++ b/distrib/sets/lists/man/mi Fri Jan 28 19:32:43 2000 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.200 2000/01/25 08:45:24 augustss Exp $
+# $NetBSD: mi,v 1.201 2000/01/28 19:32:44 itojun Exp $
 ./usr/share/info/am-utils.info
 ./usr/share/info/awk.info
 ./usr/share/info/bfd.info
@@ -217,6 +217,7 @@
 ./usr/share/man/cat1/patch.0
 ./usr/share/man/cat1/pawd.0
 ./usr/share/man/cat1/pax.0
+./usr/share/man/cat1/pim6stat.0
 ./usr/share/man/cat1/pkg_add.0
 ./usr/share/man/cat1/pkg_admin.0
 ./usr/share/man/cat1/pkg_create.0
@@ -609,6 +610,7 @@
 ./usr/share/man/cat5/passwd.0
 ./usr/share/man/cat5/phones.0
 ./usr/share/man/cat5/pim6dd.conf.0
+./usr/share/man/cat5/pim6sd.conf.0
 ./usr/share/man/cat5/printcap.0
 ./usr/share/man/cat5/protocols.0
 ./usr/share/man/cat5/ranlib.0
@@ -791,6 +793,7 @@
 ./usr/share/man/cat8/mrinfo.0
 ./usr/share/man/cat8/mrouted.0
 ./usr/share/man/cat8/mtrace.0
+./usr/share/man/cat8/mtrace6.0
 ./usr/share/man/cat8/mtree.0
 ./usr/share/man/cat8/named-bootconf.0
 ./usr/share/man/cat8/named-xfer.0
@@ -818,6 +821,7 @@
 ./usr/share/man/cat8/pac.0
 ./usr/share/man/cat8/pcnfsd.0
 ./usr/share/man/cat8/pim6dd.0
+./usr/share/man/cat8/pim6sd.0
 ./usr/share/man/cat8/ping.0
 ./usr/share/man/cat8/ping6.0
 ./usr/share/man/cat8/portmap.0
@@ -1150,6 +1154,7 @@
 ./usr/share/man/man1/patch.1
 ./usr/share/man/man1/pawd.1
 ./usr/share/man/man1/pax.1
+./usr/share/man/man1/pim6stat.1
 ./usr/share/man/man1/pkg_add.1
 ./usr/share/man/man1/pkg_admin.1
 ./usr/share/man/man1/pkg_create.1
@@ -1543,6 +1548,7 @@
 ./usr/share/man/man5/passwd.5
 ./usr/share/man/man5/phones.5
 ./usr/share/man/man5/pim6dd.conf.5
+./usr/share/man/man5/pim6sd.conf.5
 ./usr/share/man/man5/printcap.5
 ./usr/share/man/man5/protocols.5
 ./usr/share/man/man5/ranlib.5
@@ -1725,6 +1731,7 @@
 ./usr/share/man/man8/mrinfo.8
 ./usr/share/man/man8/mrouted.8
 ./usr/share/man/man8/mtrace.8
+./usr/share/man/man8/mtrace6.8
 ./usr/share/man/man8/mtree.8
 ./usr/share/man/man8/named-bootconf.8
 ./usr/share/man/man8/named-xfer.8
@@ -1752,6 +1759,7 @@
 ./usr/share/man/man8/pac.8
 ./usr/share/man/man8/pcnfsd.8
 ./usr/share/man/man8/pim6dd.8
+./usr/share/man/man8/pim6sd.8
 ./usr/share/man/man8/ping.8
 ./usr/share/man/man8/ping6.8
 ./usr/share/man/man8/portmap.8
diff -r b3f7e94f03a8 -r 00341537ba41 usr.sbin/Makefile
--- a/usr.sbin/Makefile Fri Jan 28 18:27:41 2000 +0000
+++ b/usr.sbin/Makefile Fri Jan 28 19:32:43 2000 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.130 2000/01/17 02:29:48 itojun Exp $
+#      $NetBSD: Makefile,v 1.131 2000/01/28 19:32:43 itojun Exp $
 #      from: @(#)Makefile      5.20 (Berkeley) 6/12/93
 
 # XXX Temporary for NO_SENDMAIL and BUILD_POSTFIX
@@ -24,8 +24,8 @@
        wsfontload xntp ypbind yppoll ypserv ypset zdump zic
 
 # IPv6
-SUBDIR+=faithd gifconfig ifmcstat mld6query ndp pim6dd rip6query route6d \
-       rtadvd setkey traceroute6 rtsold
+SUBDIR+=faithd gifconfig ifmcstat mld6query mtrace6 ndp pim6dd pim6sd \
+       rip6query route6d rtadvd setkey traceroute6 rtsold
 
 # ATM PVC
 SUBDIR+=pvcsif pvctxctl
diff -r b3f7e94f03a8 -r 00341537ba41 usr.sbin/mtrace6/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.sbin/mtrace6/Makefile Fri Jan 28 19:32:43 2000 +0000
@@ -0,0 +1,13 @@
+# $NetBSD: Makefile,v 1.1 2000/01/28 19:32:54 itojun Exp $
+
+PROG=  mtrace6
+
+BINOWN=        root
+BINGRP=        bin
+BINMODE=4555
+
+CPPFLAGS+= -I${.CURDIR}/../pim6sd
+
+MAN= mtrace6.8
+
+.include <bsd.prog.mk>
diff -r b3f7e94f03a8 -r 00341537ba41 usr.sbin/mtrace6/mtrace6.8
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.sbin/mtrace6/mtrace6.8        Fri Jan 28 19:32:43 2000 +0000
@@ -0,0 +1,116 @@
+.\"    $NetBSD: mtrace6.8,v 1.1 2000/01/28 19:32:54 itojun Exp $
+.\" 
+.\" Copyright (C) 1999 WIDE Project.
+.\" All rights reserved.
+.\" 
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the project nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\" 
+.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"     KAME Id: mtrace6.8,v 1.3 1999/09/12 17:03:18 jinmei Exp
+.\"
+.Dd Sep 12, 1999
+.Dt MTRACE6 8
+.Os
+.Sh NAME
+.Nm mtrace6
+.Nd print IPv6 multicast path from a source to
+a receiver
+.Sh SYNOPSIS
+.Nm
+.Op Fl d Ar destination
+.Op Fl g Ar gateway
+.Op Fl h Ar hops
+.Op Fl i Ar interface
+.Op Fl m Ar maxhops
+.Op Fl n
+.Op Fl r Ar response_addr
+.Op Fl w Ar waittime
+.Ar source
+.Ar group
+.Sh DESCRIPTION
+.Nm
+utilizes a tracing feature implemented in multicast routers that is
+accessed via an extension to the MLD protocol. A trace query is
+passed hop-by-hop along the reverse path from the
+.Ar destination
+to the
+.Ar source ,
+collecting hop addresses, packet counts, and routing error conditions
+along the path, and then the response is returned to the requestor.
+.Sh OPTIONS
+.Bl -tag -width Ds
+.It Fl d Ar destination
+Specifies the multicast receiver that the query wants to trace.
+It is the host running
+.Nm mtrace6
+by default.
+.It Fl g Ar gateway
+Send the trace query via unicast directly to the multicast router
+.Ar gateway .
+The unicast router must be the last-hop router on the path from the
+intended source to the receiver.
+.Ar gateway
+can also be a multicast address that the last hop router joins.
+.It Fl h Ar hops
+Set
+.Ar hops
+to the IPv6 hop limit field of query packets. The default is 64.
+.It Fl i Ar interface
+Specifies the local interface (on a multi-homed host) for sending
+the trace query and as the default for the receiver and the response
+destination.
+.It Fl m Ar maxhops
+Set to
+.Ar maxhops
+to the maximum number of hops that will be traced from the receiver
+back toward the source. The default is 127 hops.
+.It Fl n
+Print hop addresses numerically rather than symbolically and numerically
+(saves a nameserver address-to-name lookup for each router found on
+the path).
+.It Fl r Ar response_addr
+Specify the host that the trace response sends to.
+By default, the response will send to the host running
+.Nm mtrace6 .
+.It Fl w Ar waittime
+Set the time to wait for a trace response to 
+.Ar waittime
+seconds. The default is 3 seconds.
+.El
+.Sh SEE ALSO
+.Xr pim6dd 8 ,
+.Xr pim6sd 8 ,
+.Xr mtrace 8
+.Sh BUGS
+Multicast trace for IPv6 is experimental. MLD types for query and
+response, and packet format are not officially defined.
+.Pp
+.Ar waittime
+specified by the
+.Fl w
+option is currently meaningless.
+.Sh HISTORY
+The
+.Nm mtrace6
+command first appeared in WIDE/KAME IPv6 protocol stack kit.
diff -r b3f7e94f03a8 -r 00341537ba41 usr.sbin/mtrace6/mtrace6.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.sbin/mtrace6/mtrace6.c        Fri Jan 28 19:32:43 2000 +0000
@@ -0,0 +1,683 @@
+/*     $NetBSD: mtrace6.c,v 1.1 2000/01/28 19:32:54 itojun Exp $       */
+
+/*
+ * Copyright (C) 1999 WIDE Project.
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the project nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <sys/select.h>
+
+#include <net/if.h>
+#if defined(__FreeBSD__) && __FreeBSD__ >= 3
+#include <net/if_var.h>



Home | Main Index | Thread Index | Old Index