Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 2015 16:30:38 GMT
From:      roam@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r290034 - soc2015/roam
Message-ID:  <201508211630.t7LGUcCu064529@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: roam
Date: Fri Aug 21 16:30:37 2015
New Revision: 290034
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290034

Log:
  Document different modes of testing.

Modified:
  soc2015/roam/README.txt

Modified: soc2015/roam/README.txt
==============================================================================
--- soc2015/roam/README.txt	Fri Aug 21 16:25:26 2015	(r290033)
+++ soc2015/roam/README.txt	Fri Aug 21 16:30:37 2015	(r290034)
@@ -44,8 +44,8 @@
 so on, without interfering with the operation of the node.
 
 
-Building ng_ayiya
------------------
+Building ng_ayiya from source
+-----------------------------
 
 Building the AYIYA Netgraph node should be straightforward: obtain a copy of
 the source tree, change into the ng_ayiya/ subdirectory (the one containing
@@ -58,46 +58,60 @@
 If you'd like to install it into the system's kernel modules directory, run:
 
   make install
+  
 
+Building ng_ayiya, aiccu and Net-SixXS from the ports
+-----------------------------------------------------
 
-Using ng_ayiya
---------------
+This project includes FreeBSD ports for the AYIYA Netgraph node, the modified
+verison of the SixXS AICCU tool, and some additional testing tools.
+To use them, follow this procedure:
 
-Bringing up an IPv6 tunnel using the AYIYA Netgraph node involves
-the following steps:
+1. Obtain a copy of the source tree.
 
-1. Use the sixxs-aiccu utility to make sure that your SixXS tunnel is active
-   and there are no network connectivity issues in running AYIYA.
+2. Change to the ports/ subdirectory.
+
+3. Run the update.pl tool to modify your existing ports collection (residing
+   in /usr/ports/), adding symlinks to the new ports and rsync'ing the aiccu
+   one for the changes.
+
+4. Build the Net-SixXS helper tools:
+
+   cd /usr/ports/net/p5-Net-SixXS && sudo make && sudo make install
+
+5. Build the ng_ayiya tool:
 
-2. Get the Net-SixXS Perl distribution from its Git repository:
+   cd /usr/ports/net/ng_ayiya && sudo make && sudo make install
 
-   git clone https://gitlab.com/ppentchev/Net-SixXS.git
+6. Build the SixXS AICCU tool with Netgraph support:
 
-3. Build and optionally install Net-SixXS:
+   cd /usr/ports/net/sixxs-aiccu
+   sudo make config   # enable the NETGRAPH option
+   sudo make && sudo make install
 
-   cd Net-SixXS
-   perl Build.PL
-   ./Build
-   ./Build test
 
-   # If you'd like to install Net-SixXS system-wide, do this as root:
-   ./Build install
+Using ng_ayiya by itself
+------------------------
+
+Bringing up an IPv6 tunnel using the AYIYA Netgraph node involves
+the following steps:
+
+1. Use the sixxs-aiccu utility to make sure that your SixXS tunnel is active
+   and there are no network connectivity issues in running AYIYA.
+
+2. Make sure the p5-Net-SixXS toolset is installed (see the previous section).
 
-4. Use the sixxs-tic-tunnels tool from Net-SixXS to obtain information about
+3. Use the sixxs-tic-tunnels tool from Net-SixXS to obtain information about
    your configured SixXS tunnels in a format usable by ng_ayiya's testing
    infrastructure:
 
-   # If you have installed Net-SixXS system-wide:
    sixxs-tic-tunnels -s tic.sixxs.net -f /usr/local/etc/aiccu.conf > tic-tunnels.txt
 
-   # If you have only built it and are still within the Net-SixXS directory:
-   perl -Iblib/lib scripts/sixxs-tic-tunnels -s tic.sixxs.net -f /usr/local/etc/aiccu.conf > tic-tunnels.txt
+4. Copy the tic-tunnels.txt file to the ng_ayiya source directory.
 
-5. Copy the tic-tunnels.txt file to the ng_ayiya source directory.
+5. Change into the ng_ayiya source directory (the one containing ng_ayiya.c)
 
-6. Change into the ng_ayiya source directory (the one containing ng_ayiya.c)
-
-7. Build ng_ayiya:
+6. Build ng_ayiya:
 
    make cleandir && make cleandir
 
@@ -107,25 +121,25 @@
    make depend
    make
 
-8. Load the kernel module and create an AYIYA node:
+7. Load the kernel module and create an AYIYA node:
 
    make down     # or make teardown
    make up       # or make setup
 
-9. Check to see that the AYIYA node is loaded properly; these commands
+8. Check to see that the AYIYA node is loaded properly; these commands
    should report that it has not been configured yet and it has no hooks:
 
    sudo ngctl list
    sudo ngctl status sc_ayiya:
    sudo ngctl config sc_ayiya:
  
-10. Use the testing scaffold to create a simple graph and connect to your
-    SixXS tunnel; replace "T22928" with the name of your tunnel as listed
-    in the tic-tunnels.txt file:
+9. Use the testing scaffold to create a simple graph and connect to your
+   SixXS tunnel; replace "T22928" with the name of your tunnel as listed
+   in the tic-tunnels.txt file:
 
    make tic TIC_TUNNEL=T22928
 
-11. Check that your tunnel is up and running:
+10. Check that your tunnel is up and running:
 
    sudo ngctl status sc_ayiya:
    sudo ngctl config sc_ayiya:
@@ -141,10 +155,52 @@
    curl -6s http://www.kame.net/ | fgrep -e 'Dancing kame'
 
 
-To-do list
-----------
+Using SixXS aiccu with Netgraph support
+---------------------------------------
+
+To use the SixXS aiccu tool with Netgraph support to bring up a SixXS
+tunnel, build it from its port as per the "Building from ports" section
+above, then start it.  It should connect to the SixXS TIC server normally,
+obtain information about your tunnels, then configure an ng_ayiya node
+and its requisite ng_ksocket and ng_iface nodes, and set them up for
+traffic to flow.
+
+
+Using SixXS aiccu for a local testing tunnel against ng_ayiya
+-------------------------------------------------------------
+
+The top-level Makefile in this source distribution contains a target
+allowing you to use the included ayiya_listen and ayiya_resp tools to
+set up an AYIYA server for aiccu to connect to.  To do that, follow these
+steps:
+
+1. On the client, update the aiccu.conf file to point to the local host
+   as the TIC server ("server 127.0.0.1").
+
+1. On the client, set up a tic-tunnels.txt file with the server's IPv4
+   address in the 'IPv4 POP' field, and the client's and the server's IPv6
+   addresses respectively in the 'IPv6 Endpoint' and 'IPv6 POP' fields.
+
+2. On the client, start Net-SixXS's TIC server emulation:
+
+   sixxs-tic-server -f /usr/local/etc/aiccu.conf -t tic-tunnels.txt -v
+
+3. On the server, set up a tic-tunnels.txt file with the 'Endpoint' and
+   'POP' fields swapped for IPv6; the IPv4 fields do not matter.
+
+4. On the server, start the AYIYA server simulation by issuing this
+   command in the project's top-level directory:
+
+   make ayiya-server TUNNELSFILE=tic-tunnels.txt LISTENADDR=n.n.n.n
+
+   ...where n.n.n.n is the server's IPv4 address, the one specified in
+   the client's 'IPv4 endpoint' field.
+
+5. On the client, start aiccu with the modified config file, so that it
+   will query the local TIC server and the latter would supply data about
+   the local testing tunnel:
 
-- finish the Net-SixXS Perl distribution (mostly documentation) and
-  release it to CPAN
+   sudo sixxs-aiccu start /usr/local/etc/aiccu.conf
 
-- teach sixxs-aiccu about ng_ayiya
+Now there should be diagnostic messages on the server side saying that
+a tunnel has been established and a heartbeat message has been received.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508211630.t7LGUcCu064529>