[ANN] Multi-Level namespaces

Arran Cudbard-Bell a.cudbardb at freeradius.org
Thu Nov 26 19:16:23 CET 2020

Multi-level namespaces were just merged into the master branch.
 If you're building from master and using nested attributes, structures, or vendor specific
attributes, this will effect the way you reference those attributes.

This work removes the dictionary specific namespace attributes were inserted into and 
uses attribute specific namespaces.

These attribute specific namespaces contain the direct decedents of a given VSA, TLV, 
or Vendor attribute. 


# Previous referencing scheme

	if (&Cisco-AvPair)

# New referencing scheme

	if (&Vendor-Specific.Cisco.AvPair)

- Vendor-Specific (Attribute 26, VSA) is located in the top level namespace for the RADIUS dictionary.
- Cisco (PEN 9, Vendor) is located in the Vendor-Specific namespace.
- AvPair (Attribute 1, string) is located in the Cisco namespace.

We will likely be adding aliases for the vendors so that they're accessible from the root, and 
for some common nested attributes to make the new syntax less unwieldily, but in all cases the
way vendor attributes and TLVs are referenced will change.

The primary reason for the new name-spacing scheme was that grouped attributes require both the 
group attribute and its child attribute to be specified.  

In many cases the parent and child had a lengthy prefix to uniquely identify them in the global 
namespace, combining these attributes in a reference string lead to obscenely large references
which were very hard to follow.

DHCPv4 is the next protocol to be reworked for these changes.  Expect to see the "DHCP-" prefix
removed from the DHCPv4 dictionaries in the next couple of weeks.

If you want to add your own aliases before the official ones are added, the syntax is:
	 ALIAS <name> <OID>

It will need to be used inside a BEGIN-PROTOCOL block if you're making the changes in raddb/dictionary.


Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS Development Team

FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2

More information about the Freeradius-Devel mailing list