]>
Commit | Line | Data |
---|---|---|
f3c7b99d CF |
1 | .. _fabricd: |
2 | ||
3 | ********** | |
4 | OpenFabric | |
5 | ********** | |
6 | ||
7 | OpenFabric, specified in :t:`draft-white-openfabric-06.txt`, is a routing | |
8 | protocol derived from IS-IS, providing link-state routing with efficient | |
9 | flooding for topologies like spine-leaf networks. | |
10 | ||
11 | FRR implements OpenFabric in a daemon called *fabricd* | |
12 | ||
13 | .. _configuring-fabricd: | |
14 | ||
15 | Configuring fabricd | |
16 | =================== | |
17 | ||
18 | There are no *fabricd* specific options. Common options can be specified | |
19 | (:ref:`common-invocation-options`) to *fabricd*. *fabricd* needs to acquire | |
20 | interface information from *zebra* in order to function. Therefore *zebra* must | |
21 | be running before invoking *fabricd*. Also, if *zebra* is restarted then *fabricd* | |
22 | must be too. | |
23 | ||
24 | Like other daemons, *fabricd* configuration is done in an OpenFabric specific | |
25 | configuration file :file:`fabricd.conf`. | |
26 | ||
27 | .. _openfabric-router: | |
28 | ||
29 | OpenFabric router | |
30 | ================= | |
31 | ||
32 | To enable the OpenFabric routing protocol, an OpenFabric router needs to be created | |
33 | in the configuration: | |
34 | ||
f3c7b99d CF |
35 | .. clicmd:: router openfabric WORD |
36 | ||
f3c7b99d CF |
37 | Enable or disable the OpenFabric process by specifying the OpenFabric domain with |
38 | 'WORD'. | |
39 | ||
f3c7b99d CF |
40 | .. clicmd:: net XX.XXXX. ... .XXX.XX |
41 | ||
f3c7b99d CF |
42 | Set/Unset network entity title (NET) provided in ISO format. |
43 | ||
f3c7b99d CF |
44 | .. clicmd:: domain-password [clear | md5] <password> |
45 | ||
f3c7b99d CF |
46 | Configure the authentication password for a domain, as clear text or md5 one. |
47 | ||
bb88971e | 48 | .. clicmd:: attached-bit [receive ignore | send] |
49 | ||
bb88971e | 50 | Set attached bit for inter-area traffic: |
51 | ||
52 | - receive | |
53 | If LSP received with attached bit set, create default route to neighbor | |
54 | - send | |
55 | If L1|L2 router, set attached bit in LSP sent to L1 router | |
56 | ||
f3c7b99d CF |
57 | .. clicmd:: log-adjacency-changes |
58 | ||
f3c7b99d | 59 | Log changes in adjacency state. |
bb88971e | 60 | |
f3c7b99d CF |
61 | .. clicmd:: set-overload-bit |
62 | ||
f3c7b99d CF |
63 | Set overload bit to avoid any transit traffic. |
64 | ||
f3c7b99d CF |
65 | .. clicmd:: purge-originator |
66 | ||
f3c7b99d CF |
67 | |
68 | Enable or disable :rfc:`6232` purge originator identification. | |
69 | ||
f3c7b99d CF |
70 | .. clicmd:: fabric-tier (0-14) |
71 | ||
f3c7b99d CF |
72 | |
73 | Configure a static tier number to advertise as location in the fabric | |
74 | ||
75 | .. _openfabric-timer: | |
76 | ||
77 | OpenFabric Timer | |
78 | ================ | |
79 | ||
f3c7b99d CF |
80 | .. clicmd:: lsp-gen-interval (1-120) |
81 | ||
f3c7b99d CF |
82 | |
83 | Set minimum interval in seconds between regenerating same LSP. | |
84 | ||
f3c7b99d CF |
85 | .. clicmd:: lsp-refresh-interval (1-65235) |
86 | ||
f3c7b99d CF |
87 | |
88 | Set LSP refresh interval in seconds. | |
89 | ||
f3c7b99d CF |
90 | .. clicmd:: max-lsp-lifetime (360-65535) |
91 | ||
f3c7b99d CF |
92 | |
93 | Set LSP maximum LSP lifetime in seconds. | |
94 | ||
f3c7b99d CF |
95 | .. clicmd:: spf-interval (1-120) |
96 | ||
f3c7b99d CF |
97 | |
98 | Set minimum interval between consecutive SPF calculations in seconds. | |
99 | ||
100 | .. _openfabric-interface: | |
101 | ||
102 | OpenFabric interface | |
103 | ==================== | |
104 | ||
f3c7b99d CF |
105 | .. clicmd:: ip router openfabric WORD |
106 | ||
f3c7b99d CF |
107 | |
108 | .. _ip-router-openfabric-word: | |
109 | ||
110 | Activate OpenFabric on this interface. Note that the name | |
111 | of OpenFabric instance must be the same as the one used to configure the | |
112 | routing process (see command :clicmd:`router openfabric WORD`). | |
113 | ||
f3c7b99d CF |
114 | .. clicmd:: openfabric csnp-interval (1-600) |
115 | ||
f3c7b99d CF |
116 | |
117 | Set CSNP interval in seconds. | |
118 | ||
f3c7b99d CF |
119 | .. clicmd:: openfabric hello-interval (1-600) |
120 | ||
f3c7b99d CF |
121 | |
122 | Set Hello interval in seconds. | |
123 | ||
f3c7b99d CF |
124 | .. clicmd:: openfabric hello-multiplier (2-100) |
125 | ||
f3c7b99d CF |
126 | |
127 | Set multiplier for Hello holding time. | |
128 | ||
f3c7b99d CF |
129 | .. clicmd:: openfabric metric (0-16777215) |
130 | ||
f3c7b99d CF |
131 | |
132 | Set interface metric value. | |
133 | ||
f3c7b99d CF |
134 | .. clicmd:: openfabric passive |
135 | ||
f3c7b99d CF |
136 | |
137 | Configure the passive mode for this interface. | |
138 | ||
f3c7b99d CF |
139 | .. clicmd:: openfabric password [clear | md5] <password> |
140 | ||
f3c7b99d CF |
141 | |
142 | Configure the authentication password (clear or encoded text) for the | |
143 | interface. | |
144 | ||
f3c7b99d CF |
145 | .. clicmd:: openfabric psnp-interval (1-120) |
146 | ||
f3c7b99d CF |
147 | |
148 | Set PSNP interval in seconds. | |
149 | ||
150 | .. _showing-openfabric-information: | |
151 | ||
152 | Showing OpenFabric information | |
153 | ============================== | |
154 | ||
f3c7b99d CF |
155 | .. clicmd:: show openfabric summary |
156 | ||
157 | Show summary information about OpenFabric. | |
158 | ||
f3c7b99d CF |
159 | .. clicmd:: show openfabric hostname |
160 | ||
161 | Show which hostnames are associated with which OpenFabric system ids. | |
162 | ||
f3c7b99d CF |
163 | .. clicmd:: show openfabric interface |
164 | ||
f3c7b99d CF |
165 | .. clicmd:: show openfabric interface detail |
166 | ||
f3c7b99d CF |
167 | .. clicmd:: show openfabric interface <interface name> |
168 | ||
169 | Show state and configuration of specified OpenFabric interface, or all interfaces | |
170 | if no interface is given with or without details. | |
171 | ||
f3c7b99d CF |
172 | .. clicmd:: show openfabric neighbor |
173 | ||
f3c7b99d CF |
174 | .. clicmd:: show openfabric neighbor <System Id> |
175 | ||
f3c7b99d CF |
176 | .. clicmd:: show openfabric neighbor detail |
177 | ||
178 | Show state and information of specified OpenFabric neighbor, or all neighbors if | |
179 | no system id is given with or without details. | |
180 | ||
f3c7b99d CF |
181 | .. clicmd:: show openfabric database |
182 | ||
f3c7b99d CF |
183 | .. clicmd:: show openfabric database [detail] |
184 | ||
f3c7b99d CF |
185 | .. clicmd:: show openfabric database <LSP id> [detail] |
186 | ||
f3c7b99d CF |
187 | .. clicmd:: show openfabric database detail <LSP id> |
188 | ||
189 | Show the OpenFabric database globally, for a specific LSP id without or with | |
190 | details. | |
191 | ||
f3c7b99d CF |
192 | .. clicmd:: show openfabric topology |
193 | ||
194 | Show calculated OpenFabric paths and associated topology information. | |
195 | ||
196 | .. _debugging-openfabric: | |
197 | ||
198 | Debugging OpenFabric | |
199 | ==================== | |
200 | ||
f3c7b99d CF |
201 | .. clicmd:: debug openfabric adj-packets |
202 | ||
03750f1e | 203 | OpenFabric Adjacency related packets. |
f3c7b99d | 204 | |
f3c7b99d CF |
205 | .. clicmd:: debug openfabric checksum-errors |
206 | ||
03750f1e | 207 | OpenFabric LSP checksum errors. |
f3c7b99d | 208 | |
f3c7b99d CF |
209 | .. clicmd:: debug openfabric events |
210 | ||
03750f1e | 211 | OpenFabric Events. |
f3c7b99d | 212 | |
f3c7b99d CF |
213 | .. clicmd:: debug openfabric local-updates |
214 | ||
03750f1e | 215 | OpenFabric local update packets. |
f3c7b99d | 216 | |
f3c7b99d CF |
217 | .. clicmd:: debug openfabric lsp-gen |
218 | ||
03750f1e | 219 | Generation of own LSPs. |
f3c7b99d | 220 | |
f3c7b99d CF |
221 | .. clicmd:: debug openfabric lsp-sched |
222 | ||
03750f1e | 223 | Debug scheduling of generation of own LSPs. |
f3c7b99d | 224 | |
f3c7b99d CF |
225 | .. clicmd:: debug openfabric packet-dump |
226 | ||
03750f1e | 227 | OpenFabric packet dump. |
f3c7b99d | 228 | |
f3c7b99d CF |
229 | .. clicmd:: debug openfabric protocol-errors |
230 | ||
03750f1e | 231 | OpenFabric LSP protocol errors. |
f3c7b99d | 232 | |
f3c7b99d CF |
233 | .. clicmd:: debug openfabric route-events |
234 | ||
03750f1e | 235 | OpenFabric Route related events. |
f3c7b99d | 236 | |
f3c7b99d CF |
237 | .. clicmd:: debug openfabric snp-packets |
238 | ||
03750f1e | 239 | OpenFabric CSNP/PSNP packets. |
f3c7b99d | 240 | |
f3c7b99d CF |
241 | .. clicmd:: debug openfabric spf-events |
242 | ||
f3c7b99d CF |
243 | .. clicmd:: debug openfabric spf-statistics |
244 | ||
f3c7b99d CF |
245 | .. clicmd:: debug openfabric spf-triggers |
246 | ||
03750f1e QY |
247 | OpenFabric Shortest Path First Events, Timing and Statistic Data and |
248 | triggering events. | |
f3c7b99d | 249 | |
f3c7b99d CF |
250 | .. clicmd:: debug openfabric update-packets |
251 | ||
03750f1e | 252 | Update-related packets. |
f3c7b99d | 253 | |
f3c7b99d CF |
254 | .. clicmd:: show debugging openfabric |
255 | ||
256 | Print which OpenFabric debug levels are active. | |
257 | ||
b832909b QY |
258 | Sample configuration |
259 | ==================== | |
f3c7b99d CF |
260 | |
261 | A simple example: | |
262 | ||
263 | .. code-block:: frr | |
264 | ||
265 | ! | |
266 | interface lo | |
267 | ip address 192.0.2.1/32 | |
268 | ip router openfabric 1 | |
269 | ipv6 address 2001:db8::1/128 | |
270 | ipv6 router openfabric 1 | |
271 | ! | |
272 | interface eth0 | |
273 | ip router openfabric 1 | |
274 | ipv6 router openfabric 1 | |
275 | ! | |
276 | interface eth1 | |
277 | ip router openfabric 1 | |
278 | ipv6 router openfabric 1 | |
279 | ! | |
280 | router openfabric 1 | |
281 | net 49.0000.0000.0001.00 | |
b832909b QY |
282 | |
283 | ||
284 | Alternative example: | |
285 | ||
286 | .. code-block:: frr | |
287 | ||
288 | hostname fabricd | |
289 | ||
290 | router openfabric DEAD | |
291 | net 47.0023.0000.0003.0300.0100.0102.0304.0506.00 | |
292 | lsp-lifetime 65535 | |
293 | ||
294 | hostname isisd-router | |
295 | domain-password foobar | |
296 | ||
297 | interface eth0 | |
298 | ip router openfabric DEAD | |
299 | openfabric hello-interval 5 | |
300 | openfabric lsp-interval 1000 | |
301 | ||
302 | ! -- optional | |
303 | openfabric retransmit-interval 10 | |
304 | openfabric retransmit-throttle-interval |