]> git.proxmox.com Git - mirror_frr.git/blame - doc/user/ospf6d.rst
Merge pull request #8909 from idryzhov/isis-conf
[mirror_frr.git] / doc / user / ospf6d.rst
CommitLineData
11ab5329 1.. _ospfv3:
42fc5d26
QY
2
3******
4OSPFv3
5******
6
c1a54c05
QY
7*ospf6d* is a daemon support OSPF version 3 for IPv6 network. OSPF for IPv6 is
8described in :rfc:`2740`.
42fc5d26 9
11ab5329 10.. _ospf6-router:
42fc5d26
QY
11
12OSPF6 router
13============
14
487df450 15.. clicmd:: router ospf6 [vrf NAME]
42fc5d26 16
cb762746 17.. clicmd:: ospf6 router-id A.B.C.D
42fc5d26 18
c1a54c05 19 Set router's Router-ID.
42fc5d26 20
1e31580f 21.. clicmd:: timers throttle spf (0-600000) (0-600000) (0-600000)
42fc5d26 22
c1a54c05
QY
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.
42fc5d26 27
c1a54c05
QY
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).
42fc5d26 32
d1e7591e 33 Consecutive SPF calculations will always be separated by at least
c1a54c05
QY
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
d1e7591e 39 hold-time elapses without any SPF-triggering event occurring then
9eb95b3b
QY
40 the current holdtime is reset to the `initial-holdtime`.
41
42 .. code-block:: frr
42fc5d26 43
42fc5d26
QY
44 router ospf6
45 timers throttle spf 200 400 10000
a8c90e15 46
42fc5d26 47
c1a54c05
QY
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
d1e7591e 52 separated by between 400ms to 10s, the hold-time increasing by 400ms each
c1a54c05
QY
53 time an SPF-triggering event occurs within the hold-time of the previous
54 SPF calculation.
42fc5d26 55
c1a54c05 56.. clicmd:: auto-cost reference-bandwidth COST
42fc5d26 57
42fc5d26 58
c1a54c05
QY
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).
42fc5d26 64
c1a54c05
QY
65 This configuration setting MUST be consistent across all routers
66 within the OSPF domain.
42fc5d26 67
a874b986 68.. clicmd:: maximum-paths (1-64)
1958143e
MR
69
70 Use this command to control the maximum number of parallel routes that
71 OSPFv3 can support. The default is 64.
72
44db98df
PR
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
a874b986 80
11ab5329 81.. _ospf6-area:
42fc5d26
QY
82
83OSPF6 area
84==========
85
fb00683a
K
86.. index:: [no] area A.B.C.D nssa
87.. clicmd:: [no] area A.B.C.D nssa
88
89NSSA Support in OSPFv3
90=======================
91
92The configuration of NSSA areas in OSPFv3 is supported using the CLI command
84f38d8c 93``area A.B.C.D nssa`` in ospf6 router configuration mode.
fb00683a
K
94The following functionalities are implemented as per RFC 3101:
95
961. Advertising Type-7 LSA into NSSA area when external route is redistributed
97 into OSPFv3
982. Processing Type-7 LSA received from neighbor and installing route in the
99 route table
1003. Support for NSSA ABR functionality which is generating Type-5 LSA when
84f38d8c 101 backbone area is configured. Currently translation of Type-7 LSA to Type-5 LSA
fb00683a
K
102 is enabled by default.
1034. Support for NSSA Translator functionality when there are multiple NSSA ABR
104 in an area
42fc5d26 105
11ab5329 106.. _ospf6-interface:
42fc5d26
QY
107
108OSPF6 interface
109===============
110
aa47a69b
IR
111.. clicmd:: ipv6 ospf6 area <A.B.C.D|(0-4294967295)>
112
113 Enable OSPFv3 on the interface and add it to the specified area.
114
c1a54c05 115.. clicmd:: ipv6 ospf6 cost COST
42fc5d26 116
c1a54c05
QY
117 Sets interface's output cost. Default value depends on the interface
118 bandwidth and on the auto-cost reference bandwidth.
42fc5d26 119
c1a54c05 120.. clicmd:: ipv6 ospf6 hello-interval HELLOINTERVAL
42fc5d26 121
2de01166 122 Sets interface's Hello Interval. Default 10
42fc5d26 123
c1a54c05 124.. clicmd:: ipv6 ospf6 dead-interval DEADINTERVAL
42fc5d26 125
c1a54c05 126 Sets interface's Router Dead Interval. Default value is 40.
42fc5d26 127
c1a54c05 128.. clicmd:: ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL
42fc5d26 129
c1a54c05 130 Sets interface's Rxmt Interval. Default value is 5.
42fc5d26 131
c1a54c05 132.. clicmd:: ipv6 ospf6 priority PRIORITY
42fc5d26 133
c1a54c05 134 Sets interface's Router Priority. Default value is 1.
42fc5d26 135
c1a54c05 136.. clicmd:: ipv6 ospf6 transmit-delay TRANSMITDELAY
42fc5d26 137
c1a54c05 138 Sets interface's Inf-Trans-Delay. Default value is 1.
42fc5d26 139
c1a54c05 140.. clicmd:: ipv6 ospf6 network (broadcast|point-to-point)
42fc5d26 141
d1e7591e 142 Set explicitly network type for specified interface.
42fc5d26 143
243892e0
DA
144OSPF6 route-map
145===============
146
147Usage of *ospfd6*'s route-map support.
148
243892e0
DA
149.. clicmd:: set metric [+|-](0-4294967295)
150
151 Set a metric for matched route when sending announcement. Use plus (+) sign
152 to add a metric value to an existing metric. Use minus (-) sign to
153 substract a metric value from an existing metric.
154
11ab5329 155.. _redistribute-routes-to-ospf6:
42fc5d26
QY
156
157Redistribute routes to OSPF6
158============================
159
1e31580f 160.. clicmd:: redistribute <babel|bgp|connected|isis|kernel|openfabric|ripng|sharp|static|table> [route-map WORD]
42fc5d26 161
1e31580f 162 Redistribute routes from other protocols into OSPFv3.
42fc5d26 163
94e1125e
YR
164.. clicmd:: default-information originate [{always|metric (0-16777214)|metric-type (1-2)|route-map WORD}]
165
166 The command injects default route in the connected areas. The always
167 argument injects the default route regardless of it being present in the
168 router. Metric values and route-map can also be specified optionally.
42fc5d26 169
11ab5329 170.. _showing-ospf6-information:
42fc5d26
QY
171
172Showing OSPF6 information
173=========================
174
487df450 175.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] [json]
42fc5d26 176
487df450
IR
177 Show information on a variety of general OSPFv3 and area state and
178 configuration information. JSON output can be obtained by appending 'json'
179 to the end of command.
42fc5d26 180
487df450 181.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database [<detail|dump|internal>] [json]
42fc5d26 182
e4bacbaa
YR
183 This command shows LSAs present in the LSDB. There are three view options.
184 These options helps in viewing all the parameters of the LSAs. JSON output
185 can be obtained by appending 'json' to the end of command. JSON option is
186 not applicable with 'dump' option.
187
487df450 188.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database <router|network|inter-prefix|inter-router|as-external|group-membership|type-7|link|intra-prefix> [json]
e4bacbaa
YR
189
190 These options filters out the LSA based on its type. The three views options
191 works here as well. JSON output can be obtained by appending 'json' to the
192 end of command.
193
487df450 194.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database adv-router A.B.C.D linkstate-id A.B.C.D [json]
e4bacbaa
YR
195
196 The LSAs additinally can also be filtered with the linkstate-id and
197 advertising-router fields. We can use the LSA type filter and views with
198 this command as well and visa-versa. JSON output can be obtained by
199 appending 'json' to the end of command.
200
487df450 201.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] database self-originated [json]
e4bacbaa
YR
202
203 This command is used to filter the LSAs which are originated by the present
204 router. All the other filters are applicable here as well.
42fc5d26 205
487df450 206.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface [json]
42fc5d26 207
f16ae8cf 208 To see OSPF interface configuration like costs. JSON output can be
209 obtained by appending "json" in the end.
42fc5d26 210
487df450 211.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] neighbor [json]
42fc5d26 212
6a5bb300 213 Shows state and chosen (Backup) DR of neighbor. JSON output can be
214 obtained by appending 'json' at the end.
42fc5d26 215
487df450 216.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface traffic [json]
ba30b376 217
218 Shows counts of different packets that have been recieved and transmitted
219 by the interfaces. JSON output can be obtained by appending "json" at the
220 end.
221
c1a54c05 222.. clicmd:: show ipv6 route ospf6
42fc5d26 223
c1a54c05 224 This command shows internal routing table.
42fc5d26 225
9ebb75c5 226.. clicmd:: show ipv6 ospf6 zebra [json]
42fc5d26 227
9ebb75c5 228 Shows state about what is being redistributed between zebra and OSPF6.
229 JSON output can be obtained by appending "json" at the end.
42fc5d26 230
487df450 231.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] redistribute [json]
dd726234 232
233 Shows the routes which are redistributed by the router. JSON output can
234 be obtained by appending 'json' at the end.
235
487df450 236.. 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]
eacd0828
YR
237
238 This command displays the ospfv3 routing table as determined by the most
239 recent SPF calculations. Options are provided to view the different types
240 of routes. Other than the standard view there are two other options, detail
241 and summary. JSON output can be obtained by appending 'json' to the end of
242 command.
243
487df450 244.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] route X:X::X:X/M match [detail] [json]
eacd0828
YR
245
246 The additional match option will match the given address to the destination
247 of the routes, and return the result accordingly.
248
487df450 249.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface [IFNAME] prefix [detail|<X:X::X:X|X:X::X:X/M> [<match|detail>]] [json]
35aeb295
YR
250
251 This command shows the prefixes present in the interface routing table.
252 Interface name can also be given. JSON output can be obtained by appending
253 'json' to the end of command.
254
487df450 255.. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] spf tree [json]
305b639b
YR
256
257 This commands shows the spf tree from the recent spf calculation with the
258 calling router as the root. If json is appended in the end, we can get the
259 tree in JSON format. Each area that the router belongs to has it's own
260 JSON object, with each router having "cost", "isLeafNode" and "children" as
261 arguments.
51d0d8f3 262
b832909b
QY
263
264Sample configuration
265====================
42fc5d26
QY
266
267Example of ospf6d configured on one interface and area:
268
9eb95b3b 269.. code-block:: frr
42fc5d26 270
c1a54c05 271 interface eth0
aa47a69b 272 ipv6 ospf6 area 0.0.0.0
c1a54c05
QY
273 ipv6 ospf6 instance-id 0
274 !
275 router ospf6
349ee664 276 ospf6 router-id 212.17.55.53
c1a54c05 277 area 0.0.0.0 range 2001:770:105:2::/64
c1a54c05 278 !
b832909b
QY
279
280
281Larger example with policy and various options set:
282
283
284.. code-block:: frr
285
286 debug ospf6 neighbor state
287 !
288 interface fxp0
aa47a69b 289 ipv6 ospf6 area 0.0.0.0
b832909b
QY
290 ipv6 ospf6 cost 1
291 ipv6 ospf6 hello-interval 10
292 ipv6 ospf6 dead-interval 40
293 ipv6 ospf6 retransmit-interval 5
294 ipv6 ospf6 priority 0
295 ipv6 ospf6 transmit-delay 1
296 ipv6 ospf6 instance-id 0
297 !
298 interface lo0
299 ipv6 ospf6 cost 1
300 ipv6 ospf6 hello-interval 10
301 ipv6 ospf6 dead-interval 40
302 ipv6 ospf6 retransmit-interval 5
303 ipv6 ospf6 priority 1
304 ipv6 ospf6 transmit-delay 1
305 ipv6 ospf6 instance-id 0
306 !
307 router ospf6
308 router-id 255.1.1.1
309 redistribute static route-map static-ospf6
b832909b
QY
310 !
311 access-list access4 permit 127.0.0.1/32
312 !
313 ipv6 access-list access6 permit 3ffe:501::/32
314 ipv6 access-list access6 permit 2001:200::/48
315 ipv6 access-list access6 permit ::1/128
316 !
317 ipv6 prefix-list test-prefix seq 1000 deny any
318 !
319 route-map static-ospf6 permit 10
320 match ipv6 address prefix-list test-prefix
321 set metric-type type-2
322 set metric 2000
323 !
324 line vty
325 access-class access4
326 ipv6 access-class access6
327 exec-timeout 0 0
328 !
91603891 329
330
331Configuration Limits
332====================
333
334Ospf6d currently supports 100 interfaces addresses if MTU is set to
335default value, and 200 interface addresses if MTU is set to jumbo
336packet size or larger.
337
338