socsvn commit: r290034 - soc2015/roam
roam at FreeBSD.org
roam at FreeBSD.org
Fri Aug 21 16:30:39 UTC 2015
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.
More information about the svn-soc-all
mailing list