@@ -12,7 +12,7 @@ The following section provides reference examples that use the `FRRConfiguration
12
12
== The routers field
13
13
14
14
You can use the `routers` field to configure multiple routers, one for each Virtual Routing and Forwarding (VRF) resource.
15
- For each router, you must define the Autonomous System Number (ASN).
15
+ For each router, you must define the Autonomous System Number (ASN).
16
16
17
17
You can also define a list of Border Gateway Protocol (BGP) neighbors to connect to, as in the following example:
18
18
41
41
[id="nw-metallb-frrconfiguration-crd-toadvertise_{context}"]
42
42
== The toAdvertise field
43
43
44
- By default, `FRR-K8s` does not advertise the prefixes configured as part of a router configuration.
44
+ By default, `FRR-K8s` does not advertise the prefixes configured as part of a router configuration.
45
45
In order to advertise them, you use the `toAdvertise` field.
46
46
47
47
You can advertise a subset of the prefixes, as in the following example:
@@ -104,7 +104,7 @@ spec:
104
104
[id="nw-metallb-frrconfiguration-crd-toreceive_{context}"]
105
105
== The toReceive field
106
106
107
- By default, `FRR-K8s` does not process any prefixes advertised by a neighbor.
107
+ By default, `FRR-K8s` does not process any prefixes advertised by a neighbor.
108
108
You can use the `toReceive` field to process such addresses.
109
109
110
110
You can configure for a subset of the prefixes, as in this example:
@@ -161,7 +161,7 @@ spec:
161
161
[id="nw-metallb-frrconfiguration-crd-bgp_{context}"]
162
162
== The bgp field
163
163
164
- You can use the `bgp` field to define various `BFD` profiles and associate them with a neighbor.
164
+ You can use the `bgp` field to define various `BFD` profiles and associate them with a neighbor.
165
165
In the following example, `BFD` backs up the `BGP` session and `FRR` can detect link failures:
166
166
167
167
.Example FRRConfiguration CR
@@ -241,31 +241,38 @@ The fields for the `FRRConfiguration` custom resource are described in the follo
241
241
|`spec.bgp.routers.neighbors.asn`
242
242
|`integer`
243
243
|Specifies the ASN to use for the remote end of the session.
244
+ |If you use this field, you cannot specify a value in the `spec.bgp.routers.neighbors.dynamicASN` field.
245
+
246
+ |`spec.bgp.routers.neighbors.dynamicASN`
247
+ |`string`
248
+ |Detects the ASN to use for the remote end of the session without explicitly setting it.
249
+ Specify `internal` for a neighbor with the same ASN, or `external` for a neighbor with a different ASN.
250
+ If you use this field, you cannot specify a value in the `spec.bgp.routers.neighbors.asn` field.
244
251
245
252
|`spec.bgp.routers.neighbors.address`
246
253
|`string`
247
254
|Specifies the IP address to establish the session with.
248
255
249
256
|`spec.bgp.routers.neighbors.port`
250
257
|`integer`
251
- |Specifies the port to dial when establishing the session.
258
+ |Specifies the port to dial when establishing the session.
252
259
Defaults to 179.
253
260
254
261
|`spec.bgp.routers.neighbors.password`
255
262
|`string`
256
- |Specifies the password to use for establishing the BGP session.
263
+ |Specifies the password to use for establishing the BGP session.
257
264
`Password` and `PasswordSecret` are mutually exclusive.
258
265
259
266
|`spec.bgp.routers.neighbors.passwordSecret`
260
267
|`string`
261
- |Specifies the name of the authentication secret for the neighbor.
262
- The secret must be of type "kubernetes.io/basic-auth", and in the same namespace as the FRR-K8s daemon.
263
- The key "password" stores the password in the secret.
268
+ |Specifies the name of the authentication secret for the neighbor.
269
+ The secret must be of type "kubernetes.io/basic-auth", and in the same namespace as the FRR-K8s daemon.
270
+ The key "password" stores the password in the secret.
264
271
`Password` and `PasswordSecret` are mutually exclusive.
265
272
266
273
|`spec.bgp.routers.neighbors.holdTime`
267
274
|`duration`
268
- |Specifies the requested BGP hold time, per RFC4271.
275
+ |Specifies the requested BGP hold time, per RFC4271.
269
276
Defaults to 180s.
270
277
271
278
|`spec.bgp.routers.neighbors.keepaliveTime`
@@ -283,7 +290,7 @@ Defaults to `60s`.
283
290
284
291
|`spec.bgp.routers.neighbors.bfdProfile`
285
292
|`string`
286
- |Specifies the name of the BFD Profile to use for the BFD session associated with the BGP session.
293
+ |Specifies the name of the BFD Profile to use for the BFD session associated with the BGP session.
287
294
If not set, the BFD session is not set up.
288
295
289
296
|`spec.bgp.routers.neighbors.toAdvertise.allowed`
@@ -292,18 +299,18 @@ If not set, the BFD session is not set up.
292
299
293
300
|`spec.bgp.routers.neighbors.toAdvertise.allowed.prefixes`
294
301
|`string array`
295
- |Specifies the list of prefixes to advertise to a neighbor.
302
+ |Specifies the list of prefixes to advertise to a neighbor.
296
303
This list must match the prefixes that you define in the router.
297
304
298
305
|`spec.bgp.routers.neighbors.toAdvertise.allowed.mode`
299
306
|`string`
300
- |Specifies the mode to use when handling the prefixes.
307
+ |Specifies the mode to use when handling the prefixes.
301
308
You can set to `filtered` to allow only the prefixes in the prefixes list.
302
309
You can set to `all` to allow all the prefixes configured on the router.
303
310
304
311
|`spec.bgp.routers.neighbors.toAdvertise.withLocalPref`
305
312
|`array`
306
- |Specifies the prefixes associated with an advertised local preference.
313
+ |Specifies the prefixes associated with an advertised local preference.
307
314
You must specify the prefixes associated with a local preference in the prefixes allowed to be advertised.
308
315
309
316
|`spec.bgp.routers.neighbors.toAdvertise.withLocalPref.prefixes`
@@ -341,8 +348,8 @@ You must include the prefixes associated with a local preference in the list of
341
348
342
349
|`spec.bgp.routers.neighbors.toReceive.allowed.mode`
343
350
|`string`
344
- |Specifies the mode to use when handling the prefixes.
345
- When set to `filtered`, only the prefixes in the `prefixes` list are allowed.
351
+ |Specifies the mode to use when handling the prefixes.
352
+ When set to `filtered`, only the prefixes in the `prefixes` list are allowed.
346
353
When set to `all`, all the prefixes configured on the router are allowed.
347
354
348
355
|`spec.bgp.routers.neighbors.disableMP`
@@ -363,27 +370,27 @@ When set to `all`, all the prefixes configured on the router are allowed.
363
370
364
371
|`spec.bgp.bfdProfiles.receiveInterval`
365
372
|`integer`
366
- |Specifies the minimum interval at which this system can receive control packets, in milliseconds.
373
+ |Specifies the minimum interval at which this system can receive control packets, in milliseconds.
367
374
Defaults to `300ms`.
368
375
369
376
|`spec.bgp.bfdProfiles.transmitInterval`
370
377
|`integer`
371
- |Specifies the minimum transmission interval, excluding jitter, that this system wants to use to send BFD control packets, in milliseconds.
378
+ |Specifies the minimum transmission interval, excluding jitter, that this system wants to use to send BFD control packets, in milliseconds.
372
379
Defaults to `300ms`.
373
380
374
381
|`spec.bgp.bfdProfiles.detectMultiplier`
375
382
|`integer`
376
- |Configures the detection multiplier to determine packet loss.
383
+ |Configures the detection multiplier to determine packet loss.
377
384
To determine the connection loss-detection timer, multiply the remote transmission interval by this value.
378
385
379
386
|`spec.bgp.bfdProfiles.echoInterval`
380
387
|`integer`
381
- |Configures the minimal echo receive transmission-interval that this system can handle, in milliseconds.
388
+ |Configures the minimal echo receive transmission-interval that this system can handle, in milliseconds.
382
389
Defaults to `50ms`.
383
390
384
391
|`spec.bgp.bfdProfiles.echoMode`
385
392
|`boolean`
386
- |Enables or disables the echo transmission mode.
393
+ |Enables or disables the echo transmission mode.
387
394
This mode is disabled by default, and not supported on multihop setups.
388
395
389
396
|`spec.bgp.bfdProfiles.passiveMode`
@@ -392,13 +399,13 @@ This mode is disabled by default, and not supported on multihop setups.
392
399
393
400
|`spec.bgp.bfdProfiles.MinimumTtl`
394
401
|`integer`
395
- |For multihop sessions only.
402
+ |For multihop sessions only.
396
403
Configures the minimum expected TTL for an incoming BFD control packet.
397
404
398
405
|`spec.nodeSelector`
399
406
|`string`
400
- |Limits the nodes that attempt to apply this configuration.
401
- If specified, only those nodes whose labels match the specified selectors attempt to apply the configuration.
407
+ |Limits the nodes that attempt to apply this configuration.
408
+ If specified, only those nodes whose labels match the specified selectors attempt to apply the configuration.
402
409
If it is not specified, all nodes attempt to apply this configuration.
403
410
404
411
|`status`
0 commit comments