Reference Documentation
There are small number of high-level concepts associated with the server, as outlined below.
-
Unlang syntax
-
Dictionary where attribute names and data types are defined
-
Data Types in the server
-
Dynamic expansions i.e. "xlat"s.
The server includes a large number of configuration files. These files are automatically converted to HTML for the on-line documentation.
During normal operation, the server receives packets of information from the network. Data in the packets is usually encoded in pre-defined "attributes" (RADIUS), or "options" (DHCP). The definitions are loaded from dictionary files.
These definitions are strongly typed. That is, each attribute has a pre-defined data type. For example, an attribute "Framed-IP-Address" has data type ipaddr.
Packets are processed via the Unlang policy language. Policies allow the server to read information in databases, perform if / then / else checks, add content to replies, along with many other actions.
When processing packets, it is possible to call functions or do string manipulation with attribute contents. The dynamic expansion documentation describes how this is done.