Question re. rfc6929 - examples section 9.1

Alan DeKok aland at deployingradius.com
Fri Jul 10 13:49:27 CEST 2020


On Jul 10, 2020, at 7:36 AM, <robert.stannard at bt.com> <robert.stannard at bt.com> wrote:
> could you please confirm my understanding from below,
> 
> 
> 241.2 { 1 23 45 }
>       -> f1 07 02 01 04 23 45
> 
> ?
> 
> would the dictionary entry for this example be,
> 
> 
> 241.2      some-dictionary-entry tlv
> 
> 241.2.1    some-sub-entry integer (for example representing data 23 and 45)

  Well, a 16-bit value, likely octets.  RFC 6929 forbids 16-bit integers in RADIUS.

> this is an example of a tlv-data type encapsulated within an Extended-Type (241)

  241.2 has data type "tlv".
  241.2.1 has data type "octets"

  The "tlv-data" is not a data type.  It's just a way to refer *generically* to the contents of a TLV.  Which could be in reality almost any data type.

  We use "tlv-data" as a place-holder name.  Previous RFCs referred to it as "Data" or "Value".  But "Data" and "Value" were used many times in many different contexts, to mean different things.  So in order to distinguish between them, we switched to using qualified names.

  e.g. "TLV-Data" is data which is inside of a TLV.  That's pretty unambiguous.

> but you could also define a tlv-type as in dictionary rfc6930 - which uses a type from the standard attributes list
> 
> 173   IPv6-6rd-Configuration      tlv
> 173.1 IPv6-6rd-IPv4MaskLen        integer
> 173.2 IPv6-6rd-Prefix             ipv6prefix
> 173.3 IPv6-6rd-BR-IPv4-Address    ipaddr

  The dictionaries use the data types defined in RFC 8044 (mostly).  *No* dictionary will ever use "TLV-Type" to define an attribute.

  Alan DeKok.




More information about the Freeradius-Users mailing list