LSDB DataSet » History » Version 12
Ashlesh Gawande, 04/25/2020 03:53 PM
1 | 12 | Ashlesh Gawande | # LSA TLV encoding for NLSR-to-NLSR and NLSR-to-NLSRC (LSDB DataSet) communication |
---|---|---|---|
2 | 1 | Vince Lehman | |
3 | 12 | Ashlesh Gawande | LSDB datasets are published in the namespace `/$ROUTER_NAME/lsdb/` and `/localhost/lsdb`: |
4 | |||
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 | 12 | Ashlesh Gawande | Name |
11 | 1 | Vince Lehman | SequenceNumber |
12 | 12 | Ashlesh Gawande | ExpirationTime |
13 | 1 | Vince Lehman | |
14 | SequenceNumber := SEQUENCE-NUMBER-TYPE TLV-LENGTH |
||
15 | nonNegativeInteger |
||
16 | |||
17 | 12 | Ashlesh Gawande | ExpirationTime(Point) is the time according to the sender when the LSA will expire. |
18 | 1 | Vince Lehman | |
19 | ## Adjacency LSAs |
||
20 | |||
21 | 12 | Ashlesh Gawande | All Adjacency LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/adjacencies` |
22 | and `/localhost/lsdb/adjacencies` |
||
23 | 1 | Vince Lehman | |
24 | AdjacencyLsa := ADJACENCY-LSA-TYPE TLV-LENGTH |
||
25 | LsaInfo |
||
26 | Adjacency+ |
||
27 | |||
28 | Adjacency := ADJACENCY-TYPE TLV-LENGTH |
||
29 | Name |
||
30 | Uri |
||
31 | Cost |
||
32 | |||
33 | ## Coordinate LSAs |
||
34 | |||
35 | 12 | Ashlesh Gawande | All Coordinate LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/coordinates` |
36 | and `/localhost/lsdb/coordinates` |
||
37 | 1 | Vince Lehman | |
38 | CoordinateLsa := COORDINATE-LSA-TYPE TLV-LENGTH |
||
39 | LsaInfo |
||
40 | HyperbolicRadius |
||
41 | 10 | Ashlesh Gawande | HyperbolicAngle+ |
42 | 1 | Vince Lehman | |
43 | Double := DOUBLE-TYPE TLV-LENGTH(=8) |
||
44 | double-precision floating-point number in binary64 format as defined in IEEE 754 |
||
45 | 4 | Vince Lehman | |
46 | 1 | Vince Lehman | |
47 | HyperbolicRadius := HYPERBOLIC-RADIUS-TYPE TLV-LENGTH |
||
48 | Double |
||
49 | |||
50 | HyperbolicAngle := HYPERBOLIC-ANGLE-TYPE TLV-LENGTH |
||
51 | Double |
||
52 | |||
53 | ## Name LSAs |
||
54 | |||
55 | 12 | Ashlesh Gawande | All Name LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names` |
56 | and `/localhost/lsdb/names` |
||
57 | 1 | Vince Lehman | |
58 | 6 | Vince Lehman | NameLsa := NAME-LSA-TYPE TLV-LENGTH |
59 | 1 | Vince Lehman | LsaInfo |
60 | Name* |
||
61 | |||
62 | ## TLV-TYPE assignments |
||
63 | |||
64 | Type | Assigned value | Assigned value (hex) |
||
65 | ------------------------------------------- | ----------------- | -------------------- |
||
66 | LsaInfo | 128 | 0x80 |
||
67 | SequenceNumber | 130 | 0x82 |
||
68 | AdjacencyLsa | 131 | 0x83 |
||
69 | Adjacency | 132 | 0x84 |
||
70 | CoordinateLsa | 133 | 0x85 |
||
71 | Double | 134 | 0x86 |
||
72 | HyperbolicRadius | 135 | 0x87 |
||
73 | HyperbolicAngle | 136 | 0x88 |
||
74 | NameLsa | 137 | 0x89 |
||
75 | LsdbStatus | 138 | 0x8A |
||
76 | 12 | Ashlesh Gawande | ExpirationTime | 139 | 0x8B |
77 | 1 | Vince Lehman | Cost | 140 | 0x8C |
78 | 5 | Vince Lehman | Uri | 141 | 0x8D |
79 | 12 | Ashlesh Gawande | |
80 | (See Routing Table Dataset for missing numbers: https://redmine.named-data.net/projects/nlsr/wiki/Routing_Table_Dataset) |