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-0.0.2-fix2-vic-2.8ucl-1.1.3.diff.gz 2001-12-04 232.1 kB
xcast6-0.0.2-fix1-rat-4.2.20.diff.gz 2001-11-14 19.5 kB
xcast6-setup.sh.gz 2001-10-17 177 Bytes
xcast6-0.0.2-xcgroup.tar.gz 2001-10-17 208.1 kB
xcast6-0.0.2-usr.sbin.tar.gz 2001-10-17 36.6 kB
xcast6-0.0.2-netbsd-sys-1.5.2.diff.gz 2001-10-17 25.5 kB
xcast6-0.0.2-lib.tar.gz 2001-10-17 11.9 kB
xcast6-0.0.2-README.txt 2001-10-17 5.3 kB
Totals: 8 Items   539.1 kB 0
XCAST6/NetBSD README (0.0.2, pre-alpha version)

* Installation

1. Install NetBSD-1.5.2 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-0.0.2-netbsd-sys-1.5.2.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/xcast6-0.0.2-lib.tar.gz
     cd xcast6-lib/libxcast
     make
     su root -c '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-0.0.2-usr.sbin.tar.gz
     cd xcast6-usr.sbin
     make
     su root -c 'make install'

* 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.

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

   xcstif=xcst0
   xcast6rt=ff05::10

   ifconfig $xcstif up

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

   route add -host -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.


* Application Programs

  - vic
    1. Download and extract vic-2.8ucl-1.1.3.tar.gz.
       You can download it from:
	http://www-mice.cs.ucl.ac.uk/multimedia/software/vic/

    2. Apply the XCAST6 patch for vic.
       For example:
	 cd vic-2.8ucl-1.1.3
	 gzip -dc /path/to/xcast6-0.0.2-vic-2.8ucl-1.1.3.diff.gz | patch -p1

    3. Configure & make & install.
       For example:
	 cd common.new; sh configure --enable-ipv6; make; cd ..
	 cd tcl-8.0/unix; sh configure; make; cd ../..
	 cd tk-8.0/unix; sh configure; make; cd ../..
	 cd vic
	 env LIBS='-Wl,-rpath,/usr/X11R6/lib' sh configure --enable-ipv6
	 make; su root -c 'make install'

       Note:
         You must use "common.new" directory instead of "common" directory
	 for XCAST6-patched vic.  "common" directory is not needed for XCAST6.

    4. Run vic.
       For example:
         vic -n xcast6 host1,host2,host3/11000

       You can specify the destinations with ',' (comma) separated 
       IPv6 addresses and hostnames instead of the group multicast address.

       Note for MDO6 users:
       As you can see, command-line options are changed from vic/MDO6.
       You should explicitly specify the network type "xcast6" with -n 
       option.

  - rat
    1. Download and extract rat-4.2.20.tar.gz.
       You can download it from:
	http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/

    2. Apply the XCAST6 patch for rat.
       For example:
	 cd rat-4.2.20
	 gzip -dc /path/to/xcast6-0.0.2-rat-4.2.20.diff.gz | patch -p1

    3. Configure & make & install.
       For example:
	 cd common; sh configure --enable-ipv6; make; cd ..
	 cd tcl-8.0/unix; sh configure; make; cd ../..
	 cd tk-8.0/unix; sh configure; make; cd ../..
	 cd rat
	 env LIBS='-Wl,-rpath,/usr/X11R6/lib' sh configure --enable-ipv6
	 make; su root -c 'make install'

    4. Run rat.
       For example:
         rat host1,host2,host3/11111

       You can specify the destinations with ',' (comma) separated 
       IPv6 addresses and hostnames instead of the group multicast address.

       Notes:
       - NetBSD audio support is not perfect yet.  Volume setting
	 might not work.
	 You can use the "mixerctl" program to set play / record volumes
	 as follows:
		mixerctl -w inputs.mic.preamp=on	# mic. preamp
		mixerctl -w inputs.dac=200	# play (PCM) volume
		mixerctl -w outputs.master=200	# master play volume
		mixerctl -w inputs.mic=100	# record volume

  - xcgroup
    xcgroup is not an XCAST6-enabled software but a support software
    that provides control plane of XCAST6 datagram delivery system.
    See README.XCAST6 in xcast6-0.0.2-xcgroup.tar.gz for installation and
    usage.
Source: xcast6-0.0.2-README.txt, updated 2001-10-17