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 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 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 Status Dataset at /$ROUTER_NAME/lsdb/names
and /localhost/lsdb/names
NameLsa := NAME-LSA-TYPE TLV-LENGTH
LsaInfo
Name*
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 |
(See Routing Table Dataset for other assignments: https://redmine.named-data.net/projects/nlsr/wiki/Routing_Table_Dataset)
Updated by Ashlesh Gawande over 4 years ago · 13 revisions