Download Latest Version xcast6-0.2.1-1-freebsd-sys-6.4.diff.gz (21.3 kB)
Email in envelope

Get an email when there's a new version of XCAST over IPv6

Name Modified Size InfoDownloads / Week
Parent folder
xcast6-lib.tar.gz 2001-08-21 11.5 kB
README.txt 2001-08-21 3.3 kB
xcast6-usr-sbin.tar.gz 2001-08-21 36.5 kB
xcast6-sys-1-5-1.diff.gz 2001-08-21 23.0 kB
Totals: 4 Items   74.3 kB 0
XCAST6/NetBSD README (pre-alpha version)

* Installation

1. Install NetBSD-1.5.1 to your machine.  
   See http://www.netbsd.org/Documentation/ for detailed setup instruction.
   Don't forget to install the kernel sources, since it's required
   to build a XCAST6-enabled kernel.

2. Build XCAST6-enabled kernel.
   2-1. Apply the XCAST6 kernel patch for the kernel sources.
	For example:
	  cd /usr/src/sys
	  gzip -dc /path/to/xcast6-sys-1-5-1.diff.gz | patch -p2
   2-2. Configure the kernel.
	See http://www.netbsd.org/Documentation/kernel/#how_to_build_a_kernel
	for details.
	A sample configuration file is
	/usr/src/sys/arch/i386/conf/GENERIC_XCAST6.
	Don't forget to include these 2 lines in the configuration file:
	      options		XCAST6
	      pseudo-device	xcst	1
   2-3. Install the kernel and boot the machine with it.

3. Install the xcast6.h header file to /usr/include/netinet6.
   For example:
     cp /usr/src/sys/netinet6/xcast6.h /usr/include/netinet6

4. Build and install the libxcast library.
   For example:
     tar zxvf /path/to/xcast-lib.tar.gz
     cd xcast6-lib/libxcast
     make
     make install

5. Copy the libxcast.h header file to /usr/include.
   For example:
     cp /path/to/xcast6-lib/libxcast/libxcast.h /usr/include

6. Build and install ping6x and traceroute6x.
   For example:
     tar zxvf /path/to/xcast6-usr-sbin.tar.gz
     cd xcast6-usr.sbin/ping6x; make
     make BINDIR=/usr/sbin install

     cd ../traceroute6x; make
     make BINDIR=/usr/sbin install

     (You must specify BINDIR=/usr/sbin on installing the executables,
      unless the executables are installed in the root directory.
      It's a bug of XCAST6/NetBSD and should be fixed.)


* Setup

1. Configure your machine as a normal IPv6 host or a normal IPv6 router
   if the host should act as a router.  
   See http://www.netbsd.org/Documentation/network/ipv6/#configuration_files
   and set up /etc/rc.conf.

2. Run the following shell script after setting the "baseif" variable
   to an appropriate network interface of the machine. The value set 
   in "baseif" variable is used to set a default source IPv6 address 
   of XCAST6 packets.

   --------- from here --------
   #! /bin/sh

   baseif=tlp0
   xcstif=xcst0

   xcast6rt=ff05::10

   baseaddr=`ifconfig $baseif | grep inet6 | grep -v 'inet6 fe80' | head -1 |
	awk '{print $2}'`

   ifconfig $xcstif inet6 $baseaddr prefixlen 128

   linklocal=`ifconfig $xcstif | grep inet6 | grep 'inet6 fe80' | head -1 |
        awk '{print $2}'`

   route add -inet6 $xcast6rt $linklocal
   -------- end  here --------

   You can put these commands in a file like /usr/local/etc/xcast6-setup.sh
   and let it run from /etc/rc.local.


* Test Programs
  - /usr/sbin/ping6x, /usr/sbin/traceroute6x

    Command syntax:
      /usr/sbin/ping6x host0,host1,host2,...,hostN [N-th]
    or
      /usr/sbin/traceroute6x host0,host1,host2,...,hostN [N-th]

    The destinations are specified as host0,host1,host2,...,hostN.
    Only the <N-th> host replies by ICMPv6, while other hosts never reply
    for packets sent by ping6x or traceroute6x.  You can use these command
    to diagnose the reachability to the <N-th> host in the destinations
    and to list up the route to the <N-th> host.
Source: README.txt, updated 2001-08-21