LSDB DataSet » History » Revision 12
Revision 11 (Laqin Fan, 12/20/2017 01:52 PM) → Revision 12/13 (Ashlesh Gawande, 04/25/2020 03:53 PM)
# LSA TLV encoding for NLSR-to-NLSR and NLSR-to-NLSRC (LSDB DataSet) communication LSDB DataSet ======= LSDB datasets are published in the namespace `/$ROUTER_NAME/lsdb/` and `/localhost/lsdb`: `/$ROUTER_NAME/lsdb/`: ## LSAs All LSAs have 3 fields in common represented by an **LsaInfo** block: LsaInfo := LSA-TYPE TLV-LENGTH Name OriginRouter SequenceNumber ExpirationTime ExpirationPeriod? OriginRouter := ORIGIN-ROUTER-TYPE TLV-LENGTH Name SequenceNumber := SEQUENCE-NUMBER-TYPE TLV-LENGTH nonNegativeInteger ExpirationTime(Point) ExpirationPeriod is the time according to the sender when the remaining lifetime of an LSA will expire. or omitted if it's infinity. ## 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` `/$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 [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/coordinates` and `/localhost/lsdb/coordinates` `/$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 [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names` and `/localhost/lsdb/names` `/$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 ExpirationTime ExpirationPeriod | 139 | 0x8B Cost | 140 | 0x8C Uri | 141 | 0x8D (See Routing Table Dataset for missing numbers: https://redmine.named-data.net/projects/nlsr/wiki/Routing_Table_Dataset)