ols-550 changes for old ols 3.2 features to align with schema design and acl index and rule id suggestion

This commit is contained in:
Binny
2025-01-21 06:54:14 +00:00
parent adeeb0457b
commit 8e32d2775a
9 changed files with 827 additions and 1070 deletions

View File

@@ -367,4 +367,84 @@ properties:
lldp-notification: lldp-notification:
type: boolean type: boolean
description: Enables the transmission of SNMP trap notifications about LLDP changes. description: Enables the transmission of SNMP trap notifications about LLDP changes.
default: false default: false
acl:
description: A collection of access control entries that define the rules for filtering traffic through a network port.
type: array
items:
type: object
properties:
acl-inf-policy-preference:
description: Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.
type: integer
minimum: 1
maximum: 64
default: 1
acl-inf-policy-ingress:
description: Specifies the ACL policy that is applied to incoming traffic on an interface.
type: string
maxLength: 32
minLength: 1
examples:
- blacklisted-macs
acl-inf-counters-ingress:
description: Tracks the number and type of packets that match the ingress ACL rules on an interface.
type: boolean
default: false
acl-inf-policy-egress:
description: Specifies the ACL policy that is applied to outgoing traffic from an interface.
type: string
maxLength: 32
minLength: 1
examples:
- blacklisted-macs
acl-inf-counters-egress:
description: Tracks the number and type of packets that match the egress ACL rules on an interface.
type: boolean
default: false
voice-vlan-intf-config:
description: "Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port."
type: object
properties:
voice-vlan-intf-mode:
description: "Specify the mode of placing this port on the voice VLAN."
type: string
default: "auto"
enum:
- none
- manual
- auto
voice-vlan-intf-priority:
description: "Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types."
type: integer
default: 6
minimum: 0
maximum: 6
voice-vlan-intf-detect-voice:
description: "Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition."
type: string
default: "oui"
enum:
- oui
- lldp
voice-vlan-intf-security:
description: "Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices."
type: boolean
default: false
dhcp-snoop-port:
description: "Configuration for DHCP Snooping on a port level on a switch"
type: object
properties:
dhcp-snoop-port-trust:
description: "This parameter designates a switch port as trusted for DHCP messages, meaning it can forward DHCP offers and acknowledgments, which is essential for connecting to legitimate DHCP servers"
type: boolean
default: false
dhcp-snoop-port-client-limit:
description: "It sets a limit on the number of DHCP clients that can be associated with a single port, helping to prevent a single port from exhausting the networks IP address pool"
type: integer
minimum: 1
dhcp-snoop-port-circuit-id:
description: "Specifies DHCP Option 82 circuit ID suboption information. Often including information like the interface number and VLAN ID, this can be useful for network management and troubleshooting"
type: string
minLength: 1
maxLength: 32

View File

@@ -1,33 +0,0 @@
description: A collection of access control entries that define the rules for filtering traffic through a network interface.
type: array
items:
type: object
properties:
acl-inf-policy-preference:
description: Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.
type: integer
minimum: 1
maximum: 64
default: 1
acl-inf-policy-ingress:
description: Specifies the ACL policy that is applied to incoming traffic on an interface.
type: string
maxLength: 32
minLength: 1
examples:
- blacklisted-macs
acl-inf-counters-ingress:
description: Tracks the number and type of packets that match the ingress ACL rules on an interface.
type: boolean
default: false
acl-inf-policy-egress:
description: Specifies the ACL policy that is applied to outgoing traffic from an interface.
type: string
maxLength: 32
minLength: 1
examples:
- blacklisted-macs
acl-inf-counters-egress:
description: Tracks the number and type of packets that match the egress ACL rules on an interface.
type: boolean
default: false

View File

@@ -1,16 +0,0 @@
description: "Configuration for DHCP Snooping on a port level on a switch"
type: object
properties:
dhcp-snoop-port-trust:
description: "This parameter designates a switch port as trusted for DHCP messages, meaning it can forward DHCP offers and acknowledgments, which is essential for connecting to legitimate DHCP servers"
type: boolean
default: false
dhcp-snoop-port-client-limit:
description: "It sets a limit on the number of DHCP clients that can be associated with a single port, helping to prevent a single port from exhausting the networks IP address pool"
type: integer
minimum: 1
dhcp-snoop-port-circuit-id:
description: "Specifies DHCP Option 82 circuit ID suboption information. Often including information like the interface number and VLAN ID, this can be useful for network management and troubleshooting"
type: string
minLength: 1
maxLength: 32

View File

@@ -200,35 +200,6 @@ properties:
description: "Enables DHCP Snooping on a VLAN" description: "Enables DHCP Snooping on a VLAN"
type: boolean type: boolean
default: false default: false
voice-vlan-intf-config:
description: "Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port."
type: object
properties:
voice-vlan-intf-mode:
description: "Specify the mode of placing this port on the voice VLAN."
type: string
default: "auto"
enum:
- none
- manual
- auto
voice-vlan-intf-priority:
description: "Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types."
type: integer
default: 6
minimum: 0
maximum: 6
voice-vlan-intf-detect-voice:
description: "Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition."
type: string
default: "oui"
enum:
- oui
- lldp
voice-vlan-intf-security:
description: "Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices."
type: boolean
default: false
dhcp: dhcp:
$ref: "https://ucentral.io/schema/v1/interface/ipv4/dhcp/" $ref: "https://ucentral.io/schema/v1/interface/ipv4/dhcp/"
dhcp-leases: dhcp-leases:

View File

