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>