Project

General

Profile

Actions

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 almost 4 years ago · 13 revisions