@@ -68,11 +68,7 @@ properties:
$ref: "https://ucentral.io/schema/v1/interface/ipv4/" $ref: "https://ucentral.io/schema/v1/interface/ipv4/"
ipv6: ipv6:
$ref: "https://ucentral.io/schema/v1/interface/ipv6/" $ref: "https://ucentral.io/schema/v1/interface/ipv6/"
acl:
$ref: "https://ucentral.io/schema/v1/interface/acl/"
dhcp-snoop-port:
$ref: "https://ucentral.io/schema/v1/interface/dhcp-snoop-port/"
broad-band: broad-band:
$ref: "https://ucentral.io/schema/v1/interface/broad-band/" $ref: "https://ucentral.io/schema/v1/interface/broad-band/"
tunnel: tunnel:
$ref: "https://ucentral.io/schema/v1/interface/tunnel/" $ref: "https://ucentral.io/schema/v1/interface/tunnel/"

View File

@@ -285,6 +285,15 @@ properties:
items: items:
type: object type: object
properties: properties:
acl-index:
description: Unique identifier for the ACL grouping
type: integer
minimum: 1
acl-name:
description: The identifier or name for the Access Control List
type: string
maxLength: 32
minLength: 1
acl-type: acl-type:
description: Type of the access control list description: Type of the access control list
type: string type: string
@@ -295,160 +304,97 @@ properties:
- ipv6Ext - ipv6Ext
- mac - mac
- arp - arp
acl-name: acl-rules:
description: The identifier or name for the Access Control List description: List of access control rules under this ACL
type: string type: array
maxLength: 32 items:
minLength: 1 type: object
acl-rule-action: properties:
description: Defines whether to permit or deny traffic matching the rule acl-rule-priority:
type: string description: Priority of the rule within the ACL
enum: type: integer
- permit minimum: 0
- deny maximum: 1024
acl-source-macaddress: acl-rule-action:
description: Specifies the source MAC address to filter on description: Defines whether to permit or deny traffic matching the rule
type: string type: string
format: uc-mac enum:
acl-source-macbitmask: - permit
description: The mask applied to the source MAC address - deny
type: string acl-source-macaddress:
format: uc-mac description: Specifies the source MAC address to filter on
acl-dest-macaddress: type: string
description: Specifies the destination MAC address for the filter format: uc-mac
type: string acl-source-macbitmask:
format: uc-mac description: The mask applied to the source MAC address
acl-dest-macbitmask: type: string
description: The mask applied to the destination MAC address format: uc-mac
type: string acl-dest-macaddress:
format: uc-mac description: Specifies the destination MAC address for the filter
acl-packet-format: type: string
description: Identifies the protocol encapsulated in the Ethernet frame by its EtherType format: uc-mac
type: string acl-dest-macbitmask:
enum: description: The mask applied to the destination MAC address
- any type: string
- untagged-eth2 format: uc-mac
- untagged-802.3 acl-packet-format:
- tagged-eth2 description: Identifies the protocol encapsulated in the Ethernet frame by its EtherType
- tagged-802.3 type: string
acl-vlanid: enum:
description: Specifies a VLAN ID to filter traffic from a specific VLAN - any
type: integer - untagged-eth2
minimum: 1 - untagged-802.3
maximum: 4094 - tagged-eth2
acl-vid-bitmask: - tagged-802.3
description: The mask applied to the VLAN ID acl-vlanid:
type: integer description: Specifies a VLAN ID to filter traffic from a specific VLAN
minimum: 1 type: integer
maximum: 4095 minimum: 1
acl-ethertype: maximum: 4094
description: Filters packets based on the custom EtherType field (HEX) in the Ethernet frame acl-vid-bitmask:
type: string description: The mask applied to the VLAN ID
default: "800" type: integer
acl-ethertype-bitmask: minimum: 1
description: The mask applied to the EtherType field maximum: 4095
type: string acl-ethertype:
default: "FFFF" description: Filters packets based on the custom EtherType field (HEX) in the Ethernet frame
acl-cos: type: string
description: Filters based on the Class of Service (CoS) field in the frame default: "800"
type: integer acl-ethertype-bitmask:
minimum: 0 description: The mask applied to the EtherType field
maximum: 7 type: string
acl-cos-bitmask: default: "FFFF"
description: The mask applied to the CoS field acl-cos:
type: integer description: Filters based on the Class of Service (CoS) field in the frame
minimum: 0 type: integer
maximum: 7 minimum: 0
# IP-ACL (IPv4/IPv6) Parameters maximum: 7
acl-ipv4-source-address: acl-cos-bitmask:
description: The IPv4 address of the source to filter on description: The mask applied to the CoS field
type: string type: integer
format: ipv4 minimum: 0
acl-ipv4-source-subnetmask: maximum: 7
description: The subnet mask applied to the source IPv4 address acl-ipv4-source-address:
type: string description: The IPv4 address of the source to filter on
format: ipv4 type: string
acl-ipv4-dest-address: format: ipv4
description: The IPv4 address of the destination to filter on acl-ipv4-source-subnetmask:
type: string description: The subnet mask applied to the source IPv4 address
format: ipv4 type: string
acl-ipv4-dest-subnetmask: format: ipv4
description: The subnet mask applied to the destination IPv4 address acl-ipv4-dest-address:
type: string description: The IPv4 address of the destination to filter on
format: ipv4 type: string
acl-ipv6-source-address: format: ipv4
description: The IPv6 address of the source to filter on acl-ipv4-dest-subnetmask:
type: string description: The subnet mask applied to the destination IPv4 address
format: ipv6 type: string
acl-ipv6-source-prefix-length: format: ipv4
description: Defines the length of the prefix used in filtering IPv6 source addresses acl-ip-proto:
type: integer description: Filters based on the IP protocol number
minimum: 0 type: integer
maximum: 128 minimum: 0
acl-ipv6-dest-address: maximum: 255
description: The IPv6 address of the destination to filter on
type: string
format: ipv6
acl-ipv6-dest-prefix-length:
description: Defines the length of the prefix used in filtering IPv6 destination addresses
type: integer
minimum: 0
maximum: 128
acl-ip-proto:
description: Filters based on the IP protocol number
type: integer
minimum: 0
maximum: 255
acl-ipv6-next-header:
description: Specifies the next header type in IPv6 traffic, such as TCP, UDP, or ICMPv6
type: integer
minimum: 0
maximum: 255
acl-ipv6-flow-label:
description: Filters packets based on the IPv6 Flow Label field
type: integer
minimum: 0
maximum: 1048575
acl-ip-source-port:
description: Specifies the source port number for filtering
type: integer
minimum: 0
maximum: 65535
acl-ip-source-port-bitmask:
description: The mask applied to the source port number
type: integer
minimum: 0
maximum: 65535
acl-ip-dest-port:
description: Specifies the destination port number for filtering
type: integer
minimum: 0
maximum: 65535
acl-ip-dest-port-bitmask:
description: The mask applied to the destination port number
type: integer
minimum: 0
maximum: 65535
acl-ipv4-fragment-offset:
description: Filters based on IPv4 fragment offset for fragmented packets
type: integer
minimum: 0
maximum: 8191
acl-ipv6-fragment-offset:
description: Filters based on IPv6 fragment offset for fragmented packets
type: integer
minimum: 0
maximum: 8191
acl-ip-ttl:
description: Filters IPv4 traffic based on the TTL (Time to Live) value
type: integer
minimum: 0
maximum: 255
acl-ipv6-hop-limit:
description: Filters IPv6 traffic based on the hop limit value, equivalent to IPv4 TTL
type: integer
minimum: 0
maximum: 255
mvr-config: mvr-config:
description: This section defines the Multicast VLAN Registration (MVR) general configuration. description: This section defines the Multicast VLAN Registration (MVR) general configuration.
type: object type: object

