What are TLVs?
=== – The acronym TLV stands for ”’Tag”’, ”’Length”’ and ”’Value”’. It’s a way to encode a piece of information with a type, a length followed by the information itself. Two points must be known : – * The ”’Value”’ part may contents other ”’TLVs”’. One can see ”’TLVs”’ as C structures, that can contain sub-structures. – * The ”’Length”’ part may not give the ”’Value”’ length : it is called an indefinite ”’Length”’. Whatever, in this – not so frequent – case, the ”’Value”’ must end with a specific terminator. – === A quick sample === – Let’s begin with a simple example, without too many explanations. This is the ”’PDU”’ (”’P”’acket ”’D”’ata ”’U”’nit) of a ”’BindRequest”’ : – – attachment:TLVs.png – – We can see in this picture that you have what I called a first level TLV. It encapsulates other TLVs. It’s basically a stream of bytes. – – ==== Tag ==== – Each ”’Tag”’ contains information about the ”’Value”’ part of the ”’TLV”’. It tells if the ”’Value