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 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 Status Dataset at /$ROUTER_NAME/lsdb/coordinates and /localhost/lsdb/coordinates.
CoordinateLsa := COORDINATE-LSA-TYPE TLV-LENGTH
LsaInfo
HyperbolicRadius
HyperbolicAngle+
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 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 for other assignments.
Updated by Alexander Lane 5 months ago · 17 revisions