socsvn commit: r285758 - soc2015/roam

roam at FreeBSD.org roam at FreeBSD.org
Wed May 20 19:07:44 UTC 2015


Author: roam
Date: Wed May 20 19:07:42 2015
New Revision: 285758
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=285758

Log:
  Add a simple project description for ng_ayiya.

Added:
  soc2015/roam/
  soc2015/roam/README.txt

Added: soc2015/roam/README.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2015/roam/README.txt	Wed May 20 19:07:42 2015	(r285758)
@@ -0,0 +1,44 @@
+ng_ayiya - a SixXS IPv6 tunnel broker AYIYA Netgraph node
+=========================================================
+
+Student: Peter Pentchev (roam@)
+Mentor: Bjoern A. Zeeb (bz+soc@)
+
+Project description
+-------------------
+
+Implement a netgraph node that connects to a netgraph kernel socket node and
+a netgraph interface node and understands enough of the AYIYA protocol to
+pass packets back and forth.  Use a control connection to user space to
+handle all other signalling.  Adjust the sixxs-aiccu implementation and add
+the netgraph implementation as an option for the FreeBSD port.
+
+The goal of this project is to create a Netgraph node that acts as a link
+between a socket (TCP, UDP, SCTP, ...) connection to an AYIYA server
+(for a start, the SixXS POPs) and a local network interface (for a start,
+one that can route IPv6 traffic).  The operation of the node should be
+controlled via a Netgraph socket (the usual way of letting a kernel Netgraph
+node communicate with a userland program) by higher-level tunnel negotiation
+software like SixXS's AICCU.  The scope of the project also includes
+the necessary changes to SixXS's AICCU software to use the Netgraph
+framework instead of tunneling the packets by itself, as it does in its
+standard mode of operation.
+
+The initial design of the Netgraph node is as follows:
+- a "ayiya" hook to a ng_ksocket node for the "uplink" connection to the
+  AYIYA POP of the tunnel broker
+- an "inet6" hook to a ng_iface node
+- a "control" hook to a ng_socket node for configuration from userland
+- a "secrethash" control message to set the pre-hashed shared secret for
+  the AYIYA protocol, so that the node need not know the actual secret
+- possibly more control messages to set the node's mode of operation in
+  additional ways (possibly reconnect to the AYIYA POP by itself, etc.)
+- possibly two-way data communication with the userland utility through
+  the control hook for e.g. responding to AYIYA queries, passing on
+  the POP's message of the day, etc.
+
+The hook names should either be the exact strings "ayiya", "control" and
+"secret" or strings that start with those tags followed by a slash ("/") and
+additional data that the node will ignore.  This allows the administrator or
+the userland utility to keep more information for clarity, documentation and
+so on, without interfering with the operation of the node.


More information about the svn-soc-all mailing list