]> git.proxmox.com Git - mirror_frr.git/blob - doc/user/ospf6d.rst
Merge pull request #12578 from Pdoijode/evpn-mac-vni-det
[mirror_frr.git] / doc / user / ospf6d.rst
1 .. _ospfv3:
2
3 ******
4 OSPFv3
5 ******
6
7 *ospf6d* is a daemon support OSPF version 3 for IPv6 network. OSPF for IPv6 is
8 described in :rfc:`2740`.
9
10 .. _ospf6-router:
11
12 OSPF6 router
13 ============
14
15 .. clicmd:: router ospf6 [vrf NAME]
16
17 .. clicmd:: ospf6 router-id A.B.C.D
18
19 Set router's Router-ID.
20
21 .. clicmd:: timers throttle spf (0-600000) (0-600000) (0-600000)
22
23 This command sets the initial `delay`, the `initial-holdtime`
24 and the `maximum-holdtime` between when SPF is calculated and the
25 event which triggered the calculation. The times are specified in
26 milliseconds and must be in the range of 0 to 600000 milliseconds.
27
28 The `delay` specifies the minimum amount of time to delay SPF
29 calculation (hence it affects how long SPF calculation is delayed after
30 an event which occurs outside of the holdtime of any previous SPF
31 calculation, and also serves as a minimum holdtime).
32
33 Consecutive SPF calculations will always be separated by at least
34 'hold-time' milliseconds. The hold-time is adaptive and initially is
35 set to the `initial-holdtime` configured with the above command.
36 Events which occur within the holdtime of the previous SPF calculation
37 will cause the holdtime to be increased by `initial-holdtime`, bounded
38 by the `maximum-holdtime` configured with this command. If the adaptive
39 hold-time elapses without any SPF-triggering event occurring then
40 the current holdtime is reset to the `initial-holdtime`.
41
42 .. code-block:: frr
43
44 router ospf6
45 timers throttle spf 200 400 10000
46
47
48 In this example, the `delay` is set to 200ms, the initial holdtime is set
49 to 400ms and the `maximum holdtime` to 10s. Hence there will always be at
50 least 200ms between an event which requires SPF calculation and the actual
51 SPF calculation. Further consecutive SPF calculations will always be
52 separated by between 400ms to 10s, the hold-time increasing by 400ms each
53 time an SPF-triggering event occurs within the hold-time of the previous
54 SPF calculation.
55
56 .. clicmd:: auto-cost reference-bandwidth COST
57
58
59 This sets the reference bandwidth for cost calculations, where this
60 bandwidth is considered equivalent to an OSPF cost of 1, specified in
61 Mbits/s. The default is 100Mbit/s (i.e. a link of bandwidth 100Mbit/s
62 or higher will have a cost of 1. Cost of lower bandwidth links will be
63 scaled with reference to this cost).
64
65 This configuration setting MUST be consistent across all routers
66 within the OSPF domain.
67
68 .. clicmd:: maximum-paths (1-64)
69
70 Use this command to control the maximum number of parallel routes that
71 OSPFv3 can support. The default is 64.
72
73 .. clicmd:: write-multiplier (1-100)
74
75 Use this command to tune the amount of work done in the packet read and
76 write threads before relinquishing control. The parameter is the number
77 of packets to process before returning. The default value of this parameter
78 is 20.
79
80 .. clicmd:: clear ipv6 ospf6 process [vrf NAME]
81
82 This command clears up the database and routing tables and resets the
83 neighborship by restarting the interface state machine. This will be
84 helpful when there is a change in router-id and if user wants the router-id
85 change to take effect, user can use this cli instead of restarting the
86 ospf6d daemon.
87
88 .. clicmd:: clear ipv6 ospf6 [vrf NAME] interface [IFNAME]
89
90 This command restarts the interface state machine for all interfaces in the
91 VRF or only for the specific interface if ``IFNAME`` is specified.
92
93 ASBR Summarisation Support in OSPFv3
94 ====================================
95
96 External routes in OSPFv3 are carried by type 5/7 LSA (external LSAs).
97 External LSAs are generated by ASBR (Autonomous System Boundary Router).
98 Large topology database requires a large amount of router memory, which
99 slows down all processes, including SPF calculations.
100 It is necessary to reduce the size of the OSPFv3 topology database,
101 especially in a large network. Summarising routes keeps the routing
102 tables smaller and easier to troubleshoot.
103
104 External route summarization must be configured on ASBR.
105 Stub area do not allow ASBR because they don’t allow type 5 LSAs.
106
107 An ASBR will inject a summary route into the OSPFv3 domain.
108
109 Summary route will only be advertised if you have at least one subnet
110 that falls within the summary range.
111
112 Users will be allowed an option in the CLI to not advertise range of
113 ipv6 prefixes as well.
114
115 The configuration of ASBR Summarisation is supported using the CLI command
116
117 .. clicmd:: summary-address X:X::X:X/M [tag (1-4294967295)] [{metric (0-16777215) | metric-type (1-2)}]
118
119 This command will advertise a single External LSA on behalf of all the
120 prefixes falling under this range configured by the CLI.
121 The user is allowed to configure tag, metric and metric-type as well.
122 By default, tag is not configured, default metric as 20 and metric-type
123 as type-2 gets advertised.
124 A summary route is created when one or more specific routes are learned and
125 removed when no more specific route exist.
126 The summary route is also installed in the local system with Null0 as
127 next-hop to avoid leaking traffic.
128
129 .. clicmd:: no summary-address X:X::X:X/M [tag (1-4294967295)] [{metric (0-16777215) | metric-type (1-2)}]
130
131 This command can be used to remove the summarisation configuration.
132 This will flush the single External LSA if it was originated and advertise
133 the External LSAs for all the existing individual prefixes.
134
135 .. clicmd:: summary-address X:X::X:X/M no-advertise
136
137 This command can be used when user do not want to advertise a certain
138 range of prefixes using the no-advertise option.
139 This command when configured will flush all the existing external LSAs
140 falling under this range.
141
142 .. clicmd:: no summary-address X:X::X:X/M no-advertise
143
144 This command can be used to remove the previous configuration.
145 When configured, tt will resume originating external LSAs for all the prefixes
146 falling under the configured range.
147
148 .. clicmd:: aggregation timer (5-1800)
149
150 The summarisation command takes effect after the aggregation timer expires.
151 By default the value of this timer is 5 seconds. User can modify the time
152 after which the external LSAs should get originated using this command.
153
154 .. clicmd:: no aggregation timer (5-1800)
155
156 This command removes the timer configuration. It reverts back to default
157 5 second timer.
158
159 .. clicmd:: show ipv6 ospf6 summary-address [detail] [json]
160
161 This command can be used to see all the summary-address related information.
162 When detail option is used, it shows all the prefixes falling under each
163 summary-configuration apart from other information.
164
165 .. _ospf6-area:
166
167 OSPF6 area
168 ==========
169
170 .. clicmd:: area A.B.C.D range X:X::X:X/M [<advertise|not-advertise|cost (0-16777215)>]
171
172 .. clicmd:: area (0-4294967295) range X:X::X:X/M [<advertise|not-advertise|cost (0-16777215)>]
173
174 Summarize a group of internal subnets into a single Inter-Area-Prefix LSA.
175 This command can only be used at the area boundary (ABR router).
176
177 By default, the metric of the summary route is calculated as the highest
178 metric among the summarized routes. The `cost` option, however, can be used
179 to set an explicit metric.
180
181 The `not-advertise` option, when present, prevents the summary route from
182 being advertised, effectively filtering the summarized routes.
183
184 .. clicmd:: area A.B.C.D nssa [no-summary] [default-information-originate [metric-type (1-2)] [metric (0-16777214)]]
185
186 .. clicmd:: area (0-4294967295) nssa [no-summary] [default-information-originate [metric-type (1-2)] [metric (0-16777214)]]
187
188 Configure the area to be a NSSA (Not-So-Stubby Area).
189
190 The following functionalities are implemented as per RFC 3101:
191
192 1. Advertising Type-7 LSA into NSSA area when external route is
193 redistributed into OSPFv3.
194 2. Processing Type-7 LSA received from neighbor and installing route in the
195 route table.
196 3. Support for NSSA ABR functionality which is generating Type-5 LSA when
197 backbone area is configured. Currently translation of Type-7 LSA to
198 Type-5 LSA is enabled by default.
199 4. Support for NSSA Translator functionality when there are multiple NSSA
200 ABR in an area.
201
202 An NSSA ABR can be configured with the `no-summary` option to prevent the
203 advertisement of summaries into the area. In that case, a single Type-3 LSA
204 containing a default route is originated into the NSSA.
205
206 NSSA ABRs and ASBRs can be configured with `default-information-originate`
207 option to originate a Type-7 default route into the NSSA area. In the case
208 of NSSA ASBRs, the origination of the default route is conditioned to the
209 existence of a default route in the RIB that wasn't learned via the OSPF
210 protocol.
211
212 .. clicmd:: area A.B.C.D nssa range X:X::X:X/M [<not-advertise|cost (0-16777215)>]
213
214 .. clicmd:: area (0-4294967295) nssa range X:X::X:X/M [<not-advertise|cost (0-16777215)>]
215
216 Summarize a group of external subnets into a single Type-7 LSA, which is
217 then translated to a Type-5 LSA and avertised to the backbone.
218 This command can only be used at the area boundary (NSSA ABR router).
219
220 By default, the metric of the summary route is calculated as the highest
221 metric among the summarized routes. The `cost` option, however, can be used
222 to set an explicit metric.
223
224 The `not-advertise` option, when present, prevents the summary route from
225 being advertised, effectively filtering the summarized routes.
226
227 .. clicmd:: area A.B.C.D export-list NAME
228
229 .. clicmd:: area (0-4294967295) export-list NAME
230
231 Filter Type-3 summary-LSAs announced to other areas originated from intra-
232 area paths from specified area.
233
234 .. code-block:: frr
235
236 router ospf6
237 area 0.0.0.10 export-list foo
238 !
239 ipv6 access-list foo permit 2001:db8:1000::/64
240 ipv6 access-list foo deny any
241
242 With example above any intra-area paths from area 0.0.0.10 and from range
243 2001:db8::/32 (for example 2001:db8:1::/64 and 2001:db8:2::/64) are announced
244 into other areas as Type-3 summary-LSA's, but any others (for example
245 2001:200::/48) aren't.
246
247 This command is only relevant if the router is an ABR for the specified
248 area.
249
250 .. clicmd:: area A.B.C.D import-list NAME
251
252 .. clicmd:: area (0-4294967295) import-list NAME
253
254 Same as export-list, but it applies to paths announced into specified area
255 as Type-3 summary-LSAs.
256
257 .. clicmd:: area A.B.C.D filter-list prefix NAME in
258
259 .. clicmd:: area A.B.C.D filter-list prefix NAME out
260
261 .. clicmd:: area (0-4294967295) filter-list prefix NAME in
262
263 .. clicmd:: area (0-4294967295) filter-list prefix NAME out
264
265 Filtering Type-3 summary-LSAs to/from area using prefix lists. This command
266 makes sense in ABR only.
267
268 .. _ospf6-interface:
269
270 OSPF6 interface
271 ===============
272
273 .. clicmd:: ipv6 ospf6 area <A.B.C.D|(0-4294967295)>
274
275 Enable OSPFv3 on the interface and add it to the specified area.
276
277 .. clicmd:: ipv6 ospf6 cost COST
278
279 Sets interface's output cost. Default value depends on the interface
280 bandwidth and on the auto-cost reference bandwidth.
281
282 .. clicmd:: ipv6 ospf6 hello-interval HELLOINTERVAL
283
284 Sets interface's Hello Interval. Default 10
285
286 .. clicmd:: ipv6 ospf6 dead-interval DEADINTERVAL
287
288 Sets interface's Router Dead Interval. Default value is 40.
289
290 .. clicmd:: ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL
291
292 Sets interface's Rxmt Interval. Default value is 5.
293
294 .. clicmd:: ipv6 ospf6 priority PRIORITY
295
296 Sets interface's Router Priority. Default value is 1.
297
298 .. clicmd:: ipv6 ospf6 transmit-delay TRANSMITDELAY
299
300 Sets interface's Inf-Trans-Delay. Default value is 1.
301
302 .. clicmd:: ipv6 ospf6 network (broadcast|point-to-point)
303
304 Set explicitly network type for specified interface.
305
306 OSPF6 route-map
307 ===============
308
309 Usage of *ospfd6*'s route-map support.
310
311 .. clicmd:: set metric [+|-](0-4294967295)
312
313 Set a metric for matched route when sending announcement. Use plus (+) sign
314 to add a metric value to an existing metric. Use minus (-) sign to
315 substract a metric value from an existing metric.
316
317 .. _redistribute-routes-to-ospf6:
318
319 Redistribute routes to OSPF6
320 ============================
321
322 .. clicmd:: redistribute <babel|bgp|connected|isis|kernel|openfabric|ripng|sharp|static|table> [metric-type (1-2)] [metric (0-16777214)] [route-map WORD]
323
324 Redistribute routes of the specified protocol or kind into OSPFv3, with the
325 metric type and metric set if specified, filtering the routes using the
326 given route-map if specified.
327
328 .. clicmd:: default-information originate [{always|metric (0-16777214)|metric-type (1-2)|route-map WORD}]
329
330 The command injects default route in the connected areas. The always
331 argument injects the default route regardless of it being present in the
332 router. Metric values and route-map can also be specified optionally.
333
334 Graceful Restart
335 ================
336
337 .. clicmd:: graceful-restart [grace-period (1-1800)]
338
339
340 Configure Graceful Restart (RFC 5187) restarting support.
341 When enabled, the default grace period is 120 seconds.
342
343 To perform a graceful shutdown, the "graceful-restart prepare ipv6 ospf"
344 EXEC-level command needs to be issued before restarting the ospf6d daemon.
345
346 .. clicmd:: graceful-restart helper enable [A.B.C.D]
347
348
349 Configure Graceful Restart (RFC 5187) helper support.
350 By default, helper support is disabled for all neighbours.
351 This config enables/disables helper support on this router
352 for all neighbours.
353 To enable/disable helper support for a specific
354 neighbour, the router-id (A.B.C.D) has to be specified.
355
356 .. clicmd:: graceful-restart helper strict-lsa-checking
357
358
359 If 'strict-lsa-checking' is configured then the helper will
360 abort the Graceful Restart when a LSA change occurs which
361 affects the restarting router.
362 By default 'strict-lsa-checking' is enabled"
363
364 .. clicmd:: graceful-restart helper supported-grace-time (10-1800)
365
366
367 Supports as HELPER for configured grace period.
368
369 .. clicmd:: graceful-restart helper planned-only
370
371
372 It helps to support as HELPER only for planned
373 restarts. By default, it supports both planned and
374 unplanned outages.
375
376 .. clicmd:: graceful-restart prepare ipv6 ospf
377
378
379 Initiate a graceful restart for all OSPFv3 instances configured with the
380 "graceful-restart" command. The ospf6d daemon should be restarted during
381 the instance-specific grace period, otherwise the graceful restart will fail.
382
383 This is an EXEC-level command.
384
385
386 .. _Authentication-trailer:
387
388 Authentication trailer support:
389 ===============================
390 IPv4 version of OSPF supports authentication as part of the base RFC.
391 When IPv6 version of OSPF was developed there was IPSec support for IPv6,
392 Hence OSPFv3(IPv6 version of OSPF) suggest to use IPSec as authentication
393 and encryption mechanism. IPSec supports authentication using AH header and
394 Encryption using ESP.
395
396 There are few disadvantages of using IPSec with OSPFv3.
397 1. If encryption is enabled for OSPFv3 packets, then its not
398 possible to give priority to control packets.
399 2. IPSec has platform dependency and may not be supported
400 in all platforms.
401 3. It is performance intensive.
402 4. Its difficult to configure.
403
404
405 Some advantages of OSPFv3 authentication trailer feature.
406 1. It provides replay protection via sequence number.
407 2. It provides IPv6 source address protection.
408 3. No platform dependency.
409 4. Easy to implement and maintain.
410
411
412 This feature is support for ``RFC7166``.
413
414 FRR supports MD5 and SHA256 internally and relays on openssl for other hash
415 algorithms. If user wants to use only MD5 and SHA256, no special action is
416 required. If user wants complete support of authentication trailer with all
417 hash algorithms follow below steps.
418
419
420 Installing Dependencies:
421 ------------------------
422
423 .. code-block:: console
424
425 sudo apt update
426 sudo apt-get install openssl
427
428
429 Compile:
430 --------
431 Follow normal compilation as mentioned in the build page. If you want to
432 use all the hash algorithms then follow the steps mentioned in note before
433 compiling.
434
435
436 .. note::
437
438 If your platform supports ``openssl``, please make sure to add
439 ``--with-crypto=openssl`` to your configure options.
440 Default value is ``--with-crypto=internal``
441
442
443 CLI Configuration:
444 ------------------
445 There are two ways in which authentication trailer can be configured for
446 OSPFv3. These commands are mutually exclusive, only one can be configured
447 at any time.
448
449 1. Using manual key configuration.
450 2. Using keychain.
451
452
453 List of hash algorithms supported:
454 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
455
456 Without openssl:
457 ++++++++++++++++
458 ``MD5``
459 ``HMAC-SHA-256``
460
461
462 With openssl:
463 +++++++++++++
464 ``MD5``
465 ``HMAC-SHA-1``
466 ``HMAC-SHA-256``
467 ``HMAC-SHA-384``
468 ``HMAC-SHA-512``
469
470
471 Example configuration of manual key:
472 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
473
474 Without openssl:
475 ++++++++++++++++
476
477 .. clicmd:: ipv6 ospf6 authentication key-id (1-65535) hash-algo <md5|hmac-sha-256> key WORD
478
479 With openssl:
480 +++++++++++++
481
482 .. clicmd:: ipv6 ospf6 authentication key-id (1-65535) hash-algo <md5|hmac-sha-256|hmac-sha-1|hmac-sha-384|hmac-sha-512> key WORD
483
484
485 Example configuration of keychain:
486 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
487
488 .. clicmd:: ipv6 ospf6 authentication keychain KEYCHAIN_NAME
489
490
491 Running configuration:
492 ----------------------
493
494 Manual key:
495 ^^^^^^^^^^^
496
497 .. code-block:: frr
498
499 frr# show running-config
500 Building configuration...
501
502 Current configuration:
503 !
504 interface ens192
505 ipv6 address 2001:DB8::2/64
506 ipv6 ospf6 authentication key-id 10 hash-algo hmac-sha-256 key abhinay
507
508 Keychain:
509 ^^^^^^^^^
510
511 .. code-block:: frr
512
513 frr# show running-config
514 Building configuration...
515
516 Current configuration:
517 !
518 interface ens192
519 ipv6 address 2001:DB8::2/64
520 ipv6 ospf6 authentication keychain abhinay
521
522
523 Example keychain config:
524 ^^^^^^^^^^^^^^^^^^^^^^^^
525
526 .. code-block:: frr
527
528 frr#show running-config
529 Building configuration...
530
531 Current configuration:
532 !
533 key chain abcd
534 key 100
535 key-string password
536 cryptographic-algorithm sha1
537 exit
538 key 200
539 key-string password
540 cryptographic-algorithm sha256
541 exit
542 !
543 key chain pqr
544 key 300
545 key-string password
546 cryptographic-algorithm sha384
547 exit
548 key 400
549 key-string password
550 cryptographic-algorithm sha384
551 exit
552 !
553
554 Show commands:
555 --------------
556 There is an interface show command that displays if authentication trailer
557 is enabled or not. json output is also supported.
558
559 There is support for drop counters, which will help in debugging the feature.
560
561 .. code-block:: frr
562
563 frr# show ipv6 ospf6 interface ens192
564 ens192 is up, type BROADCAST
565 Interface ID: 5
566 Number of I/F scoped LSAs is 2
567 0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
568 0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
569 Authentication trailer is enabled with manual key ==> new info added
570 Packet drop Tx 0, Packet drop Rx 0
571
572
573 OSPFv3 supports options in hello and database description packets hence
574 the presence of authentication trailer needs to be stored in OSPFv3
575 neighbor info. Since RFC specifies that we need to handled sequence number
576 for every ospf6 packet type, sequence number recvd in authentication header
577 from the neighbor is stored in neighbor to validate the packet.
578 json output is also supported.
579
580 .. code-block:: frr
581
582 frr# show ipv6 ospf6 neighbor 2.2.2.2 detail
583 Neighbor 2.2.2.2%ens192
584 Area 1 via interface ens192 (ifindex 3)
585 0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
586 0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
587 Authentication header present ==> new info added
588 hello DBDesc LSReq LSUpd LSAck
589 Higher sequence no 0x0 0x0 0x0 0x0 0x0
590 Lower sequence no 0x242E 0x1DC4 0x1DC3 0x23CC 0x1DDA
591
592 Sent packet sequence number is maintained per ospf6 router for every packet
593 that is sent out of router, so sequence number is maintained per ospf6 process.
594
595 .. code-block:: frr
596
597 frr# show ipv6 ospf6
598 OSPFv3 Routing Process (0) with Router-ID 2.2.2.2
599 Number of areas in this router is 1
600 Authentication Sequence number info
601 Higher sequence no 3, Lower sequence no 1656
602
603 Debug command:
604 --------------
605 Below command can be used to enable ospfv3 authentication trailer
606 specific logs if you have to debug the feature.
607
608 .. clicmd:: debug ospf6 authentication [<tx|rx>]
609
610 Feature supports authentication trailer tx/rx drop counters for debugging,
611 which can be used to see if packets are getting dropped due to error in
612 processing authentication trailer information in OSPFv3 packet.
613 json output is also supported.
614
615 .. code-block:: frr
616
617 frr# show ipv6 ospf6 interface ens192
618 ens192 is up, type BROADCAST
619 Interface ID: 5
620 Number of I/F scoped LSAs is 2
621 0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
622 0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
623 Authentication trailer is enabled with manual key
624 Packet drop Tx 0, Packet drop Rx 0 ==> new counters
625
626 Clear command:
627 --------------
628 Below command can be used to clear the tx/rx drop counters in interface.
629 Below command can be used to clear all ospfv3 interface or specific
630 interface by specifying the interface name.
631
632 .. clicmd:: clear ipv6 ospf6 auth-counters interface [IFNAME]
633
634
635
636 .. _showing-ospf6-information:
637
638 Showing OSPF6 information
639 =========================
640
641 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] [json]
642
643 Show information on a variety of general OSPFv3 and area state and
644 configuration information. JSON output can be obtained by appending 'json'
645 to the end of command.
646
647 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database [<detail|dump|internal>] [json]
648
649 This command shows LSAs present in the LSDB. There are three view options.
650 These options helps in viewing all the parameters of the LSAs. JSON output
651 can be obtained by appending 'json' to the end of command. JSON option is
652 not applicable with 'dump' option.
653
654 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database <router|network|inter-prefix|inter-router|as-external|group-membership|type-7|link|intra-prefix> [json]
655
656 These options filters out the LSA based on its type. The three views options
657 works here as well. JSON output can be obtained by appending 'json' to the
658 end of command.
659
660 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database adv-router A.B.C.D linkstate-id A.B.C.D [json]
661
662 The LSAs additinally can also be filtered with the linkstate-id and
663 advertising-router fields. We can use the LSA type filter and views with
664 this command as well and visa-versa. JSON output can be obtained by
665 appending 'json' to the end of command.
666
667 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database self-originated [json]
668
669 This command is used to filter the LSAs which are originated by the present
670 router. All the other filters are applicable here as well.
671
672 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface [json]
673
674 To see OSPF interface configuration like costs. JSON output can be
675 obtained by appending "json" in the end.
676
677 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] neighbor [json]
678
679 Shows state and chosen (Backup) DR of neighbor. JSON output can be
680 obtained by appending 'json' at the end.
681
682 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface traffic [json]
683
684 Shows counts of different packets that have been received and transmitted
685 by the interfaces. JSON output can be obtained by appending "json" at the
686 end.
687
688 .. clicmd:: show ipv6 route ospf6
689
690 This command shows internal routing table.
691
692 .. clicmd:: show ipv6 ospf6 zebra [json]
693
694 Shows state about what is being redistributed between zebra and OSPF6.
695 JSON output can be obtained by appending "json" at the end.
696
697 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] redistribute [json]
698
699 Shows the routes which are redistributed by the router. JSON output can
700 be obtained by appending 'json' at the end.
701
702 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] route [<intra-area|inter-area|external-1|external-2|X:X::X:X|X:X::X:X/M|detail|summary>] [json]
703
704 This command displays the ospfv3 routing table as determined by the most
705 recent SPF calculations. Options are provided to view the different types
706 of routes. Other than the standard view there are two other options, detail
707 and summary. JSON output can be obtained by appending 'json' to the end of
708 command.
709
710 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] route X:X::X:X/M match [detail] [json]
711
712 The additional match option will match the given address to the destination
713 of the routes, and return the result accordingly.
714
715 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface [IFNAME] prefix [detail|<X:X::X:X|X:X::X:X/M> [<match|detail>]] [json]
716
717 This command shows the prefixes present in the interface routing table.
718 Interface name can also be given. JSON output can be obtained by appending
719 'json' to the end of command.
720
721 .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] spf tree [json]
722
723 This commands shows the spf tree from the recent spf calculation with the
724 calling router as the root. If json is appended in the end, we can get the
725 tree in JSON format. Each area that the router belongs to has it's own
726 JSON object, with each router having "cost", "isLeafNode" and "children" as
727 arguments.
728
729 .. clicmd:: show ipv6 ospf6 graceful-restart helper [detail] [json]
730
731 This command shows the graceful-restart helper details including helper
732 configuration parameters.
733
734 .. _ospf6-debugging:
735
736 OSPFv3 Debugging
737 ================
738
739 The following debug commands are supported:
740
741 .. clicmd:: debug ospf6 abr
742
743 Toggle OSPFv3 ABR debugging messages.
744
745 .. clicmd:: debug ospf6 asbr
746
747 Toggle OSPFv3 ASBR debugging messages.
748
749 .. clicmd:: debug ospf6 border-routers {router-id [A.B.C.D] | area-id [A.B.C.D]}
750
751 Toggle OSPFv3 border router debugging messages. This can be specified for a
752 router with specific Router-ID/Area-ID.
753
754 .. clicmd:: debug ospf6 flooding
755
756 Toggle OSPFv3 flooding debugging messages.
757
758 .. clicmd:: debug ospf6 interface
759
760 Toggle OSPFv3 interface related debugging messages.
761
762 .. clicmd:: debug ospf6 lsa
763
764 Toggle OSPFv3 Link State Advertisements debugging messages.
765
766 .. clicmd:: debug ospf6 lsa aggregation
767
768 Toggle OSPFv3 Link State Advertisements summarization debugging messages.
769
770 .. clicmd:: debug ospf6 message
771
772 Toggle OSPFv3 message exchange debugging messages.
773
774 .. clicmd:: debug ospf6 neighbor
775
776 Toggle OSPFv3 neighbor interaction debugging messages.
777
778 .. clicmd:: debug ospf6 nssa
779
780 Toggle OSPFv3 Not So Stubby Area (NSSA) debugging messages.
781
782 .. clicmd:: debug ospf6 route
783
784 Toggle OSPFv3 routes debugging messages.
785
786 .. clicmd:: debug ospf6 spf
787
788 Toggle OSPFv3 Shortest Path calculation debugging messages.
789
790 .. clicmd:: debug ospf6 zebra
791
792 Toggle OSPFv3 zebra interaction debugging messages.
793
794 .. clicmd:: debug ospf6 graceful-restart
795
796 Toggle OSPFv3 graceful-restart helper debugging messages.
797
798 Sample configuration
799 ====================
800
801 Example of ospf6d configured on one interface and area:
802
803 .. code-block:: frr
804
805 interface eth0
806 ipv6 ospf6 area 0.0.0.0
807 ipv6 ospf6 instance-id 0
808 !
809 router ospf6
810 ospf6 router-id 212.17.55.53
811 area 0.0.0.0 range 2001:770:105:2::/64
812 !
813
814
815 Larger example with policy and various options set:
816
817
818 .. code-block:: frr
819
820 debug ospf6 neighbor state
821 !
822 interface fxp0
823 ipv6 ospf6 area 0.0.0.0
824 ipv6 ospf6 cost 1
825 ipv6 ospf6 hello-interval 10
826 ipv6 ospf6 dead-interval 40
827 ipv6 ospf6 retransmit-interval 5
828 ipv6 ospf6 priority 0
829 ipv6 ospf6 transmit-delay 1
830 ipv6 ospf6 instance-id 0
831 !
832 interface lo0
833 ipv6 ospf6 cost 1
834 ipv6 ospf6 hello-interval 10
835 ipv6 ospf6 dead-interval 40
836 ipv6 ospf6 retransmit-interval 5
837 ipv6 ospf6 priority 1
838 ipv6 ospf6 transmit-delay 1
839 ipv6 ospf6 instance-id 0
840 !
841 router ospf6
842 router-id 255.1.1.1
843 redistribute static route-map static-ospf6
844 !
845 access-list access4 permit 127.0.0.1/32
846 !
847 ipv6 access-list access6 permit 3ffe:501::/32
848 ipv6 access-list access6 permit 2001:200::/48
849 ipv6 access-list access6 permit ::1/128
850 !
851 ipv6 prefix-list test-prefix seq 1000 deny any
852 !
853 route-map static-ospf6 permit 10
854 match ipv6 address prefix-list test-prefix
855 set metric-type type-2
856 set metric 2000
857 !
858 line vty
859 access-class access4
860 ipv6 access-class access6
861 exec-timeout 0 0
862 !