LSDB DataSet » History » Revision 8
Revision 7 (Laqin Fan, 02/28/2017 09:13 AM) → Revision 8/13 (Laqin Fan, 03/09/2017 01:09 PM)
LSDB DataSet ======= LSDB datasets are published in the namespace `/$ROUTER_NAME/lsdb/`: `/$ROUTER_NAME/lsdb/` or '/localhost/nlsr/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 [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/adjacencies`. `/$ROUTER_NAME/lsdb/adjacencies` or '/localhost/nlsr/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`. `/$ROUTER_NAME/lsdb/coordinates` or '/localhost/nlsr/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`. `/$ROUTER_NAME/lsdb/names` or '/localhost/nlsr/lsdb/names'. NameLsa := NAME-LSA-TYPE TLV-LENGTH LsaInfo Name* ## LSDB Status All LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/list` or '/localhost/nlsr/lsdb/list'. The LSAs in the LSDB are organized and represented as an **LsdbStatus** block: LsdbStatus := LSDB-STATUS-TYPE TLV-LENGTH AdjacencyLsa* CoordinateLsa* NameLsa* ## 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