Project

General

Profile

LSDB DataSet » History » Version 4

Vince Lehman, 11/17/2014 12:42 PM

1 3 Vince Lehman
LSDB DataSet
2 1 Vince Lehman
=======
3 2 Vince Lehman
LSDB datasets are published in the namespace `/$ROUTER_NAME/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
                 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
All Adjacency LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/adjacencies`.
25
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
All Coordinate LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/coordinates`.
38
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
All Name LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names`.
58
59
    NameLsa := NAME-LSA-TYPE TLV-LENGTH
60
                 LsaInfo
61
                 Name+
62
63 3 Vince Lehman
## LSDB Status
64 1 Vince Lehman
65
All LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/list`.
66
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