Attribute Data Types

Basic RADIUS attribute types are defined in RFC 2865 (http://tools.ietf.org/html/rfc2865).

The table below (Basic RADIUS Attribute Types) illustrates the basic RADIUS attribute types and their formats, as defined in RFC 2865.

Table 1. Basic RADIUS Attribute Types
Attribute Type Format

integer

an unsigned 32-bit integer

ipaddr

an IPv4 address

date

a Unix timestamp in seconds since January 1, 1970 GMT

string

a variable-length string field

New RADIUS attribute types have been defined since the original implementation and standardization. The string type was originally used for both binary and printable text strings; the standards now distinguish them as string and text, respectively. Since FreeRADIUS was written before those updates were made, it uses octets to describe binary data and string to describe printable text strings. There is no conflict with the specifications, however, as the dictionary format and type names are not standardized. Similarly, RFC 2865 calls the "IPv54 Address" type as address, but all common RADIUS implementations use ipaddr instead.

A vendor-specific type abinary was originally defined by Ascend, extended by Juniper, and is rarely supported by other NAS vendors. Its is represented as a binary-packed data structure, but it is presented to the administrator as a textual string. Its format is complicated enough that it is described separately below. For additional details, please consult the NAS documentation.

The ifid, ipv6addr, ipv6prefix data types are defined in RFC 3162 and refer to IPv6 Interface ID, address, and prefix..

Finally, version 2 of FreeRADIUS extends the type space by adding byte and short types, which are single-byte and two-byte integers, with respective values 0 to 255 and 0 to 65535. These types are rarely used in practice, but they are convenient to have for the few VSAs that require them.

The table below ([T3]) lists attribute types and their formats.

Table 2. RADIUS Attribute Types
Type Format Notes

integer

unsigned 32-bit integer

ipaddr

IPv4 address

date

Unix timestamp in seconds since January 1, 1970 GMT

string

Variable-length string field

Used by FreeRADIUS for printable text strings

octet

Variable-length string field

Used by FreeRADIUS for binary data

ifid

IPv6 interface ID

ipv6addr

IPv6 address

ipv6prefix

IPv6 prefix

byte

Single-byte integer

Added in FreeRADIUS v2.0.

Values between 0 - 255

short

Two-byte integer

Added in FreeRADIUS v2.0

Values between 0 - 65535

Added in FreeRADIUS v3.0

integer64, 8-byte integer