Project

General

Profile

LSDB DataSet » History » Version 16

Davide Pesavento, 05/09/2025 04:56 PM
Minor formatting fixes

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