ARMain is the daemon program that acts as the PLAN active router. Currently, ARMain is written in Java, but plans are to also have a version written in OCaml. The current documentation reflects the java dependency.
ARMain currently receives and transmits ANEP packets [1] using UDP/IP as its transport mechanism. Essentially, ARMain listens to its incoming UDP port and evaluates any ANEP packets that are of the PLAN variety. Any packets which are generated as a result of this evaluation are sent to their respective hosts. ARMain allows network virtualization in that multiple daemons may run on the same host, differentiated by their incoming port. To set up its routing tables dynamically, ARMain utilizes the SLRP service [4].
ARMain may be used in conjunction with the ANEP demultiplexer process, ANEPd. See the ANEPd documentation [3] for more. ARmain may also be used in an ANON [2].
For a tutorial on using the router (and the injector) please refer to the PLAN tutorial [6]; for more detailed information, please refer to the PLAN Programmer's Guide [5].