The PROTOCOL keyword
PROTOCOL <name> <number> [<option>[,<option>...]]
The PROTOCOL keyword defines a new top-level protocol, such as
RADIUS or DHCPv4.
- <name>
-
The name of the protocol.
- <number>
-
The number of the protocol.
The FreeRADIUS developers assign the protocol numbers. The protocol numbers have no meaning outside of FreeRADIUS.
- <option>
-
One option, or a comma-separated list of options. Every option takes a value, written as
<option>=<value>.format=<length>-
The size in octets of the 'type' field in each attribute of the protocol.
format=string-
The protocol identifies each attribute by name instead of by number. Terminal Access Controller Access-Control System Plus (TACACS+) is one such protocol.
pool=<size>-
The size of the memory pool that FreeRADIUS allocates for the protocol dictionary, before FreeRADIUS reads any attribute of the protocol. The default is
2MiB. When the protocol dictionary needs more memory than the pool holds, the protocol dictionary still loads, but loads more slowly. To setpoolfrom a measurement, runradict -P <percent>. radict measures the memory that each protocol dictionary uses, then setspoolon thePROTOCOLline of the dictionary to the measured size plus <percent> percent.Set
poolonly on the firstPROTOCOLline for a protocol. FreeRADIUS allocates the pool when FreeRADIUS reads the firstPROTOCOLline for the protocol. A laterPROTOCOLline for the same protocol that setspoolcauses an error, because the pool already exists. verify=lib-
The protocol dictionary fails to load when FreeRADIUS cannot load the dynamic library
libfreeradius-<name>.FreeRADIUS tries to load
libfreeradius-<name> for every protocol, with <name> in lower case. The library holds functions that verify the contents of the protocol dictionary. Withoutverify=lib, the protocol dictionary loads even when the library is missing.
Only the FreeRADIUS developers should use the PROTOCOL keyword. This
page documents the PROTOCOL keyword for completeness.
PROTOCOL RADIUS 1 verify=lib PROTOCOL VMPS 6 format=2 PROTOCOL Example 200 verify=lib,pool=4MB