Project

General

Profile

LSDB DataSet » History » Version 17

Alexander Lane, 05/19/2025 02: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 16 Davide Pesavento
LSDB datasets are published in the namespace `/$ROUTER_NAME/lsdb` and `/localhost/lsdb`.
4 12 Ashlesh Gawande
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 16 Davide Pesavento
                        NonNegativeInteger
16 1 Vince Lehman
17 12 Ashlesh Gawande
ExpirationTime(Point) is the time according to the sender when the LSA will expire.
18 1 Vince Lehman
19 17 Alexander Lane
Additionally, all three utilize the following encoding for double-precision floating point numbers in differing fields:
20
21
    Double := DOUBLE-TYPE TLV-LENGTH(=8)
22
                double-precision floating-point number in binary64 format as defined in IEEE 754
23
24 1 Vince Lehman
## Adjacency LSAs
25 12 Ashlesh Gawande
26 16 Davide Pesavento
All Adjacency LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/adjacencies` and `/localhost/lsdb/adjacencies`.
27 1 Vince Lehman
28
    AdjacencyLsa := ADJACENCY-LSA-TYPE TLV-LENGTH
29
                      LsaInfo
30
                      Adjacency+
31
32
    Adjacency := ADJACENCY-TYPE TLV-LENGTH
33
                   Name
34
                   Uri
35
                   Cost
36
37 17 Alexander Lane
    Cost := COST-TYPE TLV-LENGTH
38
              Double
39
40 1 Vince Lehman
## Coordinate LSAs
41
42
All Coordinate LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/coordinates` and `/localhost/lsdb/coordinates`.
43 10 Ashlesh Gawande
44 1 Vince Lehman
    CoordinateLsa := COORDINATE-LSA-TYPE TLV-LENGTH
45
                       LsaInfo
46
                       HyperbolicRadius
47 4 Vince Lehman
                       HyperbolicAngle+
48 1 Vince Lehman
49
    HyperbolicRadius := HYPERBOLIC-RADIUS-TYPE TLV-LENGTH
50
                          Double                      
51
52
    HyperbolicAngle := HYPERBOLIC-ANGLE-TYPE TLV-LENGTH
53
                         Double
54
55
## Name LSAs
56 12 Ashlesh Gawande
57 16 Davide Pesavento
All Name LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names` and `/localhost/lsdb/names`.
58 1 Vince Lehman
59 16 Davide Pesavento
    NameLsa    := NAME-LSA-TYPE TLV-LENGTH
60
                    LsaInfo
61
                    PrefixInfo*
62 1 Vince Lehman
63
    PrefixInfo := PREFIX-INFO-TYPE TLV-LENGTH
64
                    Name
65
                    Cost
66 17 Alexander Lane
67
    Cost := COST-TYPE TLV-LENGTH
68
              Double
69 15 Alexander Lane
70 1 Vince Lehman
## TLV-TYPE assignments
71
72
Type                                        | Assigned value    | Assigned value (hex)
73
------------------------------------------- | ----------------- | --------------------
74
LsaInfo                                     | 128               | 0x80
75
SequenceNumber                              | 130               | 0x82
76
AdjacencyLsa                                | 131               | 0x83
77
Adjacency                                   | 132               | 0x84
78
CoordinateLsa                               | 133               | 0x85
79
Double                                      | 134               | 0x86
80
HyperbolicRadius                            | 135               | 0x87
81
HyperbolicAngle                             | 136               | 0x88
82
NameLsa                                     | 137               | 0x89
83
LsdbStatus                                  | 138               | 0x8A
84 12 Ashlesh Gawande
ExpirationTime                              | 139               | 0x8B
85 1 Vince Lehman
Cost                                        | 140               | 0x8C
86
Uri                                         | 141               | 0x8D
87 14 Alexander Lane
PrefixInfo                                  | 146               | 0x92
88 12 Ashlesh Gawande
89 16 Davide Pesavento
See [[Routing_Table_Dataset|Routing Table Dataset]] for other assignments.