* support for "interface ethernet poe" and "interface vrrp"

Signed-off-by: Tomas Herfert <herfik>

* support "interface gre6" path

Signed-off-by: Tomas Herfert <herfik>

* ip dhcp-server - fix

Signed-off-by: Tomas Herfert <herfik>

* docs & changelog

Signed-off-by: Tomas Herfert <herfik>

* support for "interface ethernet poe" and "interface vrrp"

Signed-off-by: Tomas Herfert <herfik>

* support "interface gre6" path

Signed-off-by: Tomas Herfert <herfik>

* ip dhcp-server - fix

Signed-off-by: Tomas Herfert <herfik>

* docs & changelog

Signed-off-by: Tomas Herfert <herfik>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

Signed-off-by: Tomas Herfert <herfik>
Co-authored-by: Tomas Herfert <herfik>
Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Tomas Herfert 2022-11-29 13:06:02 +01:00 committed by GitHub
parent 4ed2fc82e5
commit 4376906ed0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 84 additions and 1 deletions

View file

@ -199,6 +199,21 @@ PATHS = {
'tx-flow-control': KeyInfo(default='off'),
},
),
('interface', 'ethernet', 'poe'): APIData(
fixed_entries=True,
fully_understood=True,
primary_keys=('name', ),
fields={
'name': KeyInfo(),
'poe-out': KeyInfo(default='auto-on'),
'poe-priority': KeyInfo(default=10),
'poe-voltage': KeyInfo(default='auto'),
'power-cycle-interval': KeyInfo(default='none'),
'power-cycle-ping-address': KeyInfo(can_disable=True),
'power-cycle-ping-enabled': KeyInfo(default=False),
'power-cycle-ping-timeout': KeyInfo(can_disable=True),
}
),
('interface', 'gre'): APIData(
fully_understood=True,
primary_keys=('name', ),
@ -217,6 +232,22 @@ PATHS = {
'remote-address': KeyInfo(required=True),
},
),
('interface', 'gre6'): APIData(
fully_understood=True,
primary_keys=('name',),
fields={
'clamp-tcp-mss': KeyInfo(default=True),
'comment': KeyInfo(can_disable=True, remove_value=''),
'disabled': KeyInfo(default=False),
'dscp': KeyInfo(default='inherit'),
'ipsec-secret': KeyInfo(can_disable=True),
'keepalive': KeyInfo(default='10s,10', can_disable=True),
'local-address': KeyInfo(default='::'),
'mtu': KeyInfo(default='auto'),
'name': KeyInfo(),
'remote-address': KeyInfo(required=True),
},
),
('interface', 'list'): APIData(
primary_keys=('name', ),
fully_understood=True,
@ -292,6 +323,33 @@ PATHS = {
'vlan-id': KeyInfo(required=True),
},
),
('interface', 'vrrp'): APIData(
fully_understood=True,
primary_keys=('name', ),
fields={
'arp': KeyInfo(default='enabled'),
'arp-timeout': KeyInfo(default='auto'),
'authentication': KeyInfo(default='none'),
'comment': KeyInfo(can_disable=True, remove_value=''),
'disabled': KeyInfo(default=False),
'group-master': KeyInfo(default=''),
'interface': KeyInfo(required=True),
'interval': KeyInfo(default='1s'),
'mtu': KeyInfo(default=1500),
'name': KeyInfo(),
'on-backup': KeyInfo(default=''),
'on-fail': KeyInfo(default=''),
'on-master': KeyInfo(default=''),
'password': KeyInfo(default=''),
'preemption-mode': KeyInfo(default=True),
'priority': KeyInfo(default=100),
'remote-address': KeyInfo(),
'sync-connection-tracking': KeyInfo(default=False),
'v3-protocol': KeyInfo(default='ipv4'),
'version': KeyInfo(default=3),
'vrid': KeyInfo(default=1),
},
),
('interface', 'wireless', 'security-profiles'): APIData(
unknown_mechanism=True,
# primary_keys=('default', ),
@ -504,13 +562,27 @@ PATHS = {
fully_understood=True,
primary_keys=('name', ),
fields={
'address-pool': KeyInfo(required=True),
'address-pool': KeyInfo(default='static-only'),
'allow-dual-stack-queue': KeyInfo(can_disable=True, remove_value=True),
'always-broadcast': KeyInfo(can_disable=True, remove_value=False),
'authoritative': KeyInfo(default=True),
'bootp-lease-time': KeyInfo(default='forever'),
'bootp-support': KeyInfo(can_disable=True, remove_value='static'),
'client-mac-limit': KeyInfo(can_disable=True, remove_value='unlimited'),
'comment': KeyInfo(can_disable=True, remove_value=''),
'conflict-detection': KeyInfo(can_disable=True, remove_value=True),
'delay-threshold': KeyInfo(can_disable=True, remove_value='none'),
'dhcp-option-set': KeyInfo(can_disable=True, remove_value='none'),
'disabled': KeyInfo(default=False),
'insert-queue-before': KeyInfo(can_disable=True, remove_value='first'),
'interface': KeyInfo(required=True),
'lease-script': KeyInfo(default=''),
'lease-time': KeyInfo(default='10m'),
'name': KeyInfo(),
'parent-queue': KeyInfo(can_disable=True, remove_value='none'),
'relay': KeyInfo(can_disable=True, remove_value='0.0.0.0'),
'server-address': KeyInfo(can_disable=True, remove_value='0.0.0.0'),
'use-framed-as-classless': KeyInfo(can_disable=True, remove_value=True),
'use-radius': KeyInfo(default=False),
},
),