Project

General

Profile

FibMgmt » History » Version 10

Junxiao Shi, 01/30/2014 12:16 AM

1 2 Junxiao Shi
# NFD FIB Management Protocol
2 1 Junxiao Shi
3 2 Junxiao Shi
The **FIB management protocol** allows an entity to manipulate the FIB entry.
4 1 Junxiao Shi
5 10 Junxiao Shi
This protocol supports five operations:
6 1 Junxiao Shi
7 10 Junxiao Shi
* insert a FIB entry
8
* delete a FIB entry
9 1 Junxiao Shi
* add a nexthop to a FIB entry
10
* remove a nexthop from a FIB entry
11 2 Junxiao Shi
* set the forwarding strategy for a namespace
12 1 Junxiao Shi
13
14
## Command format
15
16 2 Junxiao Shi
The FIB management protocol uses Interest-Data exchange.
17 1 Junxiao Shi
The command request and response formats are specified in [[ControlCommand|NFD Control Command specification]].
18
19
20 10 Junxiao Shi
## Insert a FIB entry
21 2 Junxiao Shi
22 10 Junxiao Shi
**fibinsert** command inserts a FIB entry.
23 1 Junxiao Shi
24 10 Junxiao Shi
The command verb is **fibinsert**.
25 1 Junxiao Shi
Request Interest must be signed.
26
27
The request options have the following format:
28
29 10 Junxiao Shi
    FibInsertOptions ::= FIB-INSERT-OPTIONS-TYPE TLV-LENGTH
30 1 Junxiao Shi
                           Name
31 10 Junxiao Shi
32
The response has StatusCode 200 if the command succeeds.
33
34
If a FIB entry for Name already exists, this command does nothing, but is still considered successful.
35
36
37
## Delete a FIB entry
38
39
**fibdelete** command deletes a FIB entry.
40
41
The command verb is **fibdelete**.
42
Request Interest must be signed.
43
44
The request options have the following format:
45
46
    FibDeleteOptions ::= FIB-DELETE-OPTIONS-TYPE TLV-LENGTH
47
                           Name
48
49
The response has StatusCode 200 if the command succeeds.
50
51
If a FIB entry for Name does not exist, this command does nothing, but is still considered successful.
52
53
54
## Add a nexthop
55
56
**fibaddnexthop** command adds a nexthop to an existing FIB entry.
57
If a nexthop of same FaceId exists on the FIB entry, its cost is updated.
58
59
The command verb is **fibaddnexthop**.
60
Request Interest must be signed.
61
62
The request options have the following format:
63
64
    FibAddNextHopOptions ::= FIB-ADD-NEXTHOP-OPTIONS-TYPE TLV-LENGTH
65
                               Name
66
                               FaceId
67
                               Cost
68 1 Junxiao Shi
    
69 10 Junxiao Shi
    FaceId               ::= FACEID-TYPE TLV-LENGTH
70
                               nonNegativeInteger
71 1 Junxiao Shi
    
72 10 Junxiao Shi
    Cost                 ::= COST-TYPE TLV-LENGTH
73
                               nonNegativeInteger
74 1 Junxiao Shi
75
**FaceId** is the FaceId returned in *NFD Face Management protocol*.
76
If **FaceId** is set to zero, it is implied as the face of the entity sending this command.
77
78
The response has StatusCode 200 if the command succeeds.
79
80 10 Junxiao Shi
If the FIB entry does not exist, the response has StatusCode 404.
81 1 Junxiao Shi
82 10 Junxiao Shi
83 1 Junxiao Shi
## Remove a nexthop
84
85 10 Junxiao Shi
**fibremovenexthop** command removes a nexthop from a FIB entry.
86
Removing the last nexthop in a FIB entry will not automatically delete the FIB entry.
87 1 Junxiao Shi
88 10 Junxiao Shi
The command verb is **fibremovenexthop**.
89 1 Junxiao Shi
Request Interest must be signed.
90
91
The request options have the following format:
92
93 10 Junxiao Shi
    FibRemoveNextHopOptions ::= FIB-REMOVE-NEXTHOP-OPTIONS-TYPE TLV-LENGTH
94
                                  Name
95
                                  FaceId
96 1 Junxiao Shi
97 10 Junxiao Shi
**FaceId** is the FaceId returned in *NFD Face Management protocol*.
98
If **FaceId** is set to zero, it is implied as the face of the entity sending this command.
99
100 1 Junxiao Shi
The response has StatusCode 200 if the command succeeds.
101
102 10 Junxiao Shi
If the FIB entry does not exist, the response has StatusCode 404.
103
104 1 Junxiao Shi
If the specified nexthop does not exist on the FIB entry, this command does nothing,
105 8 Alex Afanasyev
but is still considered successful.
106 1 Junxiao Shi
107 10 Junxiao Shi
108 1 Junxiao Shi
## Set strategy
109
110 10 Junxiao Shi
**fibstrategy** command picks a forwarding strategy for a namespace.
111 1 Junxiao Shi
112
The format of this command will be defined in a later version of this spec.
113
114
115
## TLV-TYPE assignments
116
117
Type                                        | Assigned value    | Assigned value (hex)
118
------------------------------------------- | ----------------- | --------------------
119 10 Junxiao Shi
FibInsertOptions                            | 55547             | 0xd8fb
120
FibDeleteOptions                            | 56539             | 0xdcdb
121
FibAddNextHopOptions                        | 129               | 0x81
122
FibRemoveNextHopOptions                     | 129               | 0x81
123 1 Junxiao Shi
FaceId                                      | 132               | 0x84
124
Cost                                        | 63672             | 0xf8b8