Project

General

Profile

LSDB DataSet » History » Version 2

Vince Lehman, 11/13/2014 01:30 PM

1 1 Vince Lehman
DataSet
2
=======
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
    Double := DOUBLE-TYPE TLV-LENGTH
45
                best representation?
46
47
    HyperbolicRadius := HYPERBOLIC-RADIUS-TYPE TLV-LENGTH
48
                          Double                      
49
50
    HyperbolicAngle := HYPERBOLIC-ANGLE-TYPE TLV-LENGTH
51
                         Double
52
53
54
## Name LSAs
55
56
All Name LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/names`.
57
58
    NameLsa := NAME-LSA-TYPE TLV-LENGTH
59
                 LsaInfo
60
                 Name+
61
62
## LSDB Dataset
63
64
All LSAs in the LSDB are published as a [[NFD:StatusDataset|Status Dataset]] at `/$ROUTER_NAME/lsdb/list`.
65
66
The LSAs in the LSDB are organized and represented as an **LsdbStatus** block:
67
68
    LsdbStatus := LSDB-STATUS-TYPE TLV-LENGTH
69
                    AdjacencyLsa*
70
                    CoordinateLsa*
71
                    NameLsa*
72
73
74
75
## TLV-TYPE assignments
76
77
Type                                        | Assigned value    | Assigned value (hex)
78
------------------------------------------- | ----------------- | --------------------
79
LsaInfo                                     | 128               | 0x80
80
OriginRouter                                | 129               | 0x81
81
SequenceNumber                              | 130               | 0x82
82
AdjacencyLsa                                | 131               | 0x83
83
Adjacency                                   | 132               | 0x84
84
CoordinateLsa                               | 133               | 0x85
85
Double                                      | 134               | 0x86
86
HyperbolicRadius                            | 135               | 0x87
87
HyperbolicAngle                             | 136               | 0x88
88
NameLsa                                     | 137               | 0x89
89
LsdbStatus                                  | 138               | 0x8A