Project

General

Profile

LSDB DataSet

LSDB datasets are published in the namespace /$ROUTER_NAME/lsdb/:

LSAs

All LSAs have 3 fields in common represented by an LsaInfo block:

LsaInfo := LSA-TYPE TLV-LENGTH
             OriginRouter
             SequenceNumber
             ExpirationPeriod?

OriginRouter := ORIGIN-ROUTER-TYPE TLV-LENGTH
                  Name

SequenceNumber := SEQUENCE-NUMBER-TYPE TLV-LENGTH
                    nonNegativeInteger

ExpirationPeriod is the remaining lifetime of an LSA or omitted if it's infinity.

Adjacency LSAs

All Adjacency LSAs in the LSDB are published as a Status Dataset at /$ROUTER_NAME/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.

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.

NameLsa := NAME-LSA-TYPE TLV-LENGTH
             LsaInfo
             Name*

TLV-TYPE assignments

Type Assigned value Assigned value (hex)
LsaInfo 128 0x80
OriginRouter 129 0x81
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
ExpirationPeriod 139 0x8B
Cost 140 0x8C
Uri 141 0x8D