ifstate 1.9.0__py3-none-any.whl → 1.10.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ifstate-1.9.0.dist-info → ifstate-1.10.1.dist-info}/METADATA +2 -2
- {ifstate-1.9.0.dist-info → ifstate-1.10.1.dist-info}/RECORD +14 -13
- {ifstate-1.9.0.dist-info → ifstate-1.10.1.dist-info}/WHEEL +1 -1
- libifstate/__init__.py +58 -11
- libifstate/fdb/__init__.py +174 -0
- libifstate/link/base.py +122 -7
- libifstate/netns/__init__.py +34 -13
- libifstate/parser/base.py +29 -1
- libifstate/sysctl/__init__.py +15 -0
- libifstate/util.py +63 -6
- schema/ifstate.conf.schema.json +487 -278
- {ifstate-1.9.0.dist-info → ifstate-1.10.1.dist-info}/LICENSE +0 -0
- {ifstate-1.9.0.dist-info → ifstate-1.10.1.dist-info}/entry_points.txt +0 -0
- {ifstate-1.9.0.dist-info → ifstate-1.10.1.dist-info}/top_level.txt +0 -0
schema/ifstate.conf.schema.json
CHANGED
@@ -2,12 +2,24 @@
|
|
2
2
|
"$id": "https://ifstate.net/schema/ifstate.conf.schema.json",
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
4
4
|
"title": "ifstate.conf",
|
5
|
-
"description": "IfState 1.
|
5
|
+
"description": "IfState 1.10.1 Configuration Schema",
|
6
6
|
"type": "object",
|
7
7
|
"required": [
|
8
8
|
"interfaces"
|
9
9
|
],
|
10
10
|
"$defs": {
|
11
|
+
"ignore-fdb": {
|
12
|
+
"description": "fdb entries matching this list of regex will be ignored",
|
13
|
+
"type": "array",
|
14
|
+
"items": {
|
15
|
+
"description": "regex to match link-local addresses",
|
16
|
+
"examples": [
|
17
|
+
"^33:33:",
|
18
|
+
"^01:00:5e:"
|
19
|
+
],
|
20
|
+
"type": "string"
|
21
|
+
}
|
22
|
+
},
|
11
23
|
"ignore-ipaddr": {
|
12
24
|
"description": "list of ip address prefixes to be ignored",
|
13
25
|
"type": "array",
|
@@ -166,6 +178,13 @@
|
|
166
178
|
"description": "link mac address (xx:xx:xx:xx:xx:xx)",
|
167
179
|
"pattern": "^([a-f0-9]{2}:){5}[a-f0-9]{2}$"
|
168
180
|
},
|
181
|
+
"iface-link_bind-netns": {
|
182
|
+
"type": [
|
183
|
+
"string",
|
184
|
+
"null"
|
185
|
+
],
|
186
|
+
"description": "specifies the netns name or null where the tunnel or underlay should be bind, if not set the binding will happen in the netns namespace of the link"
|
187
|
+
},
|
169
188
|
"iface-link_group": {
|
170
189
|
"type": [
|
171
190
|
"integer",
|
@@ -178,11 +197,14 @@
|
|
178
197
|
"integer",
|
179
198
|
"string"
|
180
199
|
],
|
181
|
-
"description": "specifies
|
200
|
+
"description": "specifies the base link name or index"
|
182
201
|
},
|
183
202
|
"iface-link_link-netns": {
|
184
|
-
"type": [
|
185
|
-
|
203
|
+
"type": [
|
204
|
+
"string",
|
205
|
+
"null"
|
206
|
+
],
|
207
|
+
"description": "specifies the base link's netns name or null if the link isn't in a netns namespace"
|
186
208
|
},
|
187
209
|
"iface-link_master": {
|
188
210
|
"type": [
|
@@ -192,8 +214,11 @@
|
|
192
214
|
"description": "specifies a master device name or index"
|
193
215
|
},
|
194
216
|
"iface-link_master-netns": {
|
195
|
-
"type": [
|
196
|
-
|
217
|
+
"type": [
|
218
|
+
"string",
|
219
|
+
"null"
|
220
|
+
],
|
221
|
+
"description": "specifies the master's netns name or null if the master isn't in a netns namespace"
|
197
222
|
},
|
198
223
|
"iface-link_mtu": {
|
199
224
|
"type": "integer",
|
@@ -241,273 +266,304 @@
|
|
241
266
|
"$ref": "#/$defs/iface-link_link",
|
242
267
|
"description": "interface to use for tunnel endpoint communication"
|
243
268
|
},
|
244
|
-
"iface-sysctl": {
|
269
|
+
"iface-sysctl-ipv4": {
|
245
270
|
"type": "object",
|
246
|
-
"description": "
|
271
|
+
"description": "settings in `/proc/sys/net/ipv4/<interface>/conf/`",
|
272
|
+
"properties": {
|
273
|
+
"accept_local": {
|
274
|
+
"type": "integer"
|
275
|
+
},
|
276
|
+
"accept_redirects": {
|
277
|
+
"type": "integer"
|
278
|
+
},
|
279
|
+
"accept_source_route": {
|
280
|
+
"type": "integer"
|
281
|
+
},
|
282
|
+
"arp_accept": {
|
283
|
+
"type": "integer"
|
284
|
+
},
|
285
|
+
"arp_announce": {
|
286
|
+
"type": "integer"
|
287
|
+
},
|
288
|
+
"arp_filter": {
|
289
|
+
"type": "integer"
|
290
|
+
},
|
291
|
+
"arp_ignore": {
|
292
|
+
"type": "integer"
|
293
|
+
},
|
294
|
+
"arp_notify": {
|
295
|
+
"type": "integer"
|
296
|
+
},
|
297
|
+
"bc_forwarding": {
|
298
|
+
"type": "integer"
|
299
|
+
},
|
300
|
+
"bootp_relay": {
|
301
|
+
"type": "integer"
|
302
|
+
},
|
303
|
+
"disable_policy": {
|
304
|
+
"type": "integer"
|
305
|
+
},
|
306
|
+
"disable_xfrm": {
|
307
|
+
"type": "integer"
|
308
|
+
},
|
309
|
+
"drop_gratuitous_arp": {
|
310
|
+
"type": "integer"
|
311
|
+
},
|
312
|
+
"drop_unicast_in_l2_multicast": {
|
313
|
+
"type": "integer"
|
314
|
+
},
|
315
|
+
"force_igmp_version": {
|
316
|
+
"type": "integer"
|
317
|
+
},
|
318
|
+
"forwarding": {
|
319
|
+
"type": "integer"
|
320
|
+
},
|
321
|
+
"igmpv2_unsolicited_report_interval": {
|
322
|
+
"type": "integer"
|
323
|
+
},
|
324
|
+
"igmpv3_unsolicited_report_interval": {
|
325
|
+
"type": "integer"
|
326
|
+
},
|
327
|
+
"ignore_routes_with_linkdown": {
|
328
|
+
"type": "integer"
|
329
|
+
},
|
330
|
+
"log_martians": {
|
331
|
+
"type": "integer"
|
332
|
+
},
|
333
|
+
"mc_forwarding": {
|
334
|
+
"type": "integer"
|
335
|
+
},
|
336
|
+
"medium_id": {
|
337
|
+
"type": "integer"
|
338
|
+
},
|
339
|
+
"promote_secondaries": {
|
340
|
+
"type": "integer"
|
341
|
+
},
|
342
|
+
"proxy_arp": {
|
343
|
+
"type": "integer"
|
344
|
+
},
|
345
|
+
"proxy_arp_pvlan": {
|
346
|
+
"type": "integer"
|
347
|
+
},
|
348
|
+
"route_localnet": {
|
349
|
+
"type": "integer"
|
350
|
+
},
|
351
|
+
"rp_filter": {
|
352
|
+
"type": "integer"
|
353
|
+
},
|
354
|
+
"secure_redirects": {
|
355
|
+
"type": "integer"
|
356
|
+
},
|
357
|
+
"send_redirects": {
|
358
|
+
"type": "integer"
|
359
|
+
},
|
360
|
+
"shared_media": {
|
361
|
+
"type": "integer"
|
362
|
+
},
|
363
|
+
"src_valid_mark": {
|
364
|
+
"type": "integer"
|
365
|
+
},
|
366
|
+
"tag": {
|
367
|
+
"type": "integer"
|
368
|
+
}
|
369
|
+
}
|
370
|
+
},
|
371
|
+
"iface-sysctl-ipv6": {
|
372
|
+
"type": "object",
|
373
|
+
"description": "settings in `/proc/sys/net/ipv6/<interface>/conf/`",
|
247
374
|
"additionalProperties": false,
|
248
375
|
"properties": {
|
249
|
-
"
|
250
|
-
"type": "
|
251
|
-
"description": "settings in `/proc/sys/net/ipv4/*/conf/`",
|
252
|
-
"properties": {
|
253
|
-
"accept_local": {
|
254
|
-
"type": "integer"
|
255
|
-
},
|
256
|
-
"accept_redirects": {
|
257
|
-
"type": "integer"
|
258
|
-
},
|
259
|
-
"accept_source_route": {
|
260
|
-
"type": "integer"
|
261
|
-
},
|
262
|
-
"arp_accept": {
|
263
|
-
"type": "integer"
|
264
|
-
},
|
265
|
-
"arp_announce": {
|
266
|
-
"type": "integer"
|
267
|
-
},
|
268
|
-
"arp_filter": {
|
269
|
-
"type": "integer"
|
270
|
-
},
|
271
|
-
"arp_ignore": {
|
272
|
-
"type": "integer"
|
273
|
-
},
|
274
|
-
"arp_notify": {
|
275
|
-
"type": "integer"
|
276
|
-
},
|
277
|
-
"bc_forwarding": {
|
278
|
-
"type": "integer"
|
279
|
-
},
|
280
|
-
"bootp_relay": {
|
281
|
-
"type": "integer"
|
282
|
-
},
|
283
|
-
"disable_policy": {
|
284
|
-
"type": "integer"
|
285
|
-
},
|
286
|
-
"disable_xfrm": {
|
287
|
-
"type": "integer"
|
288
|
-
},
|
289
|
-
"drop_gratuitous_arp": {
|
290
|
-
"type": "integer"
|
291
|
-
},
|
292
|
-
"drop_unicast_in_l2_multicast": {
|
293
|
-
"type": "integer"
|
294
|
-
},
|
295
|
-
"force_igmp_version": {
|
296
|
-
"type": "integer"
|
297
|
-
},
|
298
|
-
"forwarding": {
|
299
|
-
"type": "integer"
|
300
|
-
},
|
301
|
-
"igmpv2_unsolicited_report_interval": {
|
302
|
-
"type": "integer"
|
303
|
-
},
|
304
|
-
"igmpv3_unsolicited_report_interval": {
|
305
|
-
"type": "integer"
|
306
|
-
},
|
307
|
-
"ignore_routes_with_linkdown": {
|
308
|
-
"type": "integer"
|
309
|
-
},
|
310
|
-
"log_martians": {
|
311
|
-
"type": "integer"
|
312
|
-
},
|
313
|
-
"mc_forwarding": {
|
314
|
-
"type": "integer"
|
315
|
-
},
|
316
|
-
"medium_id": {
|
317
|
-
"type": "integer"
|
318
|
-
},
|
319
|
-
"promote_secondaries": {
|
320
|
-
"type": "integer"
|
321
|
-
},
|
322
|
-
"proxy_arp": {
|
323
|
-
"type": "integer"
|
324
|
-
},
|
325
|
-
"proxy_arp_pvlan": {
|
326
|
-
"type": "integer"
|
327
|
-
},
|
328
|
-
"route_localnet": {
|
329
|
-
"type": "integer"
|
330
|
-
},
|
331
|
-
"rp_filter": {
|
332
|
-
"type": "integer"
|
333
|
-
},
|
334
|
-
"secure_redirects": {
|
335
|
-
"type": "integer"
|
336
|
-
},
|
337
|
-
"send_redirects": {
|
338
|
-
"type": "integer"
|
339
|
-
},
|
340
|
-
"shared_media": {
|
341
|
-
"type": "integer"
|
342
|
-
},
|
343
|
-
"src_valid_mark": {
|
344
|
-
"type": "integer"
|
345
|
-
},
|
346
|
-
"tag": {
|
347
|
-
"type": "integer"
|
348
|
-
}
|
349
|
-
}
|
376
|
+
"accept_dad": {
|
377
|
+
"type": "integer"
|
350
378
|
},
|
351
|
-
"
|
352
|
-
"type": "
|
353
|
-
|
354
|
-
|
355
|
-
"
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
379
|
+
"accept_ra": {
|
380
|
+
"type": "integer"
|
381
|
+
},
|
382
|
+
"accept_ra_defrtr": {
|
383
|
+
"type": "integer"
|
384
|
+
},
|
385
|
+
"accept_ra_from_local": {
|
386
|
+
"type": "integer"
|
387
|
+
},
|
388
|
+
"accept_ra_min_hop_limit": {
|
389
|
+
"type": "integer"
|
390
|
+
},
|
391
|
+
"accept_ra_mtu": {
|
392
|
+
"type": "integer"
|
393
|
+
},
|
394
|
+
"accept_ra_pinfo": {
|
395
|
+
"type": "integer"
|
396
|
+
},
|
397
|
+
"accept_ra_rt_info_max_plen": {
|
398
|
+
"type": "integer"
|
399
|
+
},
|
400
|
+
"accept_ra_rt_info_min_plen": {
|
401
|
+
"type": "integer"
|
402
|
+
},
|
403
|
+
"accept_ra_rtr_pref": {
|
404
|
+
"type": "integer"
|
405
|
+
},
|
406
|
+
"accept_redirects": {
|
407
|
+
"type": "integer"
|
408
|
+
},
|
409
|
+
"accept_source_route": {
|
410
|
+
"type": "integer"
|
411
|
+
},
|
412
|
+
"addr_gen_mode": {
|
413
|
+
"type": "integer"
|
414
|
+
},
|
415
|
+
"autoconf": {
|
416
|
+
"type": "integer"
|
417
|
+
},
|
418
|
+
"dad_transmits": {
|
419
|
+
"type": "integer"
|
420
|
+
},
|
421
|
+
"disable_ipv6": {
|
422
|
+
"type": "integer"
|
423
|
+
},
|
424
|
+
"disable_policy": {
|
425
|
+
"type": "integer"
|
426
|
+
},
|
427
|
+
"drop_unicast_in_l2_multicast": {
|
428
|
+
"type": "integer"
|
429
|
+
},
|
430
|
+
"drop_unsolicited_na": {
|
431
|
+
"type": "integer"
|
432
|
+
},
|
433
|
+
"enhanced_dad": {
|
434
|
+
"type": "integer"
|
435
|
+
},
|
436
|
+
"force_mld_version": {
|
437
|
+
"type": "integer"
|
438
|
+
},
|
439
|
+
"force_tllao": {
|
440
|
+
"type": "integer"
|
441
|
+
},
|
442
|
+
"forwarding": {
|
443
|
+
"type": "integer"
|
444
|
+
},
|
445
|
+
"hop_limit": {
|
446
|
+
"type": "integer"
|
447
|
+
},
|
448
|
+
"ignore_routes_with_linkdown": {
|
449
|
+
"type": "integer"
|
450
|
+
},
|
451
|
+
"keep_addr_on_down": {
|
452
|
+
"type": "integer"
|
453
|
+
},
|
454
|
+
"max_addresses": {
|
455
|
+
"type": "integer"
|
456
|
+
},
|
457
|
+
"max_desync_factor": {
|
458
|
+
"type": "integer"
|
459
|
+
},
|
460
|
+
"mc_forwarding": {
|
461
|
+
"type": "integer"
|
462
|
+
},
|
463
|
+
"mldv1_unsolicited_report_interval": {
|
464
|
+
"type": "integer"
|
465
|
+
},
|
466
|
+
"mldv2_unsolicited_report_interval": {
|
467
|
+
"type": "integer"
|
468
|
+
},
|
469
|
+
"mtu": {
|
470
|
+
"type": "integer"
|
471
|
+
},
|
472
|
+
"ndisc_notify": {
|
473
|
+
"type": "integer"
|
474
|
+
},
|
475
|
+
"ndisc_tclass": {
|
476
|
+
"type": "integer"
|
477
|
+
},
|
478
|
+
"optimistic_dad": {
|
479
|
+
"type": "integer"
|
480
|
+
},
|
481
|
+
"proxy_ndp": {
|
482
|
+
"type": "integer"
|
483
|
+
},
|
484
|
+
"regen_max_retry": {
|
485
|
+
"type": "integer"
|
486
|
+
},
|
487
|
+
"router_probe_interval": {
|
488
|
+
"type": "integer"
|
489
|
+
},
|
490
|
+
"router_solicitation_delay": {
|
491
|
+
"type": "integer"
|
492
|
+
},
|
493
|
+
"router_solicitation_interval": {
|
494
|
+
"type": "integer"
|
495
|
+
},
|
496
|
+
"router_solicitation_max_interval": {
|
497
|
+
"type": "integer"
|
498
|
+
},
|
499
|
+
"router_solicitations": {
|
500
|
+
"type": "integer"
|
501
|
+
},
|
502
|
+
"seg6_enabled": {
|
503
|
+
"type": "integer"
|
504
|
+
},
|
505
|
+
"seg6_require_hmac": {
|
506
|
+
"type": "integer"
|
507
|
+
},
|
508
|
+
"stable_secret": {
|
509
|
+
"type": "string",
|
510
|
+
"format": "ipv6"
|
511
|
+
},
|
512
|
+
"suppress_frag_ndisc": {
|
513
|
+
"type": "integer"
|
514
|
+
},
|
515
|
+
"temp_prefered_lft": {
|
516
|
+
"type": "integer"
|
517
|
+
},
|
518
|
+
"temp_valid_lft": {
|
519
|
+
"type": "integer"
|
520
|
+
},
|
521
|
+
"use_oif_addrs_only": {
|
522
|
+
"type": "integer"
|
523
|
+
},
|
524
|
+
"use_optimistic": {
|
525
|
+
"type": "integer"
|
526
|
+
},
|
527
|
+
"use_tempaddr": {
|
528
|
+
"type": "integer"
|
529
|
+
}
|
530
|
+
}
|
531
|
+
},
|
532
|
+
"iface-sysctl-mpls": {
|
533
|
+
"description": "MPLS [sysctl settings](https://www.kernel.org/doc/Documentation/networking/mpls-sysctl.txt) in `/proc/sys/net/mpls/`",
|
534
|
+
"type": "object",
|
535
|
+
"additionalProperties": false,
|
536
|
+
"properties": {
|
537
|
+
"platform_labels": {
|
538
|
+
"type": "integer",
|
539
|
+
"description": "number of entries in the platform label table",
|
540
|
+
"minimum": 0,
|
541
|
+
"maximum": 1048575
|
542
|
+
},
|
543
|
+
"ip_ttl_propagate": {
|
544
|
+
"type": "integer",
|
545
|
+
"description": "control whether TTL is propagated",
|
546
|
+
"minimum": 0,
|
547
|
+
"maximum": 1
|
548
|
+
},
|
549
|
+
"default_ttl": {
|
550
|
+
"type": "integer",
|
551
|
+
"description": "default TTL value to use for MPLS packets",
|
552
|
+
"minimum": 1,
|
553
|
+
"maximum": 255
|
554
|
+
}
|
555
|
+
}
|
556
|
+
},
|
557
|
+
"iface-sysctl-mpls-link": {
|
558
|
+
"description": "MPLS [interface sysctl settings](https://www.kernel.org/doc/Documentation/networking/mpls-sysctl.txt) in `/proc/sys/net/mpls/<interface>/`",
|
559
|
+
"type": "object",
|
560
|
+
"additionalProperties": false,
|
561
|
+
"properties": {
|
562
|
+
"input": {
|
563
|
+
"type": "integer",
|
564
|
+
"description": "control whether packets can be input on this interface",
|
565
|
+
"minimum": 0,
|
566
|
+
"maximum": 1
|
511
567
|
}
|
512
568
|
}
|
513
569
|
},
|
@@ -992,6 +1048,11 @@
|
|
992
1048
|
"type": "boolean",
|
993
1049
|
"default": false
|
994
1050
|
},
|
1051
|
+
"clear_fdb": {
|
1052
|
+
"description": "implicit remove all permanent fdb entries",
|
1053
|
+
"type": "boolean",
|
1054
|
+
"default": false
|
1055
|
+
},
|
995
1056
|
"clear_neighbours": {
|
996
1057
|
"description": "implicit remove all permanent ip neighbours",
|
997
1058
|
"type": "boolean",
|
@@ -1040,15 +1101,38 @@
|
|
1040
1101
|
"additionalProperties": false,
|
1041
1102
|
"properties": {
|
1042
1103
|
"sysctl": {
|
1104
|
+
"description": "global sysctl settings",
|
1043
1105
|
"type": "object",
|
1106
|
+
"additionalProperties": false,
|
1044
1107
|
"properties": {
|
1045
1108
|
"all": {
|
1046
1109
|
"description": "overrides [per interface sysctl settings](https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt) in `/proc/sys/net/ipv*/conf/all/`",
|
1047
|
-
"
|
1110
|
+
"type": "object",
|
1111
|
+
"additionalProperties": false,
|
1112
|
+
"properties": {
|
1113
|
+
"ipv4": {
|
1114
|
+
"$ref": "#/$defs/iface-sysctl-ipv4"
|
1115
|
+
},
|
1116
|
+
"ipv6": {
|
1117
|
+
"$ref": "#/$defs/iface-sysctl-ipv6"
|
1118
|
+
}
|
1119
|
+
}
|
1048
1120
|
},
|
1049
1121
|
"default": {
|
1050
1122
|
"description": "default [per interface sysctl settings](https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt) in `/proc/sys/net/ipv*/conf/default/`",
|
1051
|
-
"
|
1123
|
+
"type": "object",
|
1124
|
+
"additionalProperties": false,
|
1125
|
+
"properties": {
|
1126
|
+
"ipv4": {
|
1127
|
+
"$ref": "#/$defs/iface-sysctl-ipv4"
|
1128
|
+
},
|
1129
|
+
"ipv6": {
|
1130
|
+
"$ref": "#/$defs/iface-sysctl-ipv6"
|
1131
|
+
}
|
1132
|
+
}
|
1133
|
+
},
|
1134
|
+
"mpls": {
|
1135
|
+
"$ref": "#/$defs/iface-sysctl-mpls"
|
1052
1136
|
}
|
1053
1137
|
}
|
1054
1138
|
}
|
@@ -1076,6 +1160,12 @@
|
|
1076
1160
|
"ifname": {
|
1077
1161
|
"$ref": "#/$defs/ignore-ifname"
|
1078
1162
|
},
|
1163
|
+
"fdb_builtin": {
|
1164
|
+
"$ref": "#/$defs/ignore-fdb"
|
1165
|
+
},
|
1166
|
+
"fdb": {
|
1167
|
+
"$ref": "#/$defs/ignore-fdb"
|
1168
|
+
},
|
1079
1169
|
"routes_builtin": {
|
1080
1170
|
"$ref": "#/$defs/ignore-routes"
|
1081
1171
|
},
|
@@ -1276,6 +1366,78 @@
|
|
1276
1366
|
}
|
1277
1367
|
}
|
1278
1368
|
},
|
1369
|
+
"fdb": {
|
1370
|
+
"description": "forwarding database for bridge interfaces, the entries are distinct by the `lladdr` property",
|
1371
|
+
"type": "array",
|
1372
|
+
"items": {
|
1373
|
+
"type": "object",
|
1374
|
+
"additionalProperties": false,
|
1375
|
+
"required": ["lladdr"],
|
1376
|
+
"properties": {
|
1377
|
+
"lladdr": {
|
1378
|
+
"description": "destination link layer address",
|
1379
|
+
"$ref": "#/$defs/iface-link_address",
|
1380
|
+
"default": null
|
1381
|
+
},
|
1382
|
+
"dst": {
|
1383
|
+
"description": "ip address of the destination VXLAN tunnel endpoint",
|
1384
|
+
"type": "string",
|
1385
|
+
"oneOf": [
|
1386
|
+
{
|
1387
|
+
"format": "ipv4"
|
1388
|
+
},
|
1389
|
+
{
|
1390
|
+
"format": "ipv6"
|
1391
|
+
}
|
1392
|
+
]
|
1393
|
+
},
|
1394
|
+
"nhid": {
|
1395
|
+
"description": "ecmp nexthop group for the VXLAN device driver",
|
1396
|
+
"type": "integer",
|
1397
|
+
"minimum": 1
|
1398
|
+
},
|
1399
|
+
"port": {
|
1400
|
+
"description": "destination port number to use to connect to the remote VXLAN tunnel endpoint",
|
1401
|
+
"type": "integer",
|
1402
|
+
"minimum": 0,
|
1403
|
+
"maximum": 65535
|
1404
|
+
},
|
1405
|
+
"vni": {
|
1406
|
+
"description": "virtual network identifier this entry belongs to",
|
1407
|
+
"type": "integer",
|
1408
|
+
"minimum": 0,
|
1409
|
+
"maximum": 16777215
|
1410
|
+
},
|
1411
|
+
"flags": {
|
1412
|
+
"type": "array",
|
1413
|
+
"items": [
|
1414
|
+
{
|
1415
|
+
"type": "string",
|
1416
|
+
"enum": [
|
1417
|
+
"self",
|
1418
|
+
"master",
|
1419
|
+
"router",
|
1420
|
+
"use",
|
1421
|
+
"sticky"
|
1422
|
+
]
|
1423
|
+
}
|
1424
|
+
]
|
1425
|
+
},
|
1426
|
+
"state": {
|
1427
|
+
"type": "array",
|
1428
|
+
"items": [
|
1429
|
+
{
|
1430
|
+
"type": "string",
|
1431
|
+
"enum": [
|
1432
|
+
"permanent",
|
1433
|
+
"noarp"
|
1434
|
+
]
|
1435
|
+
}
|
1436
|
+
]
|
1437
|
+
}
|
1438
|
+
}
|
1439
|
+
}
|
1440
|
+
},
|
1279
1441
|
"vrrp": {
|
1280
1442
|
"description": "interface depending on vrrp status",
|
1281
1443
|
"type": "object",
|
@@ -1345,7 +1507,7 @@
|
|
1345
1507
|
"master_netns": {
|
1346
1508
|
"$ref": "#/$defs/iface-link_master-netns"
|
1347
1509
|
},
|
1348
|
-
|
1510
|
+
"mtu": {
|
1349
1511
|
"$ref": "#/$defs/iface-link_mtu"
|
1350
1512
|
},
|
1351
1513
|
"txqlen": {
|
@@ -1369,6 +1531,9 @@
|
|
1369
1531
|
"address": {
|
1370
1532
|
"$ref": "#/$defs/iface-link_address"
|
1371
1533
|
},
|
1534
|
+
"bind_netns": {
|
1535
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
1536
|
+
},
|
1372
1537
|
"group": {
|
1373
1538
|
"$ref": "#/$defs/iface-link_group"
|
1374
1539
|
},
|
@@ -1587,6 +1752,9 @@
|
|
1587
1752
|
"address": {
|
1588
1753
|
"$ref": "#/$defs/iface-link_address"
|
1589
1754
|
},
|
1755
|
+
"bind_netns": {
|
1756
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
1757
|
+
},
|
1590
1758
|
"group": {
|
1591
1759
|
"$ref": "#/$defs/iface-link_group"
|
1592
1760
|
},
|
@@ -1735,6 +1903,9 @@
|
|
1735
1903
|
"address": {
|
1736
1904
|
"$ref": "#/$defs/iface-link_address"
|
1737
1905
|
},
|
1906
|
+
"bind_netns": {
|
1907
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
1908
|
+
},
|
1738
1909
|
"group": {
|
1739
1910
|
"$ref": "#/$defs/iface-link_group"
|
1740
1911
|
},
|
@@ -1771,6 +1942,9 @@
|
|
1771
1942
|
"address": {
|
1772
1943
|
"$ref": "#/$defs/iface-link_address"
|
1773
1944
|
},
|
1945
|
+
"bind_netns": {
|
1946
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
1947
|
+
},
|
1774
1948
|
"group": {
|
1775
1949
|
"$ref": "#/$defs/iface-link_group"
|
1776
1950
|
},
|
@@ -2278,8 +2452,7 @@
|
|
2278
2452
|
"description": "VXLAN interface",
|
2279
2453
|
"required": [
|
2280
2454
|
"kind",
|
2281
|
-
"vxlan_id"
|
2282
|
-
"vxlan_link"
|
2455
|
+
"vxlan_id"
|
2283
2456
|
],
|
2284
2457
|
"additionalProperties": false,
|
2285
2458
|
"properties": {
|
@@ -2290,6 +2463,9 @@
|
|
2290
2463
|
"address": {
|
2291
2464
|
"$ref": "#/$defs/iface-link_address"
|
2292
2465
|
},
|
2466
|
+
"bind_netns": {
|
2467
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2468
|
+
},
|
2293
2469
|
"group": {
|
2294
2470
|
"$ref": "#/$defs/iface-link_group"
|
2295
2471
|
},
|
@@ -2340,6 +2516,9 @@
|
|
2340
2516
|
"address": {
|
2341
2517
|
"$ref": "#/$defs/iface-link_address"
|
2342
2518
|
},
|
2519
|
+
"bind_netns": {
|
2520
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2521
|
+
},
|
2343
2522
|
"group": {
|
2344
2523
|
"$ref": "#/$defs/iface-link_group"
|
2345
2524
|
},
|
@@ -2434,6 +2613,9 @@
|
|
2434
2613
|
"address": {
|
2435
2614
|
"$ref": "#/$defs/iface-link_address"
|
2436
2615
|
},
|
2616
|
+
"bind_netns": {
|
2617
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2618
|
+
},
|
2437
2619
|
"group": {
|
2438
2620
|
"$ref": "#/$defs/iface-link_group"
|
2439
2621
|
},
|
@@ -2486,6 +2668,9 @@
|
|
2486
2668
|
"address": {
|
2487
2669
|
"$ref": "#/$defs/iface-link_address"
|
2488
2670
|
},
|
2671
|
+
"bind_netns": {
|
2672
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2673
|
+
},
|
2489
2674
|
"group": {
|
2490
2675
|
"$ref": "#/$defs/iface-link_group"
|
2491
2676
|
},
|
@@ -2534,6 +2719,9 @@
|
|
2534
2719
|
"address": {
|
2535
2720
|
"$ref": "#/$defs/iface-link_address"
|
2536
2721
|
},
|
2722
|
+
"bind_netns": {
|
2723
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2724
|
+
},
|
2537
2725
|
"group": {
|
2538
2726
|
"$ref": "#/$defs/iface-link_group"
|
2539
2727
|
},
|
@@ -2584,6 +2772,9 @@
|
|
2584
2772
|
"address": {
|
2585
2773
|
"$ref": "#/$defs/iface-link_address"
|
2586
2774
|
},
|
2775
|
+
"bind_netns": {
|
2776
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2777
|
+
},
|
2587
2778
|
"group": {
|
2588
2779
|
"$ref": "#/$defs/iface-link_group"
|
2589
2780
|
},
|
@@ -2632,6 +2823,9 @@
|
|
2632
2823
|
"address": {
|
2633
2824
|
"$ref": "#/$defs/iface-link_address"
|
2634
2825
|
},
|
2826
|
+
"bind_netns": {
|
2827
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2828
|
+
},
|
2635
2829
|
"group": {
|
2636
2830
|
"$ref": "#/$defs/iface-link_group"
|
2637
2831
|
},
|
@@ -2659,7 +2853,7 @@
|
|
2659
2853
|
"description": "XFRM interface",
|
2660
2854
|
"required": [
|
2661
2855
|
"kind",
|
2662
|
-
"
|
2856
|
+
"xfrm_if_id"
|
2663
2857
|
],
|
2664
2858
|
"additionalProperties": false,
|
2665
2859
|
"properties": {
|
@@ -2670,6 +2864,9 @@
|
|
2670
2864
|
"address": {
|
2671
2865
|
"$ref": "#/$defs/iface-link_address"
|
2672
2866
|
},
|
2867
|
+
"bind_netns": {
|
2868
|
+
"$ref": "#/$defs/iface-link_bind-netns"
|
2869
|
+
},
|
2673
2870
|
"group": {
|
2674
2871
|
"$ref": "#/$defs/iface-link_group"
|
2675
2872
|
},
|
@@ -2732,8 +2929,20 @@
|
|
2732
2929
|
}
|
2733
2930
|
},
|
2734
2931
|
"sysctl": {
|
2735
|
-
"description": "
|
2736
|
-
"
|
2932
|
+
"description": "interface sysctl settings",
|
2933
|
+
"type": "object",
|
2934
|
+
"additionalProperties": false,
|
2935
|
+
"properties": {
|
2936
|
+
"ipv4": {
|
2937
|
+
"$ref": "#/$defs/iface-sysctl-ipv4"
|
2938
|
+
},
|
2939
|
+
"ipv6": {
|
2940
|
+
"$ref": "#/$defs/iface-sysctl-ipv6"
|
2941
|
+
},
|
2942
|
+
"mpls": {
|
2943
|
+
"$ref": "#/$defs/iface-sysctl-mpls-link"
|
2944
|
+
}
|
2945
|
+
}
|
2737
2946
|
},
|
2738
2947
|
"ethtool": {
|
2739
2948
|
"description": "network driver and hardware settings via [ethtool(8)](https://man7.org/linux/man-pages/man8/ethtool.8.html)",
|
@@ -3850,4 +4059,4 @@
|
|
3850
4059
|
}
|
3851
4060
|
}
|
3852
4061
|
}
|
3853
|
-
}
|
4062
|
+
}
|