@@ -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
@@ -242,30 +242,36 @@ The fields for the `FRRConfiguration` custom resource are described in the follo
242
242
|`integer`
243
243
|Specifies the ASN to use for the remote end of the session.
244
244
245
+ |`spec.bgp.routers.neighbors.dynamicASN`
246
+ |`string`
247
+ |Detects the ASN to use for the remote end of the session without explicitly setting it.
248
+ Specify `internal` for a neighbor with the same ASN, or `external` for a neighbor with a different ASN.
249
+ If you use this field, you cannot specify a value in the `spec.bgp.routers.neighbors.asn` field.
250
+
245
251
|`spec.bgp.routers.neighbors.address`
246
252
|`string`
247
253
|Specifies the IP address to establish the session with.
248
254
249
255
|`spec.bgp.routers.neighbors.port`
250
256
|`integer`
251
- |Specifies the port to dial when establishing the session.
257
+ |Specifies the port to dial when establishing the session.
252
258
Defaults to 179.
253
259
254
260
|`spec.bgp.routers.neighbors.password`
255
261
|`string`
256
- |Specifies the password to use for establishing the BGP session.
262
+ |Specifies the password to use for establishing the BGP session.
257
263
`Password` and `PasswordSecret` are mutually exclusive.
258
264
259
265
|`spec.bgp.routers.neighbors.passwordSecret`
260
266
|`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.
267
+ |Specifies the name of the authentication secret for the neighbor.
268
+ The secret must be of type "kubernetes.io/basic-auth", and in the same namespace as the FRR-K8s daemon.
269
+ The key "password" stores the password in the secret.
264
270
`Password` and `PasswordSecret` are mutually exclusive.
265
271
266
272
|`spec.bgp.routers.neighbors.holdTime`
267
273
|`duration`
268
- |Specifies the requested BGP hold time, per RFC4271.
274
+ |Specifies the requested BGP hold time, per RFC4271.
269
275
Defaults to 180s.
270
276
271
277
|`spec.bgp.routers.neighbors.keepaliveTime`
@@ -283,7 +289,7 @@ Defaults to `60s`.
283
289
284
290
|`spec.bgp.routers.neighbors.bfdProfile`
285
291
|`string`
286
- |Specifies the name of the BFD Profile to use for the BFD session associated with the BGP session.
292
+ |Specifies the name of the BFD Profile to use for the BFD session associated with the BGP session.
287
293
If not set, the BFD session is not set up.
288
294
289
295
|`spec.bgp.routers.neighbors.toAdvertise.allowed`
@@ -292,18 +298,18 @@ If not set, the BFD session is not set up.
292
298
293
299
|`spec.bgp.routers.neighbors.toAdvertise.allowed.prefixes`
294
300
|`string array`
295
- |Specifies the list of prefixes to advertise to a neighbor.
301
+ |Specifies the list of prefixes to advertise to a neighbor.
296
302
This list must match the prefixes that you define in the router.
297
303
298
304
|`spec.bgp.routers.neighbors.toAdvertise.allowed.mode`
299
305
|`string`
300
- |Specifies the mode to use when handling the prefixes.
306
+ |Specifies the mode to use when handling the prefixes.
301
307
You can set to `filtered` to allow only the prefixes in the prefixes list.
302
308
You can set to `all` to allow all the prefixes configured on the router.
303
309
304
310
|`spec.bgp.routers.neighbors.toAdvertise.withLocalPref`
305
311
|`array`
306
- |Specifies the prefixes associated with an advertised local preference.
312
+ |Specifies the prefixes associated with an advertised local preference.
307
313
You must specify the prefixes associated with a local preference in the prefixes allowed to be advertised.
308
314
309
315
|`spec.bgp.routers.neighbors.toAdvertise.withLocalPref.prefixes`
@@ -341,8 +347,8 @@ You must include the prefixes associated with a local preference in the list of
341
347
342
348
|`spec.bgp.routers.neighbors.toReceive.allowed.mode`
343
349
|`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.
350
+ |Specifies the mode to use when handling the prefixes.
351
+ When set to `filtered`, only the prefixes in the `prefixes` list are allowed.
346
352
When set to `all`, all the prefixes configured on the router are allowed.
347
353
348
354
|`spec.bgp.routers.neighbors.disableMP`
@@ -363,27 +369,27 @@ When set to `all`, all the prefixes configured on the router are allowed.
363
369
364
370
|`spec.bgp.bfdProfiles.receiveInterval`
365
371
|`integer`
366
- |Specifies the minimum interval at which this system can receive control packets, in milliseconds.
372
+ |Specifies the minimum interval at which this system can receive control packets, in milliseconds.
367
373
Defaults to `300ms`.
368
374
369
375
|`spec.bgp.bfdProfiles.transmitInterval`
370
376
|`integer`
371
- |Specifies the minimum transmission interval, excluding jitter, that this system wants to use to send BFD control packets, in milliseconds.
377
+ |Specifies the minimum transmission interval, excluding jitter, that this system wants to use to send BFD control packets, in milliseconds.
372
378
Defaults to `300ms`.
373
379
374
380
|`spec.bgp.bfdProfiles.detectMultiplier`
375
381
|`integer`
376
- |Configures the detection multiplier to determine packet loss.
382
+ |Configures the detection multiplier to determine packet loss.
377
383
To determine the connection loss-detection timer, multiply the remote transmission interval by this value.
378
384
379
385
|`spec.bgp.bfdProfiles.echoInterval`
380
386
|`integer`
381
- |Configures the minimal echo receive transmission-interval that this system can handle, in milliseconds.
387
+ |Configures the minimal echo receive transmission-interval that this system can handle, in milliseconds.
382
388
Defaults to `50ms`.
383
389
384
390
|`spec.bgp.bfdProfiles.echoMode`
385
391
|`boolean`
386
- |Enables or disables the echo transmission mode.
392
+ |Enables or disables the echo transmission mode.
387
393
This mode is disabled by default, and not supported on multihop setups.
388
394
389
395
|`spec.bgp.bfdProfiles.passiveMode`
@@ -392,13 +398,13 @@ This mode is disabled by default, and not supported on multihop setups.
392
398
393
399
|`spec.bgp.bfdProfiles.MinimumTtl`
394
400
|`integer`
395
- |For multihop sessions only.
401
+ |For multihop sessions only.
396
402
Configures the minimum expected TTL for an incoming BFD control packet.
397
403
398
404
|`spec.nodeSelector`
399
405
|`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.
406
+ |Limits the nodes that attempt to apply this configuration.
407
+ If specified, only those nodes whose labels match the specified selectors attempt to apply the configuration.
402
408
If it is not specified, all nodes attempt to apply this configuration.
403
409
404
410
|`status`
0 commit comments