]>
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 | ||
35 | .. index:: router openfabric WORD | |
36 | .. clicmd:: router openfabric WORD | |
37 | ||
38 | .. index:: no router openfabric WORD | |
39 | .. clicmd:: no router openfabric WORD | |
40 | ||
41 | Enable or disable the OpenFabric process by specifying the OpenFabric domain with | |
42 | 'WORD'. | |
43 | ||
44 | .. index:: net XX.XXXX. ... .XXX.XX | |
45 | .. clicmd:: net XX.XXXX. ... .XXX.XX | |
46 | ||
47 | .. index:: no net XX.XXXX. ... .XXX.XX | |
48 | .. clicmd:: no net XX.XXXX. ... .XXX.XX | |
49 | ||
50 | Set/Unset network entity title (NET) provided in ISO format. | |
51 | ||
52 | .. index:: domain-password [clear | md5] <password> | |
53 | .. clicmd:: domain-password [clear | md5] <password> | |
54 | ||
55 | .. index:: no domain-password | |
56 | .. clicmd:: no domain-password | |
57 | ||
58 | Configure the authentication password for a domain, as clear text or md5 one. | |
59 | ||
60 | .. index:: log-adjacency-changes | |
61 | .. clicmd:: log-adjacency-changes | |
62 | ||
63 | .. index:: no log-adjacency-changes | |
64 | .. clicmd:: no log-adjacency-changes | |
65 | ||
66 | Log changes in adjacency state. | |
67 | ||
68 | .. index:: set-overload-bit | |
69 | .. clicmd:: set-overload-bit | |
70 | ||
71 | .. index:: no set-overload-bit | |
72 | .. clicmd:: no set-overload-bit | |
73 | ||
74 | Set overload bit to avoid any transit traffic. | |
75 | ||
76 | .. index:: purge-originator | |
77 | .. clicmd:: purge-originator | |
78 | ||
79 | .. index:: no purge-originator | |
80 | .. clicmd:: no purge-originator | |
81 | ||
82 | Enable or disable :rfc:`6232` purge originator identification. | |
83 | ||
84 | .. index:: fabric-tier (0-14) | |
85 | .. clicmd:: fabric-tier (0-14) | |
86 | ||
87 | .. index:: no fabric-tier | |
88 | .. clicmd:: no fabric-tier | |
89 | ||
90 | Configure a static tier number to advertise as location in the fabric | |
91 | ||
92 | .. _openfabric-timer: | |
93 | ||
94 | OpenFabric Timer | |
95 | ================ | |
96 | ||
97 | .. index:: lsp-gen-interval (1-120) | |
98 | .. clicmd:: lsp-gen-interval (1-120) | |
99 | ||
100 | .. index:: no lsp-gen-interval | |
101 | .. clicmd:: no lsp-gen-interval | |
102 | ||
103 | Set minimum interval in seconds between regenerating same LSP. | |
104 | ||
105 | .. index:: lsp-refresh-interval (1-65235) | |
106 | .. clicmd:: lsp-refresh-interval (1-65235) | |
107 | ||
108 | .. index:: no lsp-refresh-interval | |
109 | .. clicmd:: no lsp-refresh-interval | |
110 | ||
111 | Set LSP refresh interval in seconds. | |
112 | ||
113 | .. index:: max-lsp-lifetime (360-65535) | |
114 | .. clicmd:: max-lsp-lifetime (360-65535) | |
115 | ||
116 | .. index:: no max-lsp-lifetime | |
117 | .. clicmd:: no max-lsp-lifetime | |
118 | ||
119 | Set LSP maximum LSP lifetime in seconds. | |
120 | ||
121 | .. index:: spf-interval (1-120) | |
122 | .. clicmd:: spf-interval (1-120) | |
123 | ||
124 | .. index:: no spf-interval | |
125 | .. clicmd:: no spf-interval | |
126 | ||
127 | Set minimum interval between consecutive SPF calculations in seconds. | |
128 | ||
129 | .. _openfabric-interface: | |
130 | ||
131 | OpenFabric interface | |
132 | ==================== | |
133 | ||
134 | .. index:: ip router openfabric WORD | |
135 | .. clicmd:: ip router openfabric WORD | |
136 | ||
137 | .. index:: no ip router openfabric WORD | |
138 | .. clicmd:: no ip router openfabric WORD | |
139 | ||
140 | .. _ip-router-openfabric-word: | |
141 | ||
142 | Activate OpenFabric on this interface. Note that the name | |
143 | of OpenFabric instance must be the same as the one used to configure the | |
144 | routing process (see command :clicmd:`router openfabric WORD`). | |
145 | ||
146 | .. index:: openfabric csnp-interval (1-600) | |
147 | .. clicmd:: openfabric csnp-interval (1-600) | |
148 | ||
149 | .. index:: no openfabric csnp-interval | |
150 | .. clicmd:: no openfabric csnp-interval | |
151 | ||
152 | Set CSNP interval in seconds. | |
153 | ||
154 | .. index:: openfabric hello-interval (1-600) | |
155 | .. clicmd:: openfabric hello-interval (1-600) | |
156 | ||
157 | .. index:: no openfabric hello-interval | |
158 | .. clicmd:: no openfabric hello-interval | |
159 | ||
160 | Set Hello interval in seconds. | |
161 | ||
162 | .. index:: openfabric hello-multiplier (2-100) | |
163 | .. clicmd:: openfabric hello-multiplier (2-100) | |
164 | ||
165 | .. index:: no openfabric hello-multiplier | |
166 | .. clicmd:: no openfabric hello-multiplier | |
167 | ||
168 | Set multiplier for Hello holding time. | |
169 | ||
170 | .. index:: openfabric metric (0-16777215) | |
171 | .. clicmd:: openfabric metric (0-16777215) | |
172 | ||
173 | .. index:: no openfabric metric | |
174 | .. clicmd:: no openfabric metric | |
175 | ||
176 | Set interface metric value. | |
177 | ||
178 | .. index:: openfabric passive | |
179 | .. clicmd:: openfabric passive | |
180 | ||
181 | .. index:: no openfabric passive | |
182 | .. clicmd:: no openfabric passive | |
183 | ||
184 | Configure the passive mode for this interface. | |
185 | ||
186 | .. index:: openfabric password [clear | md5] <password> | |
187 | .. clicmd:: openfabric password [clear | md5] <password> | |
188 | ||
189 | .. index:: no openfabric password | |
190 | .. clicmd:: no openfabric password | |
191 | ||
192 | Configure the authentication password (clear or encoded text) for the | |
193 | interface. | |
194 | ||
195 | .. index:: openfabric psnp-interval (1-120) | |
196 | .. clicmd:: openfabric psnp-interval (1-120) | |
197 | ||
198 | .. index:: no openfabric psnp-interval | |
199 | .. clicmd:: no openfabric psnp-interval | |
200 | ||
201 | Set PSNP interval in seconds. | |
202 | ||
203 | .. _showing-openfabric-information: | |
204 | ||
205 | Showing OpenFabric information | |
206 | ============================== | |
207 | ||
208 | .. index:: show openfabric summary | |
209 | .. clicmd:: show openfabric summary | |
210 | ||
211 | Show summary information about OpenFabric. | |
212 | ||
213 | .. index:: show openfabric hostname | |
214 | .. clicmd:: show openfabric hostname | |
215 | ||
216 | Show which hostnames are associated with which OpenFabric system ids. | |
217 | ||
218 | .. index:: show openfabric interface | |
219 | .. clicmd:: show openfabric interface | |
220 | ||
221 | .. index:: show openfabric interface detail | |
222 | .. clicmd:: show openfabric interface detail | |
223 | ||
224 | .. index:: show openfabric interface <interface name> | |
225 | .. clicmd:: show openfabric interface <interface name> | |
226 | ||
227 | Show state and configuration of specified OpenFabric interface, or all interfaces | |
228 | if no interface is given with or without details. | |
229 | ||
230 | .. index:: show openfabric neighbor | |
231 | .. clicmd:: show openfabric neighbor | |
232 | ||
233 | .. index:: show openfabric neighbor <System Id> | |
234 | .. clicmd:: show openfabric neighbor <System Id> | |
235 | ||
236 | .. index:: show openfabric neighbor detail | |
237 | .. clicmd:: show openfabric neighbor detail | |
238 | ||
239 | Show state and information of specified OpenFabric neighbor, or all neighbors if | |
240 | no system id is given with or without details. | |
241 | ||
242 | .. index:: show openfabric database | |
243 | .. clicmd:: show openfabric database | |
244 | ||
245 | .. index:: show openfabric database [detail] | |
246 | .. clicmd:: show openfabric database [detail] | |
247 | ||
248 | .. index:: show openfabric database <LSP id> [detail] | |
249 | .. clicmd:: show openfabric database <LSP id> [detail] | |
250 | ||
251 | .. index:: show openfabric database detail <LSP id> | |
252 | .. clicmd:: show openfabric database detail <LSP id> | |
253 | ||
254 | Show the OpenFabric database globally, for a specific LSP id without or with | |
255 | details. | |
256 | ||
257 | .. index:: show openfabric topology | |
258 | .. clicmd:: show openfabric topology | |
259 | ||
260 | Show calculated OpenFabric paths and associated topology information. | |
261 | ||
262 | .. _debugging-openfabric: | |
263 | ||
264 | Debugging OpenFabric | |
265 | ==================== | |
266 | ||
267 | .. index:: debug openfabric adj-packets | |
268 | .. clicmd:: debug openfabric adj-packets | |
269 | ||
270 | .. index:: no debug openfabric adj-packets | |
271 | .. clicmd:: no debug openfabric adj-packets | |
272 | ||
273 | OpenFabric Adjacency related packets. | |
274 | ||
275 | .. index:: debug openfabric checksum-errors | |
276 | .. clicmd:: debug openfabric checksum-errors | |
277 | ||
278 | .. index:: no debug openfabric checksum-errors | |
279 | .. clicmd:: no debug openfabric checksum-errors | |
280 | ||
281 | OpenFabric LSP checksum errors. | |
282 | ||
283 | .. index:: debug openfabric events | |
284 | .. clicmd:: debug openfabric events | |
285 | ||
286 | .. index:: no debug openfabric events | |
287 | .. clicmd:: no debug openfabric events | |
288 | ||
289 | OpenFabric Events. | |
290 | ||
291 | .. index:: debug openfabric local-updates | |
292 | .. clicmd:: debug openfabric local-updates | |
293 | ||
294 | .. index:: no debug openfabric local-updates | |
295 | .. clicmd:: no debug openfabric local-updates | |
296 | ||
297 | OpenFabric local update packets. | |
298 | ||
299 | .. index:: debug openfabric lsp-gen | |
300 | .. clicmd:: debug openfabric lsp-gen | |
301 | ||
302 | .. index:: no debug openfabric lsp-gen | |
303 | .. clicmd:: no debug openfabric lsp-gen | |
304 | ||
305 | Generation of own LSPs. | |
306 | ||
307 | .. index:: debug openfabric lsp-sched | |
308 | .. clicmd:: debug openfabric lsp-sched | |
309 | ||
310 | .. index:: no debug openfabric lsp-sched | |
311 | .. clicmd:: no debug openfabric lsp-sched | |
312 | ||
313 | Debug scheduling of generation of own LSPs. | |
314 | ||
315 | .. index:: debug openfabric packet-dump | |
316 | .. clicmd:: debug openfabric packet-dump | |
317 | ||
318 | .. index:: no debug openfabric packet-dump | |
319 | .. clicmd:: no debug openfabric packet-dump | |
320 | ||
321 | OpenFabric packet dump. | |
322 | ||
323 | .. index:: debug openfabric protocol-errors | |
324 | .. clicmd:: debug openfabric protocol-errors | |
325 | ||
326 | .. index:: no debug openfabric protocol-errors | |
327 | .. clicmd:: no debug openfabric protocol-errors | |
328 | ||
329 | OpenFabric LSP protocol errors. | |
330 | ||
331 | .. index:: debug openfabric route-events | |
332 | .. clicmd:: debug openfabric route-events | |
333 | ||
334 | .. index:: no debug openfabric route-events | |
335 | .. clicmd:: no debug openfabric route-events | |
336 | ||
337 | OpenFabric Route related events. | |
338 | ||
339 | .. index:: debug openfabric snp-packets | |
340 | .. clicmd:: debug openfabric snp-packets | |
341 | ||
342 | .. index:: no debug openfabric snp-packets | |
343 | .. clicmd:: no debug openfabric snp-packets | |
344 | ||
345 | OpenFabric CSNP/PSNP packets. | |
346 | ||
347 | .. index:: debug openfabric spf-events | |
348 | .. clicmd:: debug openfabric spf-events | |
349 | ||
350 | .. index:: debug openfabric spf-statistics | |
351 | .. clicmd:: debug openfabric spf-statistics | |
352 | ||
353 | .. index:: debug openfabric spf-triggers | |
354 | .. clicmd:: debug openfabric spf-triggers | |
355 | ||
356 | .. index:: no debug openfabric spf-events | |
357 | .. clicmd:: no debug openfabric spf-events | |
358 | ||
359 | .. index:: no debug openfabric spf-statistics | |
360 | .. clicmd:: no debug openfabric spf-statistics | |
361 | ||
362 | .. index:: no debug openfabric spf-triggers | |
363 | .. clicmd:: no debug openfabric spf-triggers | |
364 | ||
365 | OpenFabric Shortest Path First Events, Timing and Statistic Data and triggering | |
366 | events. | |
367 | ||
368 | .. index:: debug openfabric update-packets | |
369 | .. clicmd:: debug openfabric update-packets | |
370 | ||
371 | .. index:: no debug openfabric update-packets | |
372 | .. clicmd:: no debug openfabric update-packets | |
373 | ||
374 | Update related packets. | |
375 | ||
376 | .. index:: show debugging openfabric | |
377 | .. clicmd:: show debugging openfabric | |
378 | ||
379 | Print which OpenFabric debug levels are active. | |
380 | ||
381 | OpenFabric configuration example | |
382 | ================================ | |
383 | ||
384 | A simple example: | |
385 | ||
386 | .. code-block:: frr | |
387 | ||
388 | ! | |
389 | interface lo | |
390 | ip address 192.0.2.1/32 | |
391 | ip router openfabric 1 | |
392 | ipv6 address 2001:db8::1/128 | |
393 | ipv6 router openfabric 1 | |
394 | ! | |
395 | interface eth0 | |
396 | ip router openfabric 1 | |
397 | ipv6 router openfabric 1 | |
398 | ! | |
399 | interface eth1 | |
400 | ip router openfabric 1 | |
401 | ipv6 router openfabric 1 | |
402 | ! | |
403 | router openfabric 1 | |
404 | net 49.0000.0000.0001.00 |