LSDB DataSet » History » Revision 15
Revision 14 (Alexander Lane, 04/28/2025 03:15 PM) → Revision 15/17 (Alexander Lane, 04/29/2025 08:15 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.
## 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
## 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
## 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 for other assignments: https://redmine.named-data.net/projects/nlsr/wiki/Routing_Table_Dataset)