View File

@@ -588,6 +588,109 @@
"default": false "default": false
} }
} }
},
"acl": {
"description": "A collection of access control entries that define the rules for filtering traffic through a network port.",
"type": "array",
"items": {
"type": "object",
"properties": {
"acl-inf-policy-preference": {
"description": "Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.",
"type": "integer",
"minimum": 1,
"maximum": 64,
"default": 1
},
"acl-inf-policy-ingress": {
"description": "Specifies the ACL policy that is applied to incoming traffic on an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-ingress": {
"description": "Tracks the number and type of packets that match the ingress ACL rules on an interface.",
"type": "boolean",
"default": false
},
"acl-inf-policy-egress": {
"description": "Specifies the ACL policy that is applied to outgoing traffic from an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-egress": {
"description": "Tracks the number and type of packets that match the egress ACL rules on an interface.",
"type": "boolean",
"default": false
}
}
}
},
"voice-vlan-intf-config": {
"description": "Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port.",
"type": "object",
"properties": {
"voice-vlan-intf-mode": {
"description": "Specify the mode of placing this port on the voice VLAN.",
"type": "string",
"default": "auto",
"enum": [
"none",
"manual",
"auto"
]
},
"voice-vlan-intf-priority": {
"description": "Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types.",
"type": "integer",
"default": 6,
"minimum": 0,
"maximum": 6
},
"voice-vlan-intf-detect-voice": {
"description": "Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition.",
"type": "string",
"default": "oui",
"enum": [
"oui",
"lldp"
]
},
"voice-vlan-intf-security": {
"description": "Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices.",
"type": "boolean",
"default": false
}
}
}
},
"dhcp-snoop-port": {
"description": "Configuration for DHCP Snooping on a port level on a switch",
"type": "object",
"properties": {
"dhcp-snoop-port-trust": {
"description": "This parameter designates a switch port as \u2018trusted\u2019 for DHCP messages, meaning it can forward DHCP offers and acknowledgments, which is essential for connecting to legitimate DHCP servers",
"type": "boolean",
"default": false
},
"dhcp-snoop-port-client-limit": {
"description": "It sets a limit on the number of DHCP clients that can be associated with a single port, helping to prevent a single port from exhausting the network\u2019s IP address pool",
"type": "integer",
"minimum": 1
},
"dhcp-snoop-port-circuit-id": {
"description": "Specifies DHCP Option 82 circuit ID suboption information. Often including information like the interface number and VLAN ID, this can be useful for network management and troubleshooting",
"type": "string",
"minLength": 1,
"maxLength": 32
}
} }
} }
} }
@@ -903,6 +1006,17 @@
"items": { "items": {
"type": "object", "type": "object",
"properties": { "properties": {
"acl-index": {
"description": "Unique identifier for the ACL grouping",
"type": "integer",
"minimum": 1
},
"acl-name": {
"description": "The identifier or name for the Access Control List",
"type": "string",
"maxLength": 32,
"minLength": 1
},
"acl-type": { "acl-type": {
"description": "Type of the access control list", "description": "Type of the access control list",
"type": "string", "type": "string",
@@ -915,192 +1029,119 @@
"arp" "arp"
] ]
}, },
"acl-name": { "acl-rules": {
"description": "The identifier or name for the Access Control List", "description": "List of access control rules under this ACL",
"type": "string", "type": "array",
"maxLength": 32, "items": {
"minLength": 1 "type": "object",
}, "properties": {
"acl-rule-action": { "acl-rule-priority": {
"description": "Defines whether to permit or deny traffic matching the rule", "description": "Priority of the rule within the ACL",
"type": "string", "type": "integer",
"enum": [ "minimum": 0,
"permit", "maximum": 1024
"deny" },
] "acl-rule-action": {
}, "description": "Defines whether to permit or deny traffic matching the rule",
"acl-source-macaddress": { "type": "string",
"description": "Specifies the source MAC address to filter on", "enum": [
"type": "string", "permit",
"format": "uc-mac" "deny"
}, ]
"acl-source-macbitmask": { },
"description": "The mask applied to the source MAC address", "acl-source-macaddress": {
"type": "string", "description": "Specifies the source MAC address to filter on",
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-dest-macaddress": { },
"description": "Specifies the destination MAC address for the filter", "acl-source-macbitmask": {
"type": "string", "description": "The mask applied to the source MAC address",
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-dest-macbitmask": { },
"description": "The mask applied to the destination MAC address", "acl-dest-macaddress": {
"type": "string", "description": "Specifies the destination MAC address for the filter",
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-packet-format": { },
"description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType", "acl-dest-macbitmask": {
"type": "string", "description": "The mask applied to the destination MAC address",
"enum": [ "type": "string",
"any", "format": "uc-mac"
"untagged-eth2", },
"untagged-802.3", "acl-packet-format": {
"tagged-eth2", "description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType",
"tagged-802.3" "type": "string",
] "enum": [
}, "any",
"acl-vlanid": { "untagged-eth2",
"description": "Specifies a VLAN ID to filter traffic from a specific VLAN", "untagged-802.3",
"type": "integer", "tagged-eth2",
"minimum": 1, "tagged-802.3"
"maximum": 4094 ]
}, },
"acl-vid-bitmask": { "acl-vlanid": {
"description": "The mask applied to the VLAN ID", "description": "Specifies a VLAN ID to filter traffic from a specific VLAN",
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 4095 "maximum": 4094
}, },
"acl-ethertype": { "acl-vid-bitmask": {
"description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame", "description": "The mask applied to the VLAN ID",
"type": "string", "type": "integer",
"default": "800" "minimum": 1,
}, "maximum": 4095
"acl-ethertype-bitmask": { },
"description": "The mask applied to the EtherType field", "acl-ethertype": {
"type": "string", "description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame",
"default": "FFFF" "type": "string",
}, "default": "800"
"acl-cos": { },
"description": "Filters based on the Class of Service (CoS) field in the frame", "acl-ethertype-bitmask": {
"type": "integer", "description": "The mask applied to the EtherType field",
"minimum": 0, "type": "string",
"maximum": 7 "default": "FFFF"
}, },
"acl-cos-bitmask": { "acl-cos": {
"description": "The mask applied to the CoS field", "description": "Filters based on the Class of Service (CoS) field in the frame",
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"maximum": 7 "maximum": 7
}, },
"acl-ipv4-source-address": { "acl-cos-bitmask": {
"description": "The IPv4 address of the source to filter on", "description": "The mask applied to the CoS field",
"type": "string", "type": "integer",
"format": "ipv4" "minimum": 0,
}, "maximum": 7
"acl-ipv4-source-subnetmask": { },
"description": "The subnet mask applied to the source IPv4 address", "acl-ipv4-source-address": {
"type": "string", "description": "The IPv4 address of the source to filter on",
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv4-dest-address": { },
"description": "The IPv4 address of the destination to filter on", "acl-ipv4-source-subnetmask": {
"type": "string", "description": "The subnet mask applied to the source IPv4 address",
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv4-dest-subnetmask": { },
"description": "The subnet mask applied to the destination IPv4 address", "acl-ipv4-dest-address": {
"type": "string", "description": "The IPv4 address of the destination to filter on",
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv6-source-address": { },
"description": "The IPv6 address of the source to filter on", "acl-ipv4-dest-subnetmask": {
"type": "string", "description": "The subnet mask applied to the destination IPv4 address",
"format": "ipv6" "type": "string",
}, "format": "ipv4"
"acl-ipv6-source-prefix-length": { },
"description": "Defines the length of the prefix used in filtering IPv6 source addresses", "acl-ip-proto": {
"type": "integer", "description": "Filters based on the IP protocol number",
"minimum": 0, "type": "integer",
"maximum": 128 "minimum": 0,
}, "maximum": 255
"acl-ipv6-dest-address": { }
"description": "The IPv6 address of the destination to filter on", }
"type": "string", }
"format": "ipv6"
},
"acl-ipv6-dest-prefix-length": {
"description": "Defines the length of the prefix used in filtering IPv6 destination addresses",
"type": "integer",
"minimum": 0,
"maximum": 128
},
"acl-ip-proto": {
"description": "Filters based on the IP protocol number",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-next-header": {
"description": "Specifies the next header type in IPv6 traffic, such as TCP, UDP, or ICMPv6",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-flow-label": {
"description": "Filters packets based on the IPv6 Flow Label field",
"type": "integer",
"minimum": 0,
"maximum": 1048575
},
"acl-ip-source-port": {
"description": "Specifies the source port number for filtering",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-source-port-bitmask": {
"description": "The mask applied to the source port number",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-dest-port": {
"description": "Specifies the destination port number for filtering",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-dest-port-bitmask": {
"description": "The mask applied to the destination port number",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ipv4-fragment-offset": {
"description": "Filters based on IPv4 fragment offset for fragmented packets",
"type": "integer",
"minimum": 0,
"maximum": 8191
},
"acl-ipv6-fragment-offset": {
"description": "Filters based on IPv6 fragment offset for fragmented packets",
"type": "integer",
"minimum": 0,
"maximum": 8191
},
"acl-ip-ttl": {
"description": "Filters IPv4 traffic based on the TTL (Time to Live) value",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-hop-limit": {
"description": "Filters IPv6 traffic based on the hop limit value, equivalent to IPv4 TTL",
"type": "integer",
"minimum": 0,
"maximum": 255
} }
} }
} }
@@ -1829,43 +1870,6 @@
"type": "boolean", "type": "boolean",
"default": false "default": false
}, },
"voice-vlan-intf-config": {
"description": "Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port.",
"type": "object",
"properties": {
"voice-vlan-intf-mode": {
"description": "Specify the mode of placing this port on the voice VLAN.",
"type": "string",
"default": "auto",
"enum": [
"none",
"manual",
"auto"
]
},
"voice-vlan-intf-priority": {
"description": "Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types.",
"type": "integer",
"default": 6,
"minimum": 0,
"maximum": 6
},
"voice-vlan-intf-detect-voice": {
"description": "Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition.",
"type": "string",
"default": "oui",
"enum": [
"oui",
"lldp"
]
},
"voice-vlan-intf-security": {
"description": "Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices.",
"type": "boolean",
"default": false
}
}
},
"dhcp": { "dhcp": {
"description": "This section describes the DHCP server configuration", "description": "This section describes the DHCP server configuration",
"type": "object", "type": "object",
@@ -2164,72 +2168,6 @@
} }
} }
}, },
"acl": {
"description": "A collection of access control entries that define the rules for filtering traffic through a network interface.",
"type": "array",
"items": {
"type": "object",
"properties": {
"acl-inf-policy-preference": {
"description": "Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.",
"type": "integer",
"minimum": 1,
"maximum": 64,
"default": 1
},
"acl-inf-policy-ingress": {
"description": "Specifies the ACL policy that is applied to incoming traffic on an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-ingress": {
"description": "Tracks the number and type of packets that match the ingress ACL rules on an interface.",
"type": "boolean",
"default": false
},
"acl-inf-policy-egress": {
"description": "Specifies the ACL policy that is applied to outgoing traffic from an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-egress": {
"description": "Tracks the number and type of packets that match the egress ACL rules on an interface.",
"type": "boolean",
"default": false
}
}
}
},
"dhcp-snoop-port": {
"description": "Configuration for DHCP Snooping on a port level on a switch",
"type": "object",
"properties": {
"dhcp-snoop-port-trust": {
"description": "This parameter designates a switch port as \u2018trusted\u2019 for DHCP messages, meaning it can forward DHCP offers and acknowledgments, which is essential for connecting to legitimate DHCP servers",
"type": "boolean",
"default": false
},
"dhcp-snoop-port-client-limit": {
"description": "It sets a limit on the number of DHCP clients that can be associated with a single port, helping to prevent a single port from exhausting the network\u2019s IP address pool",
"type": "integer",
"minimum": 1
},
"dhcp-snoop-port-circuit-id": {
"description": "Specifies DHCP Option 82 circuit ID suboption information. Often including information like the interface number and VLAN ID, this can be useful for network management and troubleshooting",
"type": "string",
"minLength": 1,
"maxLength": 32
}
}
},
"broad-band": { "broad-band": {
"oneOf": [ "oneOf": [
{ {

View File

@@ -528,6 +528,94 @@
"default": false "default": false
} }
} }
},
"acl": {
"type": "array",
"items": {
"type": "object",
"properties": {
"acl-inf-policy-preference": {
"type": "integer",
"minimum": 1,
"maximum": 64,
"default": 1
},
"acl-inf-policy-ingress": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-ingress": {
"type": "boolean",
"default": false
},
"acl-inf-policy-egress": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-egress": {
"type": "boolean",
"default": false
}
}
}
},
"voice-vlan-intf-config": {
"type": "object",
"properties": {
"voice-vlan-intf-mode": {
"type": "string",
"default": "auto",
"enum": [
"none",
"manual",
"auto"
]
},
"voice-vlan-intf-priority": {
"type": "integer",
"default": 6,
"minimum": 0,
"maximum": 6
},
"voice-vlan-intf-detect-voice": {
"type": "string",
"default": "oui",
"enum": [
"oui",
"lldp"
]
},
"voice-vlan-intf-security": {
"type": "boolean",
"default": false
}
}
}
},
"dhcp-snoop-port": {
"type": "object",
"properties": {
"dhcp-snoop-port-trust": {
"type": "boolean",
"default": false
},
"dhcp-snoop-port-client-limit": {
"type": "integer",
"minimum": 1
},
"dhcp-snoop-port-circuit-id": {
"type": "string",
"minLength": 1,
"maxLength": 32
}
} }
} }
}, },
@@ -793,6 +881,15 @@
"items": { "items": {
"type": "object", "type": "object",
"properties": { "properties": {
"acl-index": {
"type": "integer",
"minimum": 1
},
"acl-name": {
"type": "string",
"maxLength": 32,
"minLength": 1
},
"acl-type": { "acl-type": {
"type": "string", "type": "string",
"enum": [ "enum": [
@@ -804,160 +901,100 @@
"arp" "arp"
] ]
}, },
"acl-name": { "acl-rules": {
"type": "string", "type": "array",
"maxLength": 32, "items": {
"minLength": 1 "type": "object",
}, "properties": {
"acl-rule-action": { "acl-rule-priority": {
"type": "string", "type": "integer",
"enum": [ "minimum": 0,
"permit", "maximum": 1024
"deny" },
] "acl-rule-action": {
}, "type": "string",
"acl-source-macaddress": { "enum": [
"type": "string", "permit",
"format": "uc-mac" "deny"
}, ]
"acl-source-macbitmask": { },
"type": "string", "acl-source-macaddress": {
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-dest-macaddress": { },
"type": "string", "acl-source-macbitmask": {
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-dest-macbitmask": { },
"type": "string", "acl-dest-macaddress": {
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-packet-format": { },
"type": "string", "acl-dest-macbitmask": {
"enum": [ "type": "string",
"any", "format": "uc-mac"
"untagged-eth2", },
"untagged-802.3", "acl-packet-format": {
"tagged-eth2", "type": "string",
"tagged-802.3" "enum": [
] "any",
}, "untagged-eth2",
"acl-vlanid": { "untagged-802.3",
"type": "integer", "tagged-eth2",
"minimum": 1, "tagged-802.3"
"maximum": 4094 ]
}, },
"acl-vid-bitmask": { "acl-vlanid": {
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 4095 "maximum": 4094
}, },
"acl-ethertype": { "acl-vid-bitmask": {
"type": "string", "type": "integer",
"default": "800" "minimum": 1,
}, "maximum": 4095
"acl-ethertype-bitmask": { },
"type": "string", "acl-ethertype": {
"default": "FFFF" "type": "string",
}, "default": "800"
"acl-cos": { },
"type": "integer", "acl-ethertype-bitmask": {
"minimum": 0, "type": "string",
"maximum": 7 "default": "FFFF"
}, },
"acl-cos-bitmask": { "acl-cos": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"maximum": 7 "maximum": 7
}, },
"acl-ipv4-source-address": { "acl-cos-bitmask": {
"type": "string", "type": "integer",
"format": "ipv4" "minimum": 0,
}, "maximum": 7
"acl-ipv4-source-subnetmask": { },
"type": "string", "acl-ipv4-source-address": {
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv4-dest-address": { },
"type": "string", "acl-ipv4-source-subnetmask": {
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv4-dest-subnetmask": { },
"type": "string", "acl-ipv4-dest-address": {
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv6-source-address": { },
"type": "string", "acl-ipv4-dest-subnetmask": {
"format": "ipv6" "type": "string",
}, "format": "ipv4"
"acl-ipv6-source-prefix-length": { },
"type": "integer", "acl-ip-proto": {
"minimum": 0, "type": "integer",
"maximum": 128 "minimum": 0,
}, "maximum": 255
"acl-ipv6-dest-address": { }
"type": "string", }
"format": "ipv6" }
},
"acl-ipv6-dest-prefix-length": {
"type": "integer",
"minimum": 0,
"maximum": 128
},
"acl-ip-proto": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-next-header": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-flow-label": {
"type": "integer",
"minimum": 0,
"maximum": 1048575
},
"acl-ip-source-port": {
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-source-port-bitmask": {
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-dest-port": {
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-dest-port-bitmask": {
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ipv4-fragment-offset": {
"type": "integer",
"minimum": 0,
"maximum": 8191
},
"acl-ipv6-fragment-offset": {
"type": "integer",
"minimum": 0,
"maximum": 8191
},
"acl-ip-ttl": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-hop-limit": {
"type": "integer",
"minimum": 0,
"maximum": 255
} }
} }
} }
@@ -1632,38 +1669,6 @@
"type": "boolean", "type": "boolean",
"default": false "default": false
}, },
"voice-vlan-intf-config": {
"type": "object",
"properties": {
"voice-vlan-intf-mode": {
"type": "string",
"default": "auto",
"enum": [
"none",
"manual",
"auto"
]
},
"voice-vlan-intf-priority": {
"type": "integer",
"default": 6,
"minimum": 0,
"maximum": 6
},
"voice-vlan-intf-detect-voice": {
"type": "string",
"default": "oui",
"enum": [
"oui",
"lldp"
]
},
"voice-vlan-intf-security": {
"type": "boolean",
"default": false
}
}
},
"dhcp": { "dhcp": {
"$ref": "#/$defs/interface.ipv4.dhcp" "$ref": "#/$defs/interface.ipv4.dhcp"
}, },
@@ -1843,62 +1848,6 @@
} }
} }
}, },
"interface.acl": {
"type": "array",
"items": {
"type": "object",
"properties": {
"acl-inf-policy-preference": {
"type": "integer",
"minimum": 1,
"maximum": 64,
"default": 1
},
"acl-inf-policy-ingress": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-ingress": {
"type": "boolean",
"default": false
},
"acl-inf-policy-egress": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-egress": {
"type": "boolean",
"default": false
}
}
}
},
"interface.dhcp-snoop-port": {
"type": "object",
"properties": {
"dhcp-snoop-port-trust": {
"type": "boolean",
"default": false
},
"dhcp-snoop-port-client-limit": {
"type": "integer",
"minimum": 1
},
"dhcp-snoop-port-circuit-id": {
"type": "string",
"minLength": 1,
"maxLength": 32
}
}
},
"interface.broad-band.wwan": { "interface.broad-band.wwan": {
"type": "object", "type": "object",
"properties": { "properties": {
@@ -2150,12 +2099,6 @@
"ipv6": { "ipv6": {
"$ref": "#/$defs/interface.ipv6" "$ref": "#/$defs/interface.ipv6"
}, },
"acl": {
"$ref": "#/$defs/interface.acl"
},
"dhcp-snoop-port": {
"$ref": "#/$defs/interface.dhcp-snoop-port"
},
"broad-band": { "broad-band": {
"$ref": "#/$defs/interface.broad-band" "$ref": "#/$defs/interface.broad-band"
}, },

View File

@@ -622,6 +622,109 @@
"default": false "default": false
} }
} }
},
"acl": {
"description": "A collection of access control entries that define the rules for filtering traffic through a network port.",
"type": "array",
"items": {
"type": "object",
"properties": {
"acl-inf-policy-preference": {
"description": "Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.",
"type": "integer",
"minimum": 1,
"maximum": 64,
"default": 1
},
"acl-inf-policy-ingress": {
"description": "Specifies the ACL policy that is applied to incoming traffic on an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-ingress": {
"description": "Tracks the number and type of packets that match the ingress ACL rules on an interface.",
"type": "boolean",
"default": false
},
"acl-inf-policy-egress": {
"description": "Specifies the ACL policy that is applied to outgoing traffic from an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-egress": {
"description": "Tracks the number and type of packets that match the egress ACL rules on an interface.",
"type": "boolean",
"default": false
}
}
}
},
"voice-vlan-intf-config": {
"description": "Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port.",
"type": "object",
"properties": {
"voice-vlan-intf-mode": {
"description": "Specify the mode of placing this port on the voice VLAN.",
"type": "string",
"default": "auto",
"enum": [
"none",
"manual",
"auto"
]
},
"voice-vlan-intf-priority": {
"description": "Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types.",
"type": "integer",
"default": 6,
"minimum": 0,
"maximum": 6
},
"voice-vlan-intf-detect-voice": {
"description": "Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition.",
"type": "string",
"default": "oui",
"enum": [
"oui",
"lldp"
]
},
"voice-vlan-intf-security": {
"description": "Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices.",
"type": "boolean",
"default": false
}
}
}
},
"dhcp-snoop-port": {
"description": "Configuration for DHCP Snooping on a port level on a switch",
"type": "object",
"properties": {
"dhcp-snoop-port-trust": {
"description": "This parameter designates a switch port as \u2018trusted\u2019 for DHCP messages, meaning it can forward DHCP offers and acknowledgments, which is essential for connecting to legitimate DHCP servers",
"type": "boolean",
"default": false
},
"dhcp-snoop-port-client-limit": {
"description": "It sets a limit on the number of DHCP clients that can be associated with a single port, helping to prevent a single port from exhausting the network\u2019s IP address pool",
"type": "integer",
"minimum": 1
},
"dhcp-snoop-port-circuit-id": {
"description": "Specifies DHCP Option 82 circuit ID suboption information. Often including information like the interface number and VLAN ID, this can be useful for network management and troubleshooting",
"type": "string",
"minLength": 1,
"maxLength": 32
}
} }
} }
}, },
@@ -936,6 +1039,17 @@
"items": { "items": {
"type": "object", "type": "object",
"properties": { "properties": {
"acl-index": {
"description": "Unique identifier for the ACL grouping",
"type": "integer",
"minimum": 1
},
"acl-name": {
"description": "The identifier or name for the Access Control List",
"type": "string",
"maxLength": 32,
"minLength": 1
},
"acl-type": { "acl-type": {
"description": "Type of the access control list", "description": "Type of the access control list",
"type": "string", "type": "string",
@@ -948,192 +1062,119 @@
"arp" "arp"
] ]
}, },
"acl-name": { "acl-rules": {
"description": "The identifier or name for the Access Control List", "description": "List of access control rules under this ACL",
"type": "string", "type": "array",
"maxLength": 32, "items": {
"minLength": 1 "type": "object",
}, "properties": {
"acl-rule-action": { "acl-rule-priority": {
"description": "Defines whether to permit or deny traffic matching the rule", "description": "Priority of the rule within the ACL",
"type": "string", "type": "integer",
"enum": [ "minimum": 0,
"permit", "maximum": 1024
"deny" },
] "acl-rule-action": {
}, "description": "Defines whether to permit or deny traffic matching the rule",
"acl-source-macaddress": { "type": "string",
"description": "Specifies the source MAC address to filter on", "enum": [
"type": "string", "permit",
"format": "uc-mac" "deny"
}, ]
"acl-source-macbitmask": { },
"description": "The mask applied to the source MAC address", "acl-source-macaddress": {
"type": "string", "description": "Specifies the source MAC address to filter on",
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-dest-macaddress": { },
"description": "Specifies the destination MAC address for the filter", "acl-source-macbitmask": {
"type": "string", "description": "The mask applied to the source MAC address",
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-dest-macbitmask": { },
"description": "The mask applied to the destination MAC address", "acl-dest-macaddress": {
"type": "string", "description": "Specifies the destination MAC address for the filter",
"format": "uc-mac" "type": "string",
}, "format": "uc-mac"
"acl-packet-format": { },
"description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType", "acl-dest-macbitmask": {
"type": "string", "description": "The mask applied to the destination MAC address",
"enum": [ "type": "string",
"any", "format": "uc-mac"
"untagged-eth2", },
"untagged-802.3", "acl-packet-format": {
"tagged-eth2", "description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType",
"tagged-802.3" "type": "string",
] "enum": [
}, "any",
"acl-vlanid": { "untagged-eth2",
"description": "Specifies a VLAN ID to filter traffic from a specific VLAN", "untagged-802.3",
"type": "integer", "tagged-eth2",
"minimum": 1, "tagged-802.3"
"maximum": 4094 ]
}, },
"acl-vid-bitmask": { "acl-vlanid": {
"description": "The mask applied to the VLAN ID", "description": "Specifies a VLAN ID to filter traffic from a specific VLAN",
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 4095 "maximum": 4094
}, },
"acl-ethertype": { "acl-vid-bitmask": {
"description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame", "description": "The mask applied to the VLAN ID",
"type": "string", "type": "integer",
"default": "800" "minimum": 1,
}, "maximum": 4095
"acl-ethertype-bitmask": { },
"description": "The mask applied to the EtherType field", "acl-ethertype": {
"type": "string", "description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame",
"default": "FFFF" "type": "string",
}, "default": "800"
"acl-cos": { },
"description": "Filters based on the Class of Service (CoS) field in the frame", "acl-ethertype-bitmask": {
"type": "integer", "description": "The mask applied to the EtherType field",
"minimum": 0, "type": "string",
"maximum": 7 "default": "FFFF"
}, },
"acl-cos-bitmask": { "acl-cos": {
"description": "The mask applied to the CoS field", "description": "Filters based on the Class of Service (CoS) field in the frame",
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"maximum": 7 "maximum": 7
}, },
"acl-ipv4-source-address": { "acl-cos-bitmask": {
"description": "The IPv4 address of the source to filter on", "description": "The mask applied to the CoS field",
"type": "string", "type": "integer",
"format": "ipv4" "minimum": 0,
}, "maximum": 7
"acl-ipv4-source-subnetmask": { },
"description": "The subnet mask applied to the source IPv4 address", "acl-ipv4-source-address": {
"type": "string", "description": "The IPv4 address of the source to filter on",
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv4-dest-address": { },
"description": "The IPv4 address of the destination to filter on", "acl-ipv4-source-subnetmask": {
"type": "string", "description": "The subnet mask applied to the source IPv4 address",
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv4-dest-subnetmask": { },
"description": "The subnet mask applied to the destination IPv4 address", "acl-ipv4-dest-address": {
"type": "string", "description": "The IPv4 address of the destination to filter on",
"format": "ipv4" "type": "string",
}, "format": "ipv4"
"acl-ipv6-source-address": { },
"description": "The IPv6 address of the source to filter on", "acl-ipv4-dest-subnetmask": {
"type": "string", "description": "The subnet mask applied to the destination IPv4 address",
"format": "ipv6" "type": "string",
}, "format": "ipv4"
"acl-ipv6-source-prefix-length": { },
"description": "Defines the length of the prefix used in filtering IPv6 source addresses", "acl-ip-proto": {
"type": "integer", "description": "Filters based on the IP protocol number",
"minimum": 0, "type": "integer",
"maximum": 128 "minimum": 0,
}, "maximum": 255
"acl-ipv6-dest-address": { }
"description": "The IPv6 address of the destination to filter on", }
"type": "string", }
"format": "ipv6"
},
"acl-ipv6-dest-prefix-length": {
"description": "Defines the length of the prefix used in filtering IPv6 destination addresses",
"type": "integer",
"minimum": 0,
"maximum": 128
},
"acl-ip-proto": {
"description": "Filters based on the IP protocol number",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-next-header": {
"description": "Specifies the next header type in IPv6 traffic, such as TCP, UDP, or ICMPv6",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-flow-label": {
"description": "Filters packets based on the IPv6 Flow Label field",
"type": "integer",
"minimum": 0,
"maximum": 1048575
},
"acl-ip-source-port": {
"description": "Specifies the source port number for filtering",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-source-port-bitmask": {
"description": "The mask applied to the source port number",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-dest-port": {
"description": "Specifies the destination port number for filtering",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ip-dest-port-bitmask": {
"description": "The mask applied to the destination port number",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"acl-ipv4-fragment-offset": {
"description": "Filters based on IPv4 fragment offset for fragmented packets",
"type": "integer",
"minimum": 0,
"maximum": 8191
},
"acl-ipv6-fragment-offset": {
"description": "Filters based on IPv6 fragment offset for fragmented packets",
"type": "integer",
"minimum": 0,
"maximum": 8191
},
"acl-ip-ttl": {
"description": "Filters IPv4 traffic based on the TTL (Time to Live) value",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"acl-ipv6-hop-limit": {
"description": "Filters IPv6 traffic based on the hop limit value, equivalent to IPv4 TTL",
"type": "integer",
"minimum": 0,
"maximum": 255
} }
} }
} }
@@ -1916,43 +1957,6 @@
"type": "boolean", "type": "boolean",
"default": false "default": false
}, },
"voice-vlan-intf-config": {
"description": "Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port.",
"type": "object",
"properties": {
"voice-vlan-intf-mode": {
"description": "Specify the mode of placing this port on the voice VLAN.",
"type": "string",
"default": "auto",
"enum": [
"none",
"manual",
"auto"
]
},
"voice-vlan-intf-priority": {
"description": "Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types.",
"type": "integer",
"default": 6,
"minimum": 0,
"maximum": 6
},
"voice-vlan-intf-detect-voice": {
"description": "Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition.",
"type": "string",
"default": "oui",
"enum": [
"oui",
"lldp"
]
},
"voice-vlan-intf-security": {
"description": "Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices.",
"type": "boolean",
"default": false
}
}
},
"dhcp": { "dhcp": {
"$ref": "#/$defs/interface.ipv4.dhcp" "$ref": "#/$defs/interface.ipv4.dhcp"
}, },
@@ -2152,72 +2156,6 @@
} }
} }
}, },
"interface.acl": {
"description": "A collection of access control entries that define the rules for filtering traffic through a network interface.",
"type": "array",
"items": {
"type": "object",
"properties": {
"acl-inf-policy-preference": {
"description": "Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.",
"type": "integer",
"minimum": 1,
"maximum": 64,
"default": 1
},
"acl-inf-policy-ingress": {
"description": "Specifies the ACL policy that is applied to incoming traffic on an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-ingress": {
"description": "Tracks the number and type of packets that match the ingress ACL rules on an interface.",
"type": "boolean",
"default": false
},
"acl-inf-policy-egress": {
"description": "Specifies the ACL policy that is applied to outgoing traffic from an interface.",
"type": "string",
"maxLength": 32,
"minLength": 1,
"examples": [
"blacklisted-macs"
]
},
"acl-inf-counters-egress": {
"description": "Tracks the number and type of packets that match the egress ACL rules on an interface.",
"type": "boolean",
"default": false
}
}
}
},
"interface.dhcp-snoop-port": {
"description": "Configuration for DHCP Snooping on a port level on a switch",
"type": "object",
"properties": {
"dhcp-snoop-port-trust": {
"description": "This parameter designates a switch port as \u2018trusted\u2019 for DHCP messages, meaning it can forward DHCP offers and acknowledgments, which is essential for connecting to legitimate DHCP servers",
"type": "boolean",
"default": false
},
"dhcp-snoop-port-client-limit": {
"description": "It sets a limit on the number of DHCP clients that can be associated with a single port, helping to prevent a single port from exhausting the network\u2019s IP address pool",
"type": "integer",
"minimum": 1
},
"dhcp-snoop-port-circuit-id": {
"description": "Specifies DHCP Option 82 circuit ID suboption information. Often including information like the interface number and VLAN ID, this can be useful for network management and troubleshooting",
"type": "string",
"minLength": 1,
"maxLength": 32
}
}
},
"interface.broad-band.wwan": { "interface.broad-band.wwan": {
"description": "This Object defines the properties of a broad-band uplink.", "description": "This Object defines the properties of a broad-band uplink.",
"type": "object", "type": "object",
@@ -2510,12 +2448,6 @@
"ipv6": { "ipv6": {
"$ref": "#/$defs/interface.ipv6" "$ref": "#/$defs/interface.ipv6"
}, },
"acl": {
"$ref": "#/$defs/interface.acl"
},
"dhcp-snoop-port": {
"$ref": "#/$defs/interface.dhcp-snoop-port"
},
"broad-band": { "broad-band": {
"$ref": "#/$defs/interface.broad-band" "$ref": "#/$defs/interface.broad-band"
}, },