OpenRG is implemented as a single-thread-single-process, named "openrg". Its main logic is handled by Main Task, which provides all of OpenRG's functionality, except for the actual data path, which is the kernel's responsibility. Once the data path is established, Main Task monitors the data flow.
Some of Main Task's responsibilities are servicing the network with IP addresses using the DHCP server, answering DNS queries, reconfiguring system-wide settings, creating HTML pages for the Web-based management, and more.