LSDB DataSet » History » Version 7
  Laqin Fan, 02/28/2017 09:13 AM 
  
| 1 | 3 | Vince Lehman | LSDB DataSet | 
|---|---|---|---|
| 2 | 1 | Vince Lehman | ======= | 
| 3 | 7 | Laqin Fan | LSDB datasets are published in the namespace `/$ROUTER_NAME/lsdb/` or '/localhost/nlsr/lsdb': | 
| 4 | 2 | Vince Lehman | |
| 5 | 1 | Vince Lehman | ## LSAs | 
| 6 | 2 | Vince Lehman | |
| 7 | All LSAs have 3 fields in common represented by an **LsaInfo** block: | ||
| 8 | 1 | Vince Lehman | |
| 9 | LsaInfo := LSA-TYPE TLV-LENGTH | ||
| 10 | OriginRouter | ||
| 11 | SequenceNumber | ||
| 12 | ExpirationPeriod? | ||
| 13 | |||
| 14 | OriginRouter := ORIGIN-ROUTER-TYPE TLV-LENGTH | ||
| 15 | Name | ||
| 16 | |||
| 17 | SequenceNumber := SEQUENCE-NUMBER-TYPE TLV-LENGTH | ||
| 18 | nonNegativeInteger | ||
| 19 | |||
| 20 | ExpirationPeriod is the remaining lifetime of an LSA or omitted if it's infinity. | ||
| 21 | |||
| 22 | ## Adjacency LSAs | ||
| 23 | |||
| 24 | 7 | Laqin Fan | All Adjacency LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/adjacencies` or '/localhost/nlsr/lsdb/adjacencies'. | 
| 25 | 1 | Vince Lehman | |
| 26 | AdjacencyLsa := ADJACENCY-LSA-TYPE TLV-LENGTH | ||
| 27 | LsaInfo | ||
| 28 | Adjacency+ | ||
| 29 | |||
| 30 | Adjacency := ADJACENCY-TYPE TLV-LENGTH | ||
| 31 | Name | ||
| 32 | Uri | ||
| 33 | Cost | ||
| 34 | |||
| 35 | ## Coordinate LSAs | ||
| 36 | |||
| 37 | 7 | Laqin Fan | All Coordinate LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/coordinates` or '/localhost/nlsr/lsdb/coordinates'. | 
| 38 | 1 | Vince Lehman | |
| 39 | CoordinateLsa := COORDINATE-LSA-TYPE TLV-LENGTH | ||
| 40 | LsaInfo | ||
| 41 | HyperbolicRadius | ||
| 42 | HyperbolicAngle | ||
| 43 | |||
| 44 | 4 | Vince Lehman | Double := DOUBLE-TYPE TLV-LENGTH(=8) | 
| 45 | double-precision floating-point number in binary64 format as defined in IEEE 754 | ||
| 46 | |||
| 47 | 1 | Vince Lehman | |
| 48 | HyperbolicRadius := HYPERBOLIC-RADIUS-TYPE TLV-LENGTH | ||
| 49 | Double | ||
| 50 | |||
| 51 | HyperbolicAngle := HYPERBOLIC-ANGLE-TYPE TLV-LENGTH | ||
| 52 | Double | ||
| 53 | |||
| 54 | |||
| 55 | ## Name LSAs | ||
| 56 | |||
| 57 | 7 | Laqin Fan | All Name LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names` or '/localhost/nlsr/lsdb/names'. | 
| 58 | 1 | Vince Lehman | |
| 59 | NameLsa := NAME-LSA-TYPE TLV-LENGTH | ||
| 60 | LsaInfo | ||
| 61 | 6 | Vince Lehman | Name* | 
| 62 | 1 | Vince Lehman | |
| 63 | 3 | Vince Lehman | ## LSDB Status | 
| 64 | 1 | Vince Lehman | |
| 65 | 7 | Laqin Fan | All LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/list` or '/localhost/nlsr/lsdb/list'. | 
| 66 | 1 | Vince Lehman | |
| 67 | The LSAs in the LSDB are organized and represented as an **LsdbStatus** block: | ||
| 68 | |||
| 69 | LsdbStatus := LSDB-STATUS-TYPE TLV-LENGTH | ||
| 70 | AdjacencyLsa* | ||
| 71 | CoordinateLsa* | ||
| 72 | NameLsa* | ||
| 73 | |||
| 74 | |||
| 75 | |||
| 76 | ## TLV-TYPE assignments | ||
| 77 | |||
| 78 | Type | Assigned value | Assigned value (hex) | ||
| 79 | ------------------------------------------- | ----------------- | -------------------- | ||
| 80 | LsaInfo | 128 | 0x80 | ||
| 81 | OriginRouter | 129 | 0x81 | ||
| 82 | SequenceNumber | 130 | 0x82 | ||
| 83 | AdjacencyLsa | 131 | 0x83 | ||
| 84 | Adjacency | 132 | 0x84 | ||
| 85 | CoordinateLsa | 133 | 0x85 | ||
| 86 | Double | 134 | 0x86 | ||
| 87 | HyperbolicRadius | 135 | 0x87 | ||
| 88 | HyperbolicAngle | 136 | 0x88 | ||
| 89 | NameLsa | 137 | 0x89 | ||
| 90 | LsdbStatus | 138 | 0x8A | ||
| 91 | 5 | Vince Lehman | ExpirationPeriod | 139 | 0x8B | 
| 92 | Cost | 140 | 0x8C | ||
| 93 | Uri | 141 | 0x8D |