LSDB DataSet » History » Revision 17
Revision 16 (Davide Pesavento, 05/09/2025 04:56 PM) → Revision 17/17 (Alexander Lane, 05/19/2025 02:53 PM)
# LSA TLV encoding for NLSR-to-NLSR and NLSR-to-NLSRC (LSDB DataSet) communication
LSDB datasets are published in the namespace `/$ROUTER_NAME/lsdb` and `/localhost/lsdb`.
## LSAs
All LSAs have 3 fields in common represented by an **LsaInfo** block:
LsaInfo := LSA-TYPE TLV-LENGTH
Name
SequenceNumber
ExpirationTime
SequenceNumber := SEQUENCE-NUMBER-TYPE TLV-LENGTH
NonNegativeInteger
ExpirationTime(Point) is the time according to the sender when the LSA will expire.
Additionally, all three utilize the following encoding for double-precision floating point numbers in differing fields:
Double := DOUBLE-TYPE TLV-LENGTH(=8)
double-precision floating-point number in binary64 format as defined in IEEE 754
## Adjacency LSAs
All Adjacency LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/adjacencies` and `/localhost/lsdb/adjacencies`.
AdjacencyLsa := ADJACENCY-LSA-TYPE TLV-LENGTH
LsaInfo
Adjacency+
Adjacency := ADJACENCY-TYPE TLV-LENGTH
Name
Uri
Cost
Cost := COST-TYPE TLV-LENGTH
Double
## Coordinate LSAs
All Coordinate LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/coordinates` and `/localhost/lsdb/coordinates`.
CoordinateLsa := COORDINATE-LSA-TYPE TLV-LENGTH
LsaInfo
HyperbolicRadius
HyperbolicAngle+
Double := DOUBLE-TYPE TLV-LENGTH(=8)
double-precision floating-point number in binary64 format as defined in IEEE 754
HyperbolicRadius := HYPERBOLIC-RADIUS-TYPE TLV-LENGTH
Double
HyperbolicAngle := HYPERBOLIC-ANGLE-TYPE TLV-LENGTH
Double
## Name LSAs
All Name LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names` and `/localhost/lsdb/names`.
NameLsa := NAME-LSA-TYPE TLV-LENGTH
LsaInfo
PrefixInfo*
PrefixInfo := PREFIX-INFO-TYPE TLV-LENGTH
Name
Cost
Cost := COST-TYPE TLV-LENGTH
Double
## TLV-TYPE assignments
Type | Assigned value | Assigned value (hex)
------------------------------------------- | ----------------- | --------------------
LsaInfo | 128 | 0x80
SequenceNumber | 130 | 0x82
AdjacencyLsa | 131 | 0x83
Adjacency | 132 | 0x84
CoordinateLsa | 133 | 0x85
Double | 134 | 0x86
HyperbolicRadius | 135 | 0x87
HyperbolicAngle | 136 | 0x88
NameLsa | 137 | 0x89
LsdbStatus | 138 | 0x8A
ExpirationTime | 139 | 0x8B
Cost | 140 | 0x8C
Uri | 141 | 0x8D
PrefixInfo | 146 | 0x92
See [[Routing_Table_Dataset|Routing Table Dataset]] for other assignments.