diff --git a/docs/ucentral-schema.html b/docs/ucentral-schema.html index 3c335d8..a1201cc 100644 --- a/docs/ucentral-schema.html +++ b/docs/ucentral-schema.html @@ -30,14 +30,16 @@
"high"
 
"medium"
 
"low"
-

Type: object

This section describes the per-port specific 802.1X (port access control) configuration.

Type: boolean Default: false

Configure PAE processing on port, as well as select this port as an Authenticator (configure PAC role to authenticator). False configures the switch to not process PAC

Type: enum (of string) Default: "force-authorized"

Configure PAE processing on port, as well as select this port as an Authenticator (configure PAC role to authenticator). force-authorized - Disables IEEE 802.1X authentication and causes the port to change to the authorized state without any authentication exchange required. The port sends and receives normal traffic without IEEE 802.1X-based authentication of the client. force-unauthorized - Causes the port to remain in the unauthorized state, ignoring all attempts by the supplicant to authenticate. The Device cannot provide authentication services to the supplicant through the port. auto - Enables IEEE 802.1X authentication and causes the port to begin in the unauthorized state, allowing only EAPOL frames to be sent and received through the port. The authentication process begins when the link state of the port changes from down to up or when an EAPOL-start frame is received. The Device requests the identity of the supplicant and begins relaying authentication messages between the supplicant and the authentication server. Each supplicant attempting to access the network is uniquely identified by the Device by using the supplicant MAC address.

Must be one of:

  • "force-authorized"
  • "force-unauthorized"
  • "auto"

Type: enum (of string) Default: "multi-auth"

Multi-auth - While in this mode, multiple devices are allowed to independently authenticate through the same port.
Multi-domain - While in this mode, the authenticator will allow one host from the data domain and one from the voice domain.
Multi-host - While in this mode, the first device to authenticate will open to the switchport so that all other devices can use the port. These other devices are not required to be authenticated independently.
Single-host - While in this mode, the switchport will only allow a single host to be authenticated and to pass traffic at a time.

Must be one of:

  • "multi-auth"
  • "multi-domain"
  • "multi-host"
  • "single-host"

Type: integer

Configure a VLAN as a guest VLAN on an interface if the switch receives no response in an authentication event.

Value must be greater or equal to 1 and lesser or equal to 4094

Type: integer

Configure the unauthenticated VLAN to use when the AAA server fails to recognize the client credentials

Value must be greater or equal to 1 and lesser or equal to 4094

Type: boolean

Enables bypass when a device does not support 802.1X authentication (e.g., printers, IP phones)

Type: integer

Defines the time period (in minutes) for which a MAC address is allowed access to the network without requiring reauthentication, after being authenticated or allowed via MAC Authentication Bypass (MAB).

Type: integer

Associates this port to a trunk or a port-channel.

Value must be greater or equal to 1 and lesser or equal to 64

Type: object

This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.

Type: boolean Default: false

Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.

Type: enum (of string) Default: "actor"

Configures the port LACP role as actor or partner.

Must be one of:

  • "actor"
  • "partner"

Type: enum (of string) Default: "passive"

Configures the LACP negotiation activity mode as active or passive.

Must be one of:

  • "active"
  • "passive"

Type: integer Default: 1

Configures the port's LACP administration key.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: integer Default: 32768

Configures the LACP port priority.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: integer Default: 32768

Configures the LACP System priority.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: integer

Configures the port channel's LACP administration key (optional).

Value must be greater or equal to 1 and lesser or equal to 65535

Type: enum (of string) Default: "long"

Configures the timeout to wait for the next LACP data unit.

Must be one of:

  • "short"
  • "long"

Type: object

Configurations of LLDP on a specified interface.

Type: enum (of string)

Enables LLDP transmit, receive, or transmit and receive mode on the specified port.

Must be one of:

  • "rx"
  • "tx"
  • "rx-tx"

Type: boolean Default: true

Configures an LLDP-enabled port to advertise the management address for this device.

Type: boolean Default: false

Configures an LLDP-enabled port to advertise the management IPv6 address for this device, if available.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its port description.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its system capabilities.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise the system description.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its system name.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise the supported protocols.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise port-based protocol-related VLAN information.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its default Native VLAN ID (PVID).

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its VLAN name.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its MAC and physical layer specifications.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its maximum frame size.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its Power-over-Ethernet capabilities.

Type: object

Configures an LLDP-MED-enabled port to advertise its location identification details.

Type: boolean Default: false

Enables or disables the advertisement of this TLV.

Type: string

Configure the two-letter ISO 3166 country code in capital ASCII letters.

Type: integer

The type of device to which the location applies.

Type: array of object

The list of LLDP MED Location CA Types to advertise the physical location of the device, that is the city, street number, building and room information.

No Additional Items

Each item of this array must be:

Type: object

Type: integer

A one-octet descriptor of the data civic address value.

Value must be greater or equal to 0 and lesser or equal to 255

Type: string

Description of a location.

Must be at least 1 characters long

Must be at most 32 characters long

Type: boolean Default: false

Enables the transmission of SNMP trap notifications about LLDP-MED changes.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its extended Power over Ethernet configuration and usage information.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its inventory identification details.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its location identification details.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its Media Endpoint Device capabilities.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its network policy configuration.

Type: boolean Default: false

Enables the transmission of SNMP trap notifications about LLDP changes.

Type: object

This section defines the switch fabric specific features of a physical switch.

Type: array of object

Enable mirror of traffic from multiple minotor ports to a single analysis port.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string

The list of ports that we want to mirror.

No Additional Items

Each item of this array must be:

Type: string

The port that mirror'ed packets should be sent to.

Type: object

Enable loop detection on the L2 switches/bridge.

Type: enum (of string) Default: "rstp"

Define which protocol shall be used for loop detection.

Must be one of:

  • "none"
  • "stp"
  • "rstp"
  • "mstp"
  • "pvstp"
  • "rpvstp"

Type: array of enum (of string)

Define on which logical switches/bridges we want to provide loop-detection.

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "upstream"
  • "downstream"

Type: array of object

Define a list of configuration for each STP instance. Meaning of this field depends on current STP protocol (switch.loop-detection.protocol)

No Additional Items

Each item of this array must be:

Type: object

Type: integer

Indicates instance to configure. Depends on current STP protocol If RPVSTP/PVSTP - vlan id If MSTP - instance id

Type: boolean Default: true

Enable STP on this instance.

Type: integer Default: 32768

Bridge priority.

Type: integer Default: 15

Defines the amount of time a switch port stays in the Listening and Learning states before transitioning to the Forwarding state.

Type: integer Default: 2

Determines how often switches send BPDU.

Type: integer Default: 20

Specifies the maximum time that a switch port should wait to receive a BPDU from its neighbor before considering the link as failed or disconnected.

Type: object

This section describes the global 802.1X (port access control) configuration.

Type: boolean Default: false

Enabled processing of PAE frames on ports that have .1X configured.

Type: array of object

Define a list of RADIUS server to forward auth requests to.

No Additional Items

Each item of this array must be:

Type: object

Type: string

Remote radius server address (IP or hostname).


Examples:

"192.168.1.1"
+

Type: object

This section describes the per-port specific 802.1X (port access control) configuration.

Type: boolean Default: false

Configure PAE processing on port, as well as select this port as an Authenticator (configure PAC role to authenticator). False configures the switch to not process PAC

Type: enum (of string) Default: "force-authorized"

Configure PAE processing on port, as well as select this port as an Authenticator (configure PAC role to authenticator). force-authorized - Disables IEEE 802.1X authentication and causes the port to change to the authorized state without any authentication exchange required. The port sends and receives normal traffic without IEEE 802.1X-based authentication of the client. force-unauthorized - Causes the port to remain in the unauthorized state, ignoring all attempts by the supplicant to authenticate. The Device cannot provide authentication services to the supplicant through the port. auto - Enables IEEE 802.1X authentication and causes the port to begin in the unauthorized state, allowing only EAPOL frames to be sent and received through the port. The authentication process begins when the link state of the port changes from down to up or when an EAPOL-start frame is received. The Device requests the identity of the supplicant and begins relaying authentication messages between the supplicant and the authentication server. Each supplicant attempting to access the network is uniquely identified by the Device by using the supplicant MAC address.

Must be one of:

  • "force-authorized"
  • "force-unauthorized"
  • "auto"

Type: enum (of string) Default: "multi-auth"

Multi-auth - While in this mode, multiple devices are allowed to independently authenticate through the same port.
Multi-domain - While in this mode, the authenticator will allow one host from the data domain and one from the voice domain.
Multi-host - While in this mode, the first device to authenticate will open to the switchport so that all other devices can use the port. These other devices are not required to be authenticated independently.
Single-host - While in this mode, the switchport will only allow a single host to be authenticated and to pass traffic at a time.

Must be one of:

  • "multi-auth"
  • "multi-domain"
  • "multi-host"
  • "single-host"

Type: integer

Configure a VLAN as a guest VLAN on an interface if the switch receives no response in an authentication event.

Value must be greater or equal to 1 and lesser or equal to 4094

Type: integer

Configure the unauthenticated VLAN to use when the AAA server fails to recognize the client credentials

Value must be greater or equal to 1 and lesser or equal to 4094

Type: boolean

Enables bypass when a device does not support 802.1X authentication (e.g., printers, IP phones)

Type: integer

Defines the time period (in minutes) for which a MAC address is allowed access to the network without requiring reauthentication, after being authenticated or allowed via MAC Authentication Bypass (MAB).

Type: integer

Associates this port to a trunk or a port-channel.

Value must be greater or equal to 1 and lesser or equal to 64

Type: object

This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.

Type: boolean Default: false

Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.

Type: enum (of string) Default: "actor"

Configures the port LACP role as actor or partner.

Must be one of:

  • "actor"
  • "partner"

Type: enum (of string) Default: "passive"

Configures the LACP negotiation activity mode as active or passive.

Must be one of:

  • "active"
  • "passive"

Type: integer Default: 1

Configures the port's LACP administration key.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: integer Default: 32768

Configures the LACP port priority.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: integer Default: 32768

Configures the LACP System priority.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: integer

Configures the port channel's LACP administration key (optional).

Value must be greater or equal to 1 and lesser or equal to 65535

Type: enum (of string) Default: "long"

Configures the timeout to wait for the next LACP data unit.

Must be one of:

  • "short"
  • "long"

Type: object

Configurations of LLDP on a specified interface.

Type: enum (of string)

Enables LLDP transmit, receive, or transmit and receive mode on the specified port.

Must be one of:

  • "rx"
  • "tx"
  • "rx-tx"

Type: boolean Default: true

Configures an LLDP-enabled port to advertise the management address for this device.

Type: boolean Default: false

Configures an LLDP-enabled port to advertise the management IPv6 address for this device, if available.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its port description.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its system capabilities.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise the system description.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its system name.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise the supported protocols.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise port-based protocol-related VLAN information.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its default Native VLAN ID (PVID).

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its VLAN name.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its MAC and physical layer specifications.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its maximum frame size.

Type: boolean Default: true

Configures an LLDP-enabled port to advertise its Power-over-Ethernet capabilities.

Type: object

Configures an LLDP-MED-enabled port to advertise its location identification details.

Type: boolean Default: false

Enables or disables the advertisement of this TLV.

Type: string

Configure the two-letter ISO 3166 country code in capital ASCII letters.

Type: integer

The type of device to which the location applies.

Type: array of object

The list of LLDP MED Location CA Types to advertise the physical location of the device, that is the city, street number, building and room information.

No Additional Items

Each item of this array must be:

Type: object

Type: integer

A one-octet descriptor of the data civic address value.

Value must be greater or equal to 0 and lesser or equal to 255

Type: string

Description of a location.

Must be at least 1 characters long

Must be at most 32 characters long

Type: boolean Default: false

Enables the transmission of SNMP trap notifications about LLDP-MED changes.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its extended Power over Ethernet configuration and usage information.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its inventory identification details.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its location identification details.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its Media Endpoint Device capabilities.

Type: boolean Default: true

Configures an LLDP-MED-enabled port to advertise its network policy configuration.

Type: boolean Default: false

Enables the transmission of SNMP trap notifications about LLDP changes.

Type: array of object

A collection of access control entries that define the rules for filtering traffic through a network port.

No Additional Items

Each item of this array must be:

Type: object

Type: integer Default: 1

Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.

Value must be greater or equal to 1 and lesser or equal to 64

Type: string

Specifies the ACL policy that is applied to incoming traffic on an interface.

Must be at least 1 characters long

Must be at most 32 characters long


Example:

"blacklisted-macs"
+

Type: boolean Default: false

Tracks the number and type of packets that match the ingress ACL rules on an interface.

Type: string

Specifies the ACL policy that is applied to outgoing traffic from an interface.

Must be at least 1 characters long

Must be at most 32 characters long


Example:

"blacklisted-macs"
+

Type: boolean Default: false

Tracks the number and type of packets that match the egress ACL rules on an interface.

Type: object

Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port.

Type: enum (of string) Default: "auto"

Specify the mode of placing this port on the voice VLAN.

Must be one of:

  • "none"
  • "manual"
  • "auto"

Type: integer Default: 6

Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types.

Value must be greater or equal to 0 and lesser or equal to 6

Type: enum (of string) Default: "oui"

Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition.

Must be one of:

  • "oui"
  • "lldp"

Type: boolean Default: false

Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices.

Type: object

Configuration for DHCP Snooping on a port level on a switch

Type: boolean Default: false

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: integer

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’s IP address pool

Value must be greater or equal to 1

Type: string

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

Must be at least 1 characters long

Must be at most 32 characters long

Type: object

This section defines the switch fabric specific features of a physical switch.

Type: array of object

Enable mirror of traffic from multiple minotor ports to a single analysis port.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string

The list of ports that we want to mirror.

No Additional Items

Each item of this array must be:

Type: string

The port that mirror'ed packets should be sent to.

Type: object

Enable loop detection on the L2 switches/bridge.

Type: enum (of string) Default: "rstp"

Define which protocol shall be used for loop detection.

Must be one of:

  • "none"
  • "stp"
  • "rstp"
  • "mstp"
  • "pvstp"
  • "rpvstp"

Type: array of enum (of string)

Define on which logical switches/bridges we want to provide loop-detection.

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "upstream"
  • "downstream"

Type: array of object

Define a list of configuration for each STP instance. Meaning of this field depends on current STP protocol (switch.loop-detection.protocol)

No Additional Items

Each item of this array must be:

Type: object

Type: integer

Indicates instance to configure. Depends on current STP protocol If RPVSTP/PVSTP - vlan id If MSTP - instance id

Type: boolean Default: true

Enable STP on this instance.

Type: integer Default: 32768

Bridge priority.

Type: integer Default: 15

Defines the amount of time a switch port stays in the Listening and Learning states before transitioning to the Forwarding state.

Type: integer Default: 2

Determines how often switches send BPDU.

Type: integer Default: 20

Specifies the maximum time that a switch port should wait to receive a BPDU from its neighbor before considering the link as failed or disconnected.

Type: object

This section describes the global 802.1X (port access control) configuration.

Type: boolean Default: false

Enabled processing of PAE frames on ports that have .1X configured.

Type: array of object

Define a list of RADIUS server to forward auth requests to.

No Additional Items

Each item of this array must be:

Type: object

Type: string

Remote radius server address (IP or hostname).


Examples:

"192.168.1.1"
 
"somehost.com"
 

Type: integer

The port that the RADIUS authentication agent is running on.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: string

Secret key text that is shared between a RADIUS server and the switch.


Example:

"somepassword"
-

Type: integer

The server's priority (used when multiple servers are present. Bigger prio value = higher priority).

Value must be greater or equal to 1 and lesser or equal to 64

Type: object

Additional dynamic authorization (RFC 5176 compliant) - configure option for DAS that enable RM and CoA processing.

Type: enum (of string)

Sets the accepted authorization types for dynamic RADIUS clients. all - Selects all COA client authentication types. All authentication attributes must match for the authentication to succeed. any - Selects any COA client authentication type. Any authentication attribute may match for the authentication to succeed. session-key - Indicates that the session-key must match for authentication to succeed.

Must be one of:

  • "all"
  • "any"
  • "session-key"

Type: boolean Default: false

Sets the switch to ignore bounce-port requests from dynamic authorization clients.

Type: boolean Default: false

Sets the switch to ignore requests from dynamic authorization clients.

Type: boolean Default: false

Do not attmept to authenticate with the server key.

Type: boolean Default: false

Do not attmept to authenticate with the session key.

Type: string

Sets the shared secret to verify client COA requests for this server.

Type: array of object

Configure DAC.

No Additional Items

Each item of this array must be:

Type: object

Type: string

A valid IP address or hostname of a DAC.

Type: string

Sets the shared secret to verify client COA requests for this server.

Type: object

This section describes the per-port specific port-isolation matrix (to which ports selected port can forward traffic to) configuration. Omitting this configuration completely fully disables any port-isolation configuration on this given port.

Type: array of object

Allow selected port to forward traffic in the provided session-based format.

No Additional Items

Each item of this array must be:

Type: object

Type: integer

Session id to configure.

Type: enum (of string) Default: "src-dst-mac"

Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.

Must be one of:

  • "dst-ip"
  • "dst-mac"
  • "src-dst-ip"
  • "src-dst-mac"
  • "src-ip"
  • "src-mac"

Type: boolean Default: false

Enables Jumbo frames

Type: object

DHCP Snooping configuration parameters

Type: boolean Default: false

Enables DHCP Snooping on the network switch, which is a security feature that prevents unauthorized DHCP servers from offering IP addresses

Type: integer

Sets a limit on the number of DHCP packets per second that can be received on an untrusted interface to prevent DHCP flooding attacks

Value must be greater or equal to 1 and lesser or equal to 2048

Type: boolean Default: false

This option ensures that the MAC address in a DHCP request matches the source MAC address of the packet, providing an additional layer of security

Type: boolean Default: false

This refers to the insertion of information option 82 in DHCP packets, which adds more details about the client’s location and network information for tracking and control purposes

Type: boolean Default: false

This parameter allows for the encoding of sub-options within option 82 to further specify client information

Type: string

It specifies the remote ID sub-option in option 82, which typically includes information like the circuit ID or remote host identifier

Must be at least 1 characters long

Must be at most 32 characters long

Type: enum (of string)

This defines the policy for handling packets with option 82, determining whether they should be forwarded or dropped based on the configuration

Must be one of:

  • "drop"
  • "keep"
  • "replace"

Type: array of object

Contains all the access control rule definitions

No Additional Items

Each item of this array must be:

Type: object

Type: enum (of string)

Type of the access control list

Must be one of:

  • "ipv4"
  • "ipv6"
  • "ipv4Ext"
  • "ipv6Ext"
  • "mac"
  • "arp"

Type: string

The identifier or name for the Access Control List

Must be at least 1 characters long

Must be at most 32 characters long

Type: enum (of string)

Defines whether to permit or deny traffic matching the rule

Must be one of:

  • "permit"
  • "deny"

Type: stringFormat: uc-mac

Specifies the source MAC address to filter on

Type: stringFormat: uc-mac

The mask applied to the source MAC address

Type: stringFormat: uc-mac

Specifies the destination MAC address for the filter

Type: stringFormat: uc-mac

The mask applied to the destination MAC address

Type: enum (of string)

Identifies the protocol encapsulated in the Ethernet frame by its EtherType

Must be one of:

  • "any"
  • "untagged-eth2"
  • "untagged-802.3"
  • "tagged-eth2"
  • "tagged-802.3"

Type: integer

Specifies a VLAN ID to filter traffic from a specific VLAN

Value must be greater or equal to 1 and lesser or equal to 4094

Type: integer

The mask applied to the VLAN ID

Value must be greater or equal to 1 and lesser or equal to 4095

Type: string Default: "800"

Filters packets based on the custom EtherType field (HEX) in the Ethernet frame

Type: string Default: "FFFF"

The mask applied to the EtherType field

Type: integer

Filters based on the Class of Service (CoS) field in the frame

Value must be greater or equal to 0 and lesser or equal to 7

Type: integer

The mask applied to the CoS field

Value must be greater or equal to 0 and lesser or equal to 7

Type: stringFormat: ipv4

The IPv4 address of the source to filter on

Type: stringFormat: ipv4

The subnet mask applied to the source IPv4 address

Type: stringFormat: ipv4

The IPv4 address of the destination to filter on

Type: stringFormat: ipv4

The subnet mask applied to the destination IPv4 address

Type: stringFormat: ipv6

The IPv6 address of the source to filter on

Type: integer

Defines the length of the prefix used in filtering IPv6 source addresses

Value must be greater or equal to 0 and lesser or equal to 128

Type: stringFormat: ipv6

The IPv6 address of the destination to filter on

Type: integer

Defines the length of the prefix used in filtering IPv6 destination addresses

Value must be greater or equal to 0 and lesser or equal to 128

Type: integer

Filters based on the IP protocol number

Value must be greater or equal to 0 and lesser or equal to 255

Type: integer

Specifies the next header type in IPv6 traffic, such as TCP, UDP, or ICMPv6

Value must be greater or equal to 0 and lesser or equal to 255

Type: integer

Filters packets based on the IPv6 Flow Label field

Value must be greater or equal to 0 and lesser or equal to 1048575

Type: integer

Specifies the source port number for filtering

Value must be greater or equal to 0 and lesser or equal to 65535

Type: integer

The mask applied to the source port number

Value must be greater or equal to 0 and lesser or equal to 65535

Type: integer

Specifies the destination port number for filtering

Value must be greater or equal to 0 and lesser or equal to 65535

Type: integer

The mask applied to the destination port number

Value must be greater or equal to 0 and lesser or equal to 65535

Type: integer

Filters based on IPv4 fragment offset for fragmented packets

Value must be greater or equal to 0 and lesser or equal to 8191

Type: integer

Filters based on IPv6 fragment offset for fragmented packets

Value must be greater or equal to 0 and lesser or equal to 8191

Type: integer

Filters IPv4 traffic based on the TTL (Time to Live) value

Value must be greater or equal to 0 and lesser or equal to 255

Type: integer

Filters IPv6 traffic based on the hop limit value, equivalent to IPv4 TTL

Value must be greater or equal to 0 and lesser or equal to 255

Type: object

This section defines the Multicast VLAN Registration (MVR) general configuration.

Type: boolean Default: false

Enable/Disable MVR globally on the switch.

Type: integer Default: 125

This command configures the interval (in seconds) at which the receiver port sends out general queries. The maximum value is determined based on 12 hours as maximum interval, and minimum as 1 second as allowed value.

Value must be greater or equal to 1 and lesser or equal to 43200

Type: boolean Default: false

Enable the MVR proxy switching mode, where the source port acts as a host, and the receiver port acts as an MVR router with querier service enabled.

Type: integer Default: 2

Configure the expected packet loss, and thereby the number of times to generate report and group-specific queries when changes are learned about downstream groups, and the number of times group-specific queries are sent to downstream receiver ports. Right configuration ensures that multicast group memberships are correctly maintained even if some control messages are lost due to network issues.

Value must be greater or equal to 1 and lesser or equal to 255

Type: enum (of string) Default: "forward"

Configure the switch to forward only multicast streams that a source port has dynamically joined or to forward all multicast groups.

Must be one of:

  • "dynamic"
  • "forward"

Type: array of object

Configure the Multicast VLAN Registration (MVR) domains.

No Additional Items

Each item of this array must be:

Type: object

Type: integer Default: 1

Unique identifier for a Multicast Domain defined under the MVR.

Value must be greater or equal to 1 and lesser or equal to 10

Type: boolean Default: false

Enable/disable Multicast VLAN Registration (MVR) for a specific domain.

Type: integer Default: 1

Per domain Level Multicast VLAN ID. Specifies the VLAN through which MVR multicast data is received. This is the VLAN to which all source ports must be assigned.

Value must be greater or equal to 1 and lesser or equal to 4094

Type: stringFormat: ipv4

Configures the source IP address assigned to all MVR control packets sent upstream on all domains or on a specified domain.


Example:

"192.168.0.5"
+

Type: integer

The server's priority (used when multiple servers are present. Bigger prio value = higher priority).

Value must be greater or equal to 1 and lesser or equal to 64

Type: object

Additional dynamic authorization (RFC 5176 compliant) - configure option for DAS that enable RM and CoA processing.

Type: enum (of string)

Sets the accepted authorization types for dynamic RADIUS clients. all - Selects all COA client authentication types. All authentication attributes must match for the authentication to succeed. any - Selects any COA client authentication type. Any authentication attribute may match for the authentication to succeed. session-key - Indicates that the session-key must match for authentication to succeed.

Must be one of:

  • "all"
  • "any"
  • "session-key"

Type: boolean Default: false

Sets the switch to ignore bounce-port requests from dynamic authorization clients.

Type: boolean Default: false

Sets the switch to ignore requests from dynamic authorization clients.

Type: boolean Default: false

Do not attmept to authenticate with the server key.

Type: boolean Default: false

Do not attmept to authenticate with the session key.

Type: string

Sets the shared secret to verify client COA requests for this server.

Type: array of object

Configure DAC.

No Additional Items

Each item of this array must be:

Type: object

Type: string

A valid IP address or hostname of a DAC.

Type: string

Sets the shared secret to verify client COA requests for this server.

Type: object

This section describes the per-port specific port-isolation matrix (to which ports selected port can forward traffic to) configuration. Omitting this configuration completely fully disables any port-isolation configuration on this given port.

Type: array of object

Allow selected port to forward traffic in the provided session-based format.

No Additional Items

Each item of this array must be:

Type: object

Type: integer

Session id to configure.

Type: enum (of string) Default: "src-dst-mac"

Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.

Must be one of:

  • "dst-ip"
  • "dst-mac"
  • "src-dst-ip"
  • "src-dst-mac"
  • "src-ip"
  • "src-mac"

Type: boolean Default: false

Enables Jumbo frames

Type: object

DHCP Snooping configuration parameters

Type: boolean Default: false

Enables DHCP Snooping on the network switch, which is a security feature that prevents unauthorized DHCP servers from offering IP addresses

Type: integer

Sets a limit on the number of DHCP packets per second that can be received on an untrusted interface to prevent DHCP flooding attacks

Value must be greater or equal to 1 and lesser or equal to 2048

Type: boolean Default: false

This option ensures that the MAC address in a DHCP request matches the source MAC address of the packet, providing an additional layer of security

Type: boolean Default: false

This refers to the insertion of information option 82 in DHCP packets, which adds more details about the client’s location and network information for tracking and control purposes

Type: boolean Default: false

This parameter allows for the encoding of sub-options within option 82 to further specify client information

Type: string

It specifies the remote ID sub-option in option 82, which typically includes information like the circuit ID or remote host identifier

Must be at least 1 characters long

Must be at most 32 characters long

Type: enum (of string)

This defines the policy for handling packets with option 82, determining whether they should be forwarded or dropped based on the configuration

Must be one of:

  • "drop"
  • "keep"
  • "replace"

Type: object

This section defines the Multicast VLAN Registration (MVR) general configuration.

Type: boolean Default: false

Enable/Disable MVR globally on the switch.

Type: integer Default: 125

This command configures the interval (in seconds) at which the receiver port sends out general queries. The maximum value is determined based on 12 hours as maximum interval, and minimum as 1 second as allowed value.

Value must be greater or equal to 1 and lesser or equal to 43200

Type: boolean Default: false

Enable the MVR proxy switching mode, where the source port acts as a host, and the receiver port acts as an MVR router with querier service enabled.

Type: integer Default: 2

Configure the expected packet loss, and thereby the number of times to generate report and group-specific queries when changes are learned about downstream groups, and the number of times group-specific queries are sent to downstream receiver ports. Right configuration ensures that multicast group memberships are correctly maintained even if some control messages are lost due to network issues.

Value must be greater or equal to 1 and lesser or equal to 255

Type: enum (of string) Default: "forward"

Configure the switch to forward only multicast streams that a source port has dynamically joined or to forward all multicast groups.

Must be one of:

  • "dynamic"
  • "forward"

Type: array of object

Configure the Multicast VLAN Registration (MVR) domains.

No Additional Items

Each item of this array must be:

Type: object

Type: integer Default: 1

Unique identifier for a Multicast Domain defined under the MVR.

Value must be greater or equal to 1 and lesser or equal to 10

Type: boolean Default: false

Enable/disable Multicast VLAN Registration (MVR) for a specific domain.

Type: integer Default: 1

Per domain Level Multicast VLAN ID. Specifies the VLAN through which MVR multicast data is received. This is the VLAN to which all source ports must be assigned.

Value must be greater or equal to 1 and lesser or equal to 4094

Type: stringFormat: ipv4

Configures the source IP address assigned to all MVR control packets sent upstream on all domains or on a specified domain.


Example:

"192.168.0.5"
 

Type: array of object

List of MVR groups (or profiles) configuration.

No Additional Items

Each item of this array must be:

Type: object

Type: string

The name of a MVR group that consists of one or more MVR group addresses

Must be at least 1 characters long

Must be at most 16 characters long

Type: stringFormat: ipv4

Start IP address on the range of MVR group addresses that maps to a profile/MVR group

Type: stringFormat: ipv4

Statically configure all multicast group addresses that will join an MVR VLAN. Map a range of MVR group addresses to a profile

Type: array of integer
No Additional Items

Each item of this array must be:

Type: integer

Value must be greater or equal to 1 and lesser or equal to 10

Type: object

Configuration options for LLDP on a global level in a OLS switch.

Type: boolean Default: true

Enables or disables LLDP globally at a switch level.

Type: integer Default: 4

Configures the time-to-live (TTL) value sent in LLDP advertisements. The TTL tells the receiving LLDP agent how long to retain all information from the sending LLDP agent if it does not transmit updates in a timely manner.

Type: integer Default: 4

Configures how many medFastStart packets are transmitted during the activation process of the LLDP-MED Fast Start mechanism.

Type: integer Default: 30

Configures the periodic transmit interval for LLDP advertisements (in seconds).

Type: integer Default: 2

Configures the delay (in seconds) before reinitializing after LLDP ports are disabled or the link goes down.

Type: integer

Configures a delay (in seconds) between successive transmissions of advertisements initiated by a change in local LLDP state.

Value must be greater or equal to 1 and lesser or equal to 8192

Type: integer Default: 5

Configures the interval (in seconds) for sending SNMP notifications about LLDP changes.

Type: boolean Default: false

Enables MC-LAG or disables it.

Type: object

This section defines the MC-LAG configuration parameters for the switch.

Type: array of object

List of MC-LAG domain configurations for the switch.

No Additional Items

Each item of this array must be:

Type: object

Type: integer Default: 1

Specifies the MC-LAG domain ID to identify the grouping of peer switches.

Value must be greater or equal to 1 and lesser or equal to 1024

Type: object

Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG.

Type: integer

Defines the unique MC-LAG group identifier.

Value must be greater or equal to 1 and lesser or equal to 128

Type: array of string

List of interfaces that participate in the MC-LAG group.

No Additional Items

Each item of this array must be:

Type: string

Interface names that are part of the MC-LAG group.


Examples:

"eth0"
 
"eth1"
 

Type: object

LACP configuration settings for the MC-LAG group.

Type: boolean Default: true

Enables or disables LACP for the MC-LAG group.

Type: enum (of string) Default: "actor"

Configures the LACP role as 'actor' or 'partner'

Must be one of:

  • "actor"
  • "partner"

Type: enum (of string) Default: "long"

Sets the LACP timeout as either 'short' or 'long'.

Must be one of:

  • "short"
  • "long"

Type: integer Default: 32768

Specifies the system priority used by the switch for LACP negotiations.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean Default: true

Enables dual-active detection to prevent split-brain scenarios in MC-LAG.

Type: object

This parameter enables or disables the overall configuration of the Voice VLAN feature on the switch. When enabled, it allows the system to classify and prioritize voice traffic.

Type: integer

Specifies the VLAN ID assigned to the Voice VLAN. This is the unique identifier for the VLAN that will be used for prioritizing voice traffic.

Value must be greater or equal to 1 and lesser or equal to 4094

Type: integer Default: 1440

Defines the time, in minutes, that a dynamic Voice VLAN entry remains in the VLAN after voice traffic is no longer detected. It helps manage resources by removing inactive voice devices from the VLAN after this time elapses.

Value must be greater or equal to 5 and lesser or equal to 43200

Type: array of object

Configures the Organizationally Unique Identifier (OUI) for identifying the voice devices (like IP phones).

No Additional Items

Each item of this array must be:

Type: object

Type: stringFormat: uc-mac

The specific MAC address pattern that corresponds to voice devices, as determined by the OUI. It is used for identifying and classifying voice traffic.

Type: stringFormat: uc-mac

A mask applied to the MAC address to help match the OUI more precisely. It ensures that the correct portion of the MAC address is evaluated to identify a device as a voice device.

Type: string

A descriptive label or comment for the OUI configuration. This can help administrators keep track of which OUI belongs to which type of voice device or vendor.

Must be at least 1 characters long

Must be at most 32 characters long


Example:

"A VoIP Phone"
-

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes the logical network interfaces of the device. Interfaces as their primary have a role that is upstream, downstream, guest, ....

Type: string

This is a free text field, stating the administrative name of the interface. It may contain spaces and special characters.


Example:

"LAN"
+

Type: array of object

Contains all the access control rule definitions

All items must be unique

No Additional Items

Each item of this array must be:

Type: object

Type: string

The identifier or name for the Access Control List

Must be at least 1 characters long

Must be at most 32 characters long

Type: enum (of string)

Type of the access control list

Must be one of:

  • "ipv4"
  • "ipv6"
  • "ipv4Ext"
  • "ipv6Ext"
  • "mac"
  • "arp"

Type: object

access control rules under this ACL

Each additional property must conform to the following schema

Type: array of object

All items must be unique

No Additional Items

Each item of this array must be:

Type: object

Type: enum (of string)

Defines whether to permit or deny traffic matching the rule

Must be one of:

  • "permit"
  • "deny"

Type: stringFormat: uc-mac

Specifies the source MAC address to filter on

Type: stringFormat: uc-mac

The mask applied to the source MAC address

Type: stringFormat: uc-mac

Specifies the destination MAC address for the filter

Type: stringFormat: uc-mac

The mask applied to the destination MAC address

Type: enum (of string)

Identifies the protocol encapsulated in the Ethernet frame by its EtherType

Must be one of:

  • "any"
  • "untagged-eth2"
  • "untagged-802.3"
  • "tagged-eth2"
  • "tagged-802.3"

Type: integer

Specifies a VLAN ID to filter traffic from a specific VLAN

Value must be greater or equal to 1 and lesser or equal to 4094

Type: integer

The mask applied to the VLAN ID

Value must be greater or equal to 1 and lesser or equal to 4095

Type: string Default: "800"

Filters packets based on the custom EtherType field (HEX) in the Ethernet frame

Type: string Default: "FFFF"

The mask applied to the EtherType field

Type: integer

Filters based on the Class of Service (CoS) field in the frame

Value must be greater or equal to 0 and lesser or equal to 7

Type: integer

The mask applied to the CoS field

Value must be greater or equal to 0 and lesser or equal to 7

Type: stringFormat: ipv4

The IPv4 address of the source to filter on

Type: stringFormat: ipv4

The subnet mask applied to the source IPv4 address

Type: stringFormat: ipv4

The IPv4 address of the destination to filter on

Type: stringFormat: ipv4

The subnet mask applied to the destination IPv4 address

Type: integer

Filters based on the IP protocol number

Value must be greater or equal to 0 and lesser or equal to 255

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes the logical network interfaces of the device. Interfaces as their primary have a role that is upstream, downstream, guest, ....

Type: string

This is a free text field, stating the administrative name of the interface. It may contain spaces and special characters.


Example:

"LAN"
 

Type: enum (of string)

The role defines if the interface is upstream or downstream facing.

Must be one of:

  • "upstream"
  • "downstream"

Type: boolean

This option makes sure that any traffic leaving this interface is isolated and all local IP ranges are blocked. It essentially enforces "guest network" firewall settings.

Type: integer

The routing metric of this logical interface. Lower values have higher priority.

Value must be greater or equal to 0 and lesser or equal to 4294967295

Type: integer

The MTU of this logical interface.

Value must be greater or equal to 1280 and lesser or equal to 1500

Type: array of string

The services that shall be offered on this logical interface. These are just strings such as "ssh", "lldp", "mdns"

No Additional Items

Each item of this array must be:

Type: string

Examples:

"ssh"
 
"lldp"
 

Type: object

Setup additional VLANs inside the bridge

Type: object

This section describes the vlan behaviour of a logical network interface.

Type: integer

This is the pvid of the vlan that shall be assigned to the interface. The individual physical network devices contained within the interface need to be told explicitly if egress traffic shall be tagged.

Value must be lesser or equal to 4050

Type: enum (of string) Default: "802.1q"

Must be one of:

  • "802.1ad"
  • "802.1q"

Type: object

This section describes the bridge behaviour of a logical network interface.

Type: integer

The MTU that shall be used by the network interface.

Value must be greater or equal to 256 and lesser or equal to 65535


Example:

1500
@@ -59,15 +61,13 @@
 

Type: object

MVR attributes on a given interface

Type: enum (of string)

Configure an interface as an MVR receiver or source port. A port which is not configured as an MVR receiver or source port can use IGMP snooping to join or leave multicast groups using the standard rules for multicast filtering.

Must be one of:

  • "none"
  • "source"
  • "receiver"

Type: enum (of string) Default: "by-group"

Switch to immediately remove an interface from a multicast stream as soon as it receives a leave message for that group. Applies to only receiver role ports.

Must be one of:

  • "none"
  • "by-host-ip"
  • "by-group"

Type: integer

Map the port to a specific domain.

Value must be greater or equal to 1 and lesser or equal to 10

Type: boolean Default: true

include the devices hostname inside DHCP requests


Example:

true
 

Type: array of string

Define which DNS servers shall be used. This can either be a list of static IPv4 addresse or dhcp (use the server provided by the DHCP lease)

No Additional Items

Each item of this array must be:

Type: stringFormat: ipv4

Examples:

"8.8.8.8"
 
"4.4.4.4"
-

Type: boolean Default: false

Enables DHCP Snooping on a VLAN

Type: object

Configure the Voice VLAN feature at the interface level, allowing for VoIP traffic to be prioritized on this specific port.

Type: enum (of string) Default: "auto"

Specify the mode of placing this port on the voice VLAN.

Must be one of:

  • "none"
  • "manual"
  • "auto"

Type: integer Default: 6

Define the Class of Service (CoS) priority for VoIP traffic passing through this port, ensuring higher priority over other traffic types.

Value must be greater or equal to 0 and lesser or equal to 6

Type: enum (of string) Default: "oui"

Select the detection method for identifying VoIP traffic on this port, such as OUI-based detection or traffic pattern recognition.

Must be one of:

  • "oui"
  • "lldp"

Type: boolean Default: false

Enable or configure security filtering for VoIP traffic on the interface to protect against unauthorized devices.

Type: object

This section describes the DHCP server configuration

Type: integer

The last octet of the first IPv4 address in this DHCP pool.


Example:

10
+

Type: boolean Default: false

Enables DHCP Snooping on a VLAN

Type: object

This section describes the DHCP server configuration

Type: integer

The last octet of the first IPv4 address in this DHCP pool.


Example:

10
 

Type: integer

The number of IPv4 addresses inside the DHCP pool.


Example:

100
 

Type: stringFormat: uc-timeout Default: "6h"

How long the lease is valid before a RENEW must be issued.

Type: stringFormat: ipv4

Use host at this IPv4 address to forward packets between clients and servers on different subnets.

Type: string

This option selects what info shall be contained within a relayed frame's circuit ID. The string passed in has placeholders that are placed inside a bracket pair "{}". Any text not contained within brackets will be included as freetext. Valid placeholders are "Interface, VLAN-ID"

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes the static DHCP leases of this logical interface.

Type: stringFormat: uc-mac

The MAC address of the host that this lease shall be used for.


Example:

"00:11:22:33:44:55"
 

Type: integer

The offset of the IP that shall be used in relation to the first IP in the available range.


Example:

10
 

Type: stringFormat: uc-timeout Default: "6h"

How long the lease is valid before a RENEW muss ne issued.

Type: boolean Default: true

Shall the hosts hostname be made available locally via DNS.

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes an IPv4 port forwarding.

Type: enum (of string) Default: "any"

The layer 3 protocol to match.

Must be one of:

  • "tcp"
  • "udp"
  • "any"

Type: integer or stringFormat: uc-portrange

The external port(s) to forward.

Type: stringFormat: ipv4

The internal IP to forward to. The address will be masked and concatenated with the effective interface subnet.

Type: integer or stringFormat: uc-portrange

The internal port to forward to. Defaults to the external port if omitted.

Type: object

This section describes the IPv6 properties of a logical interface.

Type: enum (of string)

This option defines the method by which the IPv6 subnet of the interface is acquired. In static addressing mode, the specified subnet and gateway, if any, are configured on the interface in a fixed manner. Also - if a prefix size hint is specified - a prefix of the given size is allocated from each upstream received prefix delegation pool and assigned to the interface. In dynamic addressing mode, a DHCPv6 client will be launched to obtain IPv6 prefixes for the interface itself and for downstream delegation. Note that dynamic addressing usually only ever makes sense on upstream interfaces.

Must be one of:

  • "dynamic"
  • "static"

Type: stringFormat: uc-cidr6

This option defines a static IPv6 prefix in CIDR notation to set on the logical interface. A special notation "auto/64" can be used, causing the configuration agent to automatically allocate a suitable prefix from the IPv6 address pool specified in globals.ipv6-network. This property only applies to static addressing mode. Note that this is usually not needed due to DHCPv6-PD assisted prefix assignment.


Example:

"auto/64"
 

Type: stringFormat: ipv6

This option defines the static IPv6 gateway of the logical interface. It only applies to static addressing mode. Note that this is usually not needed due to DHCPv6-PD assisted prefix assignment.


Example:

"2001:db8:123:456::1"
-

Type: integer

For dynamic addressing interfaces, this property specifies the prefix size to request from an upstream DHCPv6 server through prefix delegation. For static addressing interfaces, it specifies the size of the sub-prefix to allocate from the upstream-received delegation prefixes for assignment to the logical interface.

Value must be greater or equal to 0 and lesser or equal to 64

Type: object

This section describes the DHCPv6 server configuration

Type: enum (of string)

Specifies the DHCPv6 server operation mode. When set to "stateless", the system will announce router advertisements only, without offering stateful DHCPv6 service. When set to "stateful", emitted router advertisements will instruct clients to obtain a DHCPv6 lease. When set to "hybrid", clients can freely chose whether to self-assign a random address through SLAAC, whether to request an address via DHCPv6, or both. For maximum compatibility with different clients, it is recommended to use the hybrid mode. The special mode "relay" will instruct the unit to act as DHCPv6 relay between this interface and any of the IPv6 interfaces in "upstream" mode.

Must be one of:

  • "hybrid"
  • "stateless"
  • "stateful"
  • "relay"

Type: array of string

Overrides the DNS server to announce in DHCPv6 and RA messages. By default, the device will announce its own local interface address as DNS server, essentially acting as proxy for downstream clients. By specifying a non-empty list of IPv6 addresses here, this default behaviour can be overridden.

No Additional Items

Each item of this array must be:

Type: stringFormat: uc-cidr6 Default: "::/0"

Selects a specific downstream prefix or a number of downstream prefix ranges to announce in DHCPv6 and RA messages. By default, all prefixes configured on a given downstream interface are advertised. By specifying an IPv6 prefix in CIDR notation here, only prefixes covered by this CIDR are selected.

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes an IPv6 port forwarding.

Type: enum (of string) Default: "any"

The layer 3 protocol to match.

Must be one of:

  • "tcp"
  • "udp"
  • "any"

Type: integer or stringFormat: uc-portrange

The external port(s) to forward.

Type: stringFormat: ipv6

The internal IP to forward to. The address will be masked and concatenated with the effective interface subnet.

Type: integer or stringFormat: uc-portrange

The internal port to forward to. Defaults to the external port if omitted.

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes an IPv6 traffic accept rule.

Type: string Default: "any"

The layer 3 protocol to match.

Type: stringFormat: uc-cidr6 Default: "::/0"

The source IP to allow traffic from.

Type: array

The source port(s) to accept.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: stringFormat: ipv6

The destination IP to allow traffic to. The address will be masked and concatenated with the effective interface subnet.

Type: array

The destination ports to accept.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: array of object

A collection of access control entries that define the rules for filtering traffic through a network interface.

No Additional Items

Each item of this array must be:

Type: object

Type: integer Default: 1

Determines the priority of multiple ACL policies when more than one is applied to an interface, if any.

Value must be greater or equal to 1 and lesser or equal to 64

Type: string

Specifies the ACL policy that is applied to incoming traffic on an interface.

Must be at least 1 characters long

Must be at most 32 characters long


Example:

"blacklisted-macs"
-

Type: boolean Default: false

Tracks the number and type of packets that match the ingress ACL rules on an interface.

Type: string

Specifies the ACL policy that is applied to outgoing traffic from an interface.

Must be at least 1 characters long

Must be at most 32 characters long


Example:

"blacklisted-macs"
-

Type: boolean Default: false

Tracks the number and type of packets that match the egress ACL rules on an interface.

Type: object

Configuration for DHCP Snooping on a port level on a switch

Type: boolean Default: false

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: integer

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’s IP address pool

Value must be greater or equal to 1

Type: string

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

Must be at least 1 characters long

Must be at most 32 characters long

Type: object

Type: object

This Object defines the properties of a broad-band uplink.

Type: const

This uplink uses WWAN/LTE

Specific value: "wwan"

Type: enum (of string)

The local protocol that the modem supports.

Must be one of:

  • "qmi"
  • "mbim"
  • "wwan"

Type: string

Commonly known as APN. The name of a gateway between a mobile network and the internet.

Type: enum (of string) Default: "none"

The authentication mode that shall be used.

Must be one of:

  • "none"
  • "pap"
  • "chap"
  • "pap-chap"

Type: string

The PIN that shall be used to unlock the SIM card.

Type: string

This option is only required if an authentication-type is defined.

Type: string

This option is only required if an authentication-type is defined.

Type: enum (of string) Default: "dual-stack"

Define what kind of IP stack shall be used.

Must be one of:

  • "ipv4"
  • "ipv6"
  • "dual-stack"
Type: object

This Object defines the properties of a PPPoE uplink.

Type: const

This uplink uses PPPoE

Specific value: "pppoe"

Type: string

The username used to authenticate.

Type: string

The password used to authenticate.

Type: object

Type: object

This Object defines the properties of a mesh interface overlay.

Type: const

This field must be set to mesh.

Specific value: "mesh"
Type: object

This Object defines the properties of a vxlan tunnel.

Type: const

This field must be set to vxlan.

Specific value: "vxlan"

Type: stringFormat: ipv4

This is the IP address of the remote host, that the VXLAN tunnel shall be established with.

Type: integer

The network port that shall be used to establish the VXLAN tunnel.

Value must be greater or equal to 1 and lesser or equal to 65535


Example:

4789
+

Type: integer

For dynamic addressing interfaces, this property specifies the prefix size to request from an upstream DHCPv6 server through prefix delegation. For static addressing interfaces, it specifies the size of the sub-prefix to allocate from the upstream-received delegation prefixes for assignment to the logical interface.

Value must be greater or equal to 0 and lesser or equal to 64

Type: object

This section describes the DHCPv6 server configuration

Type: enum (of string)

Specifies the DHCPv6 server operation mode. When set to "stateless", the system will announce router advertisements only, without offering stateful DHCPv6 service. When set to "stateful", emitted router advertisements will instruct clients to obtain a DHCPv6 lease. When set to "hybrid", clients can freely chose whether to self-assign a random address through SLAAC, whether to request an address via DHCPv6, or both. For maximum compatibility with different clients, it is recommended to use the hybrid mode. The special mode "relay" will instruct the unit to act as DHCPv6 relay between this interface and any of the IPv6 interfaces in "upstream" mode.

Must be one of:

  • "hybrid"
  • "stateless"
  • "stateful"
  • "relay"

Type: array of string

Overrides the DNS server to announce in DHCPv6 and RA messages. By default, the device will announce its own local interface address as DNS server, essentially acting as proxy for downstream clients. By specifying a non-empty list of IPv6 addresses here, this default behaviour can be overridden.

No Additional Items

Each item of this array must be:

Type: stringFormat: uc-cidr6 Default: "::/0"

Selects a specific downstream prefix or a number of downstream prefix ranges to announce in DHCPv6 and RA messages. By default, all prefixes configured on a given downstream interface are advertised. By specifying an IPv6 prefix in CIDR notation here, only prefixes covered by this CIDR are selected.

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes an IPv6 port forwarding.

Type: enum (of string) Default: "any"

The layer 3 protocol to match.

Must be one of:

  • "tcp"
  • "udp"
  • "any"

Type: integer or stringFormat: uc-portrange

The external port(s) to forward.

Type: stringFormat: ipv6

The internal IP to forward to. The address will be masked and concatenated with the effective interface subnet.

Type: integer or stringFormat: uc-portrange

The internal port to forward to. Defaults to the external port if omitted.

Type: array
No Additional Items

Each item of this array must be:

Type: object

This section describes an IPv6 traffic accept rule.

Type: string Default: "any"

The layer 3 protocol to match.

Type: stringFormat: uc-cidr6 Default: "::/0"

The source IP to allow traffic from.

Type: array

The source port(s) to accept.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: stringFormat: ipv6

The destination IP to allow traffic to. The address will be masked and concatenated with the effective interface subnet.

Type: array

The destination ports to accept.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

Type: object

This Object defines the properties of a broad-band uplink.

Type: const

This uplink uses WWAN/LTE

Specific value: "wwan"

Type: enum (of string)

The local protocol that the modem supports.

Must be one of:

  • "qmi"
  • "mbim"
  • "wwan"

Type: string

Commonly known as APN. The name of a gateway between a mobile network and the internet.

Type: enum (of string) Default: "none"

The authentication mode that shall be used.

Must be one of:

  • "none"
  • "pap"
  • "chap"
  • "pap-chap"

Type: string

The PIN that shall be used to unlock the SIM card.

Type: string

This option is only required if an authentication-type is defined.

Type: string

This option is only required if an authentication-type is defined.

Type: enum (of string) Default: "dual-stack"

Define what kind of IP stack shall be used.

Must be one of:

  • "ipv4"
  • "ipv6"
  • "dual-stack"
Type: object

This Object defines the properties of a PPPoE uplink.

Type: const

This uplink uses PPPoE

Specific value: "pppoe"

Type: string

The username used to authenticate.

Type: string

The password used to authenticate.

Type: object

Type: object

This Object defines the properties of a mesh interface overlay.

Type: const

This field must be set to mesh.

Specific value: "mesh"
Type: object

This Object defines the properties of a vxlan tunnel.

Type: const

This field must be set to vxlan.

Specific value: "vxlan"

Type: stringFormat: ipv4

This is the IP address of the remote host, that the VXLAN tunnel shall be established with.

Type: integer

The network port that shall be used to establish the VXLAN tunnel.

Value must be greater or equal to 1 and lesser or equal to 65535


Example:

4789
 
Type: object

This Object defines the properties of a l2tp tunnel.

Type: const

This field must be set to vxlan.

Specific value: "l2tp"

Type: stringFormat: ipv4

This is the IP address of the remote host, that the L2TP tunnel shall be established with.

Type: string

The username used to authenticate.

Type: string

The password used to authenticate.

Type: object

This Object defines the properties of a GRE tunnel.

Type: const

This field must be set to gre.

Specific value: "gre"

Type: stringFormat: ipv4

This is the IP address of the remote host, that the GRE tunnel shall be established with.

Type: boolean Default: false

Healthcheck will probe if the remote peer replies to DHCP discovery without sending an ACK.

Type: boolean Default: false

Set “Don't Fragment” flag on encapsulated packets.

Type: object

This Object defines the properties of a GREv6 tunnel.

Type: const

This field must be set to gre6.

Specific value: "gre6"

Type: stringFormat: ipv6

This is the IPv6 address of the remote host, that the GRE tunnel shall be established with.

Type: boolean Default: false

Healthcheck will probe if the remote peer replies to DHCP discovery without sending an ACK.

Type: object

This section describes all of the services that may be present on the AP. Each service is then referenced via its name inside an interface, ...

Type: object

Type: string Default: "uCentral Access Point"

The LLDP description field. If set to "auto" it will be derived from unit.name.

Type: string Default: "uCentral Network"

The LLDP location field. If set to "auto" it will be derived from unit.location.

Type: object

This section can be used to setup a SSH server on the AP.

Type: integer Default: 22

This option defines which port the SSH server shall be available on.

Value must be lesser or equal to 65535

Type: array of string

This allows the upload of public ssh keys. Keys need to be seperated by a newline.

No Additional Items

Each item of this array must be:

Type: string

Examples:

"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC0ghdSd2D2y08TFowZLMZn3x1/Djw3BkNsIeHt/Z+RaXwvfV1NQAnNdaOngMT/3uf5jZtYxhpl+dbZtRhoUPRvKflKBeFHYBqjZVzD3r4ns2Ofm2UpHlbdOpMuy9oeTSCeF0IKZZ6szpkvSirQogeP2fe9KRkzQpiza6YxxaJlWw== user@example"
 
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ4FDjyCsg+1Mh2C5G7ibR3z0Kw1dU57kfXebLRwS6CL bob@work"
 
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP/JpJ/KHtKKImzISBDwLO0/EwytIr4pGZQXcP6GCSHchLMyfjf147KNlF9gC+3FibzqKH02EiQspVhRgfuK6y0= alice@home"
@@ -114,4 +114,4 @@
     "system.ntp.server",
     "1.openwrt.pool.ntp.org"
 ]
-

Type: object

Additional Properties of any type are allowed.

Type: object
\ No newline at end of file +

Type: object

Additional Properties of any type are allowed.

Type: object
\ No newline at end of file diff --git a/docs/ucentral-state.html b/docs/ucentral-state.html index cc086f6..829ee6e 100644 --- a/docs/ucentral-state.html +++ b/docs/ucentral-state.html @@ -25,4 +25,4 @@ ] } } -

Type: boolean

Flag indicates that device could report an amount of FDB entries, which is bigger than what cloud had requested.

Each additional property must conform to the following schema

Type: object

Each additional property must conform to the following schema

Type: array of string

VID (vlan id) identifier

No Additional Items

Each item of this array must be:

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

List of statically created trunks.

Type: integer

Logical identifier for the trunk.

Value must be greater or equal to 1 and lesser or equal to 64

Type: array of string

List of member ports under this static trunk.

No Additional Items

Each item of this array must be:

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

List of dynamically created trunks.

Type: integer

Logical identifier for the trunk.

Value must be greater or equal to 1 and lesser or equal to 64

Type: string

List of member ports under this trunk.

Type: number

LACP System priority.

Type: number

LACP port priority.

Type: string

Port state.

Type: number

Number of LACP Data Units (PDUs) sent.

Type: number

Number of LACP Data Units (PDUs) received.

Type: number

Number of Marker PDUs sent.

Type: number

Number of Marker PDUs received.

Type: number

Number of unknown packets received.

Type: number

Number of illegal packets received.

Type: number

Operational key for the port.

Type: number

Operational key for the partner.

Type: string

Operational state.

Type: string

Operational state of the partner.

\ No newline at end of file +

Type: boolean

Flag indicates that device could report an amount of FDB entries, which is bigger than what cloud had requested.

Each additional property must conform to the following schema

Type: object

Each additional property must conform to the following schema

Type: array of string

VID (vlan id) identifier

No Additional Items

Each item of this array must be:

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

List of statically created trunks.

Type: integer

Logical identifier for the trunk.

Value must be greater or equal to 1 and lesser or equal to 64

Type: array of string

List of member ports under this static trunk.

No Additional Items

Each item of this array must be:

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

List of dynamically created trunks.

Type: integer

Logical identifier for the trunk.

Value must be greater or equal to 1 and lesser or equal to 64

Type: string

List of member ports under this trunk.

Type: number

LACP System priority.

Type: number

LACP port priority.

Type: string

Port state.

Type: number

Number of LACP Data Units (PDUs) sent.

Type: number

Number of LACP Data Units (PDUs) received.

Type: number

Number of Marker PDUs sent.

Type: number

Number of Marker PDUs received.

Type: number

Number of unknown packets received.

Type: number

Number of illegal packets received.

Type: number

Operational key for the port.

Type: number

Operational key for the partner.

Type: string

Operational state.

Type: string

Operational state of the partner.

\ No newline at end of file diff --git a/docs/ucentral.capabilities.html b/docs/ucentral.capabilities.html index 900e941..0393d3f 100644 --- a/docs/ucentral.capabilities.html +++ b/docs/ucentral.capabilities.html @@ -22,4 +22,4 @@

Type: object

Capabilities of the MC-LAG (Multi-Chassis Link Aggregation) feature in the switch

Type: integer

Defines the maximum number of MC-LAG groups that can be configured on the switch.

Type: integer

Specifies the maximum number of physical ports that can be part of a single MC-LAG group.

Type: integer

Indicates the maximum number of VLANs that can be supported within a single MC-LAG group.

Type: enum (of string)

Describes the dual-active detection mechanism to prevent both switches from becoming active simultaneously.

Must be one of:

  • "ICCP"
  • "Backup-Link"
  • "None"

Type: integer

Specifies the time (in milliseconds) required for traffic to fail over to the secondary switch when there is a failure in the primary switch.

Type: boolean

Indicates whether VLAN synchronization across MC-LAG peers is supported and the number of VLANs that can be synchronized.

Type: integer

Maximum number of MAC address entries that can be synchronized across MC-LAG peers.

Type: object

Description of LLDP capabilities across different switch models/vendors.

Type: array of enum (of string)
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "lldp-basic-tlv-mgmt-ip-v4"
  • "lldp-basic-tlv-mgmt-ip-v6"
  • "lldp-basic-tlv-port-descr"
  • "lldp-basic-tlv-sys-capab"
  • "lldp-basic-tlv-sys-descr"
  • "lldp-basic-tlv-sys-name"
  • "lldp-dot1-tlv-proto-ident"
  • "lldp-dot1-tlv-proto-vid"
  • "lldp-dot1-tlv-pvid"
  • "lldp-dot1-tlv-vlan-name"
  • "lldp-dot3-tlv-link-agg"
  • "lldp-dot3-tlv-mac-phy"
  • "lldp-dot3-tlv-max-frame"
  • "lldp-dot3-tlv-poe"
  • "lldp-med-location-civic-addr"
  • "lldp-med-tlv-ext-poe"
  • "lldp-med-tlv-inventory"
  • "lldp-med-tlv-location"
  • "lldp-med-tlv-med-cap"
  • "lldp-med-tlv-network-policy"

Type: integer

Maximum number of LLDP neighbors a switch can discover and maintain.


Examples:

64
 
128
 
256
-

Type: array of enum (of string)

List of all features supported by the device

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "VLAN"
  • "VLAN-Voice"
  • "Jumbo-Frames"
  • "Link-Aggregation-LACP"
  • "Link-Aggregation-Static"
  • "Link-Aggregation-MCLAG"
  • "Port-Isolation"
  • "Spanning-Tree"
  • "Spanning-Tree-Rapid"
  • "Spanning-Tree-Per-VLAN"
  • "Spanning-Tree-Per-VLAN-Rapid"
  • "Spanning-Tree-MSTP"
  • "SVI-StaticIPv4"
  • "SVI-StaticIPv6"
  • "Interface-StaticIPv4"
  • "Interface-StaticIPv6"
  • "Routing-VRF"
  • "Routing-IPv4-Route-Blackhole"
  • "Routing-IPv4-Route-Unreachable"
  • "Routing-IPv4-Nexthop"
  • "Routing-IPv4-Broadcast"
  • "Routing-IPv4-Multicast-IGMP-Snooping"
  • "Routing-IPv4-Multicast-IGMP-Querier"
  • "Routing-IPv4-Multicast-IGMP-Static"
  • "Routing-IPv4-DHCP-Server"
  • "Routing-IPv4-DHCP-Relay"
  • "Routing-IPv4-DHCP-Snooping"
  • "Routing-IPv4-Port-Forward"
  • "Routing-IPv6-DHCP-Relay"
  • "Routing-IPv6-DHCP-Stateful"
  • "Routing-IPv6-DHCP-Stateless"
  • "Routing-IPv6-Port-Forward"
  • "Multicast-VLAN-Registration"
  • "PoE-Reset"
  • "Port-Access-Control"
  • "PAC-Dynamic-Auth"
  • "mac-address-bypass"
  • "System-PasswordChange"
  • "System-SwUpdate"
  • "System-SwUpdate-Partial"
  • "Port-Mirroring"
  • "MAC-ACL"
  • "IP-ACL"
  • "Guest-VLAN"
  • "Service-SSH"
  • "Service-RSSH"
  • "Service-Telnet"
  • "Service-LLDP"
  • "Service-HTTP"
  • "Service-HTTPS"
  • "Service-GPS"
  • "Service-IGMP"
  • "Service-NTP"
  • "Service-NTP-Client"
  • "Service-MDNS"
  • "Service-QoS"
  • "Service-Syslog"
  • "Service-PAC"
  • "Service-Wireguard-Overlay"
  • "Service-Radius-Proxy"
  • "Service-Online-Check"
  • "Service-CaptivePortal"
  • "Service-PublicIpCheck"
  • "Tunneling-VxLAN"
  • "Tunneling-GRE"
  • "Tunneling-GRE6"
  • "Tunneling-L2TP"
  • "Tunneling-Mesh"
\ No newline at end of file +

Type: array of enum (of string)

List of all features supported by the device

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "VLAN"
  • "VLAN-Voice"
  • "Jumbo-Frames"
  • "Link-Aggregation-LACP"
  • "Link-Aggregation-Static"
  • "Link-Aggregation-MCLAG"
  • "Port-Isolation"
  • "Spanning-Tree"
  • "Spanning-Tree-Rapid"
  • "Spanning-Tree-Per-VLAN"
  • "Spanning-Tree-Per-VLAN-Rapid"
  • "Spanning-Tree-MSTP"
  • "SVI-StaticIPv4"
  • "SVI-StaticIPv6"
  • "Interface-StaticIPv4"
  • "Interface-StaticIPv6"
  • "Routing-VRF"
  • "Routing-IPv4-Route-Blackhole"
  • "Routing-IPv4-Route-Unreachable"
  • "Routing-IPv4-Nexthop"
  • "Routing-IPv4-Broadcast"
  • "Routing-IPv4-Multicast-IGMP-Snooping"
  • "Routing-IPv4-Multicast-IGMP-Querier"
  • "Routing-IPv4-Multicast-IGMP-Static"
  • "Routing-IPv4-DHCP-Server"
  • "Routing-IPv4-DHCP-Relay"
  • "Routing-IPv4-DHCP-Snooping"
  • "Routing-IPv4-Port-Forward"
  • "Routing-IPv6-DHCP-Relay"
  • "Routing-IPv6-DHCP-Stateful"
  • "Routing-IPv6-DHCP-Stateless"
  • "Routing-IPv6-Port-Forward"
  • "Multicast-VLAN-Registration"
  • "PoE-Reset"
  • "Port-Access-Control"
  • "PAC-Dynamic-Auth"
  • "mac-address-bypass"
  • "System-PasswordChange"
  • "System-SwUpdate"
  • "System-SwUpdate-Partial"
  • "Port-Mirroring"
  • "MAC-ACL"
  • "IP-ACL"
  • "Guest-VLAN"
  • "Service-SSH"
  • "Service-RSSH"
  • "Service-Telnet"
  • "Service-LLDP"
  • "Service-HTTP"
  • "Service-HTTPS"
  • "Service-GPS"
  • "Service-IGMP"
  • "Service-NTP"
  • "Service-NTP-Client"
  • "Service-MDNS"
  • "Service-QoS"
  • "Service-Syslog"
  • "Service-PAC"
  • "Service-Wireguard-Overlay"
  • "Service-Radius-Proxy"
  • "Service-Online-Check"
  • "Service-CaptivePortal"
  • "Service-PublicIpCheck"
  • "Tunneling-VxLAN"
  • "Tunneling-GRE"
  • "Tunneling-GRE6"
  • "Tunneling-L2TP"
  • "Tunneling-Mesh"
\ No newline at end of file diff --git a/schema/ethernet.yml b/schema/ethernet.yml index 2c2e4ea..21efbb8 100644 --- a/schema/ethernet.yml +++ b/schema/ethernet.yml @@ -367,4 +367,84 @@ properties: lldp-notification: type: boolean description: Enables the transmission of SNMP trap notifications about LLDP changes. - default: false \ No newline at end of file + 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 network’s 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 \ No newline at end of file diff --git a/schema/interface.acl.yml b/schema/interface.acl.yml deleted file mode 100644 index 809002a..0000000 --- a/schema/interface.acl.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/schema/interface.dhcp-snoop-port.yml b/schema/interface.dhcp-snoop-port.yml deleted file mode 100644 index 730934f..0000000 --- a/schema/interface.dhcp-snoop-port.yml +++ /dev/null @@ -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 network’s 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 \ No newline at end of file diff --git a/schema/interface.ipv4.yml b/schema/interface.ipv4.yml index 3a8f16d..8477775 100644 --- a/schema/interface.ipv4.yml +++ b/schema/interface.ipv4.yml @@ -200,35 +200,6 @@ properties: description: "Enables DHCP Snooping on a VLAN" 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: $ref: "https://ucentral.io/schema/v1/interface/ipv4/dhcp/" dhcp-leases: diff --git a/schema/interface.yml b/schema/interface.yml index d3250eb..f442bb5 100644 --- a/schema/interface.yml +++ b/schema/interface.yml @@ -68,11 +68,7 @@ properties: $ref: "https://ucentral.io/schema/v1/interface/ipv4/" 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: $ref: "https://ucentral.io/schema/v1/interface/broad-band/" tunnel: - $ref: "https://ucentral.io/schema/v1/interface/tunnel/" + $ref: "https://ucentral.io/schema/v1/interface/tunnel/" \ No newline at end of file diff --git a/schema/switch.acl.yml b/schema/switch.acl.yml new file mode 100644 index 0000000..0c5f389 --- /dev/null +++ b/schema/switch.acl.yml @@ -0,0 +1,110 @@ +description: Contains all the access control rule definitions +type: array +uniqueItems: true +items: + type: object + properties: + acl-name: + description: The identifier or name for the Access Control List + type: string + maxLength: 32 + minLength: 1 + acl-type: + description: Type of the access control list + type: string + enum: + - ipv4 + - ipv6 + - ipv4Ext + - ipv6Ext + - mac + - arp + acl-rules: + description: access control rules under this ACL + type: object + additionalProperties: + type: array + uniqueItems: true + items: + type: object + properties: + acl-rule-action: + description: Defines whether to permit or deny traffic matching the rule + type: string + enum: + - permit + - deny + acl-source-macaddress: + description: Specifies the source MAC address to filter on + type: string + format: uc-mac + acl-source-macbitmask: + description: The mask applied to the source MAC address + type: string + format: uc-mac + acl-dest-macaddress: + description: Specifies the destination MAC address for the filter + type: string + format: uc-mac + acl-dest-macbitmask: + description: The mask applied to the destination MAC address + type: string + format: uc-mac + acl-packet-format: + description: Identifies the protocol encapsulated in the Ethernet frame by its EtherType + type: string + enum: + - any + - untagged-eth2 + - untagged-802.3 + - tagged-eth2 + - tagged-802.3 + acl-vlanid: + description: Specifies a VLAN ID to filter traffic from a specific VLAN + type: integer + minimum: 1 + maximum: 4094 + acl-vid-bitmask: + description: The mask applied to the VLAN ID + type: integer + minimum: 1 + maximum: 4095 + acl-ethertype: + description: Filters packets based on the custom EtherType field (HEX) in the Ethernet frame + type: string + default: "800" + acl-ethertype-bitmask: + description: The mask applied to the EtherType field + type: string + default: "FFFF" + acl-cos: + description: Filters based on the Class of Service (CoS) field in the frame + type: integer + minimum: 0 + maximum: 7 + acl-cos-bitmask: + description: The mask applied to the CoS field + type: integer + minimum: 0 + maximum: 7 + acl-ipv4-source-address: + description: The IPv4 address of the source to filter on + type: string + format: ipv4 + acl-ipv4-source-subnetmask: + description: The subnet mask applied to the source IPv4 address + type: string + format: ipv4 + acl-ipv4-dest-address: + description: The IPv4 address of the destination to filter on + type: string + format: ipv4 + acl-ipv4-dest-subnetmask: + description: The subnet mask applied to the destination IPv4 address + type: string + format: ipv4 + acl-ip-proto: + description: Filters based on the IP protocol number + type: integer + minimum: 0 + maximum: 255 \ No newline at end of file diff --git a/schema/switch.yml b/schema/switch.yml index 1550c80..aee8ddc 100644 --- a/schema/switch.yml +++ b/schema/switch.yml @@ -279,176 +279,6 @@ properties: - drop - keep - replace - acl: - description: Contains all the access control rule definitions - type: array - items: - type: object - properties: - acl-type: - description: Type of the access control list - type: string - enum: - - ipv4 - - ipv6 - - ipv4Ext - - ipv6Ext - - mac - - arp - acl-name: - description: The identifier or name for the Access Control List - type: string - maxLength: 32 - minLength: 1 - acl-rule-action: - description: Defines whether to permit or deny traffic matching the rule - type: string - enum: - - permit - - deny - acl-source-macaddress: - description: Specifies the source MAC address to filter on - type: string - format: uc-mac - acl-source-macbitmask: - description: The mask applied to the source MAC address - type: string - format: uc-mac - acl-dest-macaddress: - description: Specifies the destination MAC address for the filter - type: string - format: uc-mac - acl-dest-macbitmask: - description: The mask applied to the destination MAC address - type: string - format: uc-mac - acl-packet-format: - description: Identifies the protocol encapsulated in the Ethernet frame by its EtherType - type: string - enum: - - any - - untagged-eth2 - - untagged-802.3 - - tagged-eth2 - - tagged-802.3 - acl-vlanid: - description: Specifies a VLAN ID to filter traffic from a specific VLAN - type: integer - minimum: 1 - maximum: 4094 - acl-vid-bitmask: - description: The mask applied to the VLAN ID - type: integer - minimum: 1 - maximum: 4095 - acl-ethertype: - description: Filters packets based on the custom EtherType field (HEX) in the Ethernet frame - type: string - default: "800" - acl-ethertype-bitmask: - description: The mask applied to the EtherType field - type: string - default: "FFFF" - acl-cos: - description: Filters based on the Class of Service (CoS) field in the frame - type: integer - minimum: 0 - maximum: 7 - acl-cos-bitmask: - description: The mask applied to the CoS field - type: integer - minimum: 0 - maximum: 7 - # IP-ACL (IPv4/IPv6) Parameters - acl-ipv4-source-address: - description: The IPv4 address of the source to filter on - type: string - format: ipv4 - acl-ipv4-source-subnetmask: - description: The subnet mask applied to the source IPv4 address - type: string - format: ipv4 - acl-ipv4-dest-address: - description: The IPv4 address of the destination to filter on - type: string - format: ipv4 - acl-ipv4-dest-subnetmask: - description: The subnet mask applied to the destination IPv4 address - type: string - format: ipv4 - acl-ipv6-source-address: - description: The IPv6 address of the source to filter on - type: string - format: ipv6 - acl-ipv6-source-prefix-length: - description: Defines the length of the prefix used in filtering IPv6 source addresses - type: integer - minimum: 0 - maximum: 128 - 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 mvr-config: description: This section defines the Multicast VLAN Registration (MVR) general configuration. type: object @@ -672,38 +502,40 @@ properties: type: boolean default: true voice-vlan-config: - description: "This parameter enables or disables the overall configuration of the Voice VLAN feature on the switch. When enabled, it allows the system to classify and prioritize voice traffic." + description: This parameter enables or disables the overall configuration of the Voice VLAN feature on the switch. When enabled, it allows the system to classify and prioritize voice traffic. type: object properties: voice-vlan-id: - description: "Specifies the VLAN ID assigned to the Voice VLAN. This is the unique identifier for the VLAN that will be used for prioritizing voice traffic." + description: Specifies the VLAN ID assigned to the Voice VLAN. This is the unique identifier for the VLAN that will be used for prioritizing voice traffic. type: integer minimum: 1 maximum: 4094 voice-vlan-ageing-time: - description: "Defines the time, in minutes, that a dynamic Voice VLAN entry remains in the VLAN after voice traffic is no longer detected. It helps manage resources by removing inactive voice devices from the VLAN after this time elapses." + description: Defines the time, in minutes, that a dynamic Voice VLAN entry remains in the VLAN after voice traffic is no longer detected. It helps manage resources by removing inactive voice devices from the VLAN after this time elapses. type: integer minimum: 5 maximum: 43200 default: 1440 voice-vlan-oui-config: - description: "Configures the Organizationally Unique Identifier (OUI) for identifying the voice devices (like IP phones)." + description: Configures the Organizationally Unique Identifier (OUI) for identifying the voice devices (like IP phones). type: array items: type: object properties: voice-vlan-oui-mac: - description: "The specific MAC address pattern that corresponds to voice devices, as determined by the OUI. It is used for identifying and classifying voice traffic." + description: The specific MAC address pattern that corresponds to voice devices, as determined by the OUI. It is used for identifying and classifying voice traffic. type: string format: uc-mac voice-vlan-oui-mask: - description: "A mask applied to the MAC address to help match the OUI more precisely. It ensures that the correct portion of the MAC address is evaluated to identify a device as a voice device." + description: A mask applied to the MAC address to help match the OUI more precisely. It ensures that the correct portion of the MAC address is evaluated to identify a device as a voice device. type: string format: uc-mac voice-vlan-oui-description: - description: "A descriptive label or comment for the OUI configuration. This can help administrators keep track of which OUI belongs to which type of voice device or vendor." + description: A descriptive label or comment for the OUI configuration. This can help administrators keep track of which OUI belongs to which type of voice device or vendor. type: string maxLength: 32 minLength: 1 examples: - - "A VoIP Phone" \ No newline at end of file + - "A VoIP Phone" + acl: + $ref: "https://ucentral.io/schema/v1/switch/acl/" \ No newline at end of file diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index 7238cd4..05cf632 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -588,6 +588,109 @@ "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 + } + } } } } @@ -897,214 +1000,6 @@ } } }, - "acl": { - "description": "Contains all the access control rule definitions", - "type": "array", - "items": { - "type": "object", - "properties": { - "acl-type": { - "description": "Type of the access control list", - "type": "string", - "enum": [ - "ipv4", - "ipv6", - "ipv4Ext", - "ipv6Ext", - "mac", - "arp" - ] - }, - "acl-name": { - "description": "The identifier or name for the Access Control List", - "type": "string", - "maxLength": 32, - "minLength": 1 - }, - "acl-rule-action": { - "description": "Defines whether to permit or deny traffic matching the rule", - "type": "string", - "enum": [ - "permit", - "deny" - ] - }, - "acl-source-macaddress": { - "description": "Specifies the source MAC address to filter on", - "type": "string", - "format": "uc-mac" - }, - "acl-source-macbitmask": { - "description": "The mask applied to the source MAC address", - "type": "string", - "format": "uc-mac" - }, - "acl-dest-macaddress": { - "description": "Specifies the destination MAC address for the filter", - "type": "string", - "format": "uc-mac" - }, - "acl-dest-macbitmask": { - "description": "The mask applied to the destination MAC address", - "type": "string", - "format": "uc-mac" - }, - "acl-packet-format": { - "description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType", - "type": "string", - "enum": [ - "any", - "untagged-eth2", - "untagged-802.3", - "tagged-eth2", - "tagged-802.3" - ] - }, - "acl-vlanid": { - "description": "Specifies a VLAN ID to filter traffic from a specific VLAN", - "type": "integer", - "minimum": 1, - "maximum": 4094 - }, - "acl-vid-bitmask": { - "description": "The mask applied to the VLAN ID", - "type": "integer", - "minimum": 1, - "maximum": 4095 - }, - "acl-ethertype": { - "description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame", - "type": "string", - "default": "800" - }, - "acl-ethertype-bitmask": { - "description": "The mask applied to the EtherType field", - "type": "string", - "default": "FFFF" - }, - "acl-cos": { - "description": "Filters based on the Class of Service (CoS) field in the frame", - "type": "integer", - "minimum": 0, - "maximum": 7 - }, - "acl-cos-bitmask": { - "description": "The mask applied to the CoS field", - "type": "integer", - "minimum": 0, - "maximum": 7 - }, - "acl-ipv4-source-address": { - "description": "The IPv4 address of the source to filter on", - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-source-subnetmask": { - "description": "The subnet mask applied to the source IPv4 address", - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-dest-address": { - "description": "The IPv4 address of the destination to filter on", - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-dest-subnetmask": { - "description": "The subnet mask applied to the destination IPv4 address", - "type": "string", - "format": "ipv4" - }, - "acl-ipv6-source-address": { - "description": "The IPv6 address of the source to filter on", - "type": "string", - "format": "ipv6" - }, - "acl-ipv6-source-prefix-length": { - "description": "Defines the length of the prefix used in filtering IPv6 source addresses", - "type": "integer", - "minimum": 0, - "maximum": 128 - }, - "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 - } - } - } - }, "mvr-config": { "description": "This section defines the Multicast VLAN Registration (MVR) general configuration.", "type": "object", @@ -1421,6 +1316,146 @@ } } } + }, + "acl": { + "description": "Contains all the access control rule definitions", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "acl-name": { + "description": "The identifier or name for the Access Control List", + "type": "string", + "maxLength": 32, + "minLength": 1 + }, + "acl-type": { + "description": "Type of the access control list", + "type": "string", + "enum": [ + "ipv4", + "ipv6", + "ipv4Ext", + "ipv6Ext", + "mac", + "arp" + ] + }, + "acl-rules": { + "description": "access control rules under this ACL", + "type": "object", + "additionalProperties": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "acl-rule-action": { + "description": "Defines whether to permit or deny traffic matching the rule", + "type": "string", + "enum": [ + "permit", + "deny" + ] + }, + "acl-source-macaddress": { + "description": "Specifies the source MAC address to filter on", + "type": "string", + "format": "uc-mac" + }, + "acl-source-macbitmask": { + "description": "The mask applied to the source MAC address", + "type": "string", + "format": "uc-mac" + }, + "acl-dest-macaddress": { + "description": "Specifies the destination MAC address for the filter", + "type": "string", + "format": "uc-mac" + }, + "acl-dest-macbitmask": { + "description": "The mask applied to the destination MAC address", + "type": "string", + "format": "uc-mac" + }, + "acl-packet-format": { + "description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType", + "type": "string", + "enum": [ + "any", + "untagged-eth2", + "untagged-802.3", + "tagged-eth2", + "tagged-802.3" + ] + }, + "acl-vlanid": { + "description": "Specifies a VLAN ID to filter traffic from a specific VLAN", + "type": "integer", + "minimum": 1, + "maximum": 4094 + }, + "acl-vid-bitmask": { + "description": "The mask applied to the VLAN ID", + "type": "integer", + "minimum": 1, + "maximum": 4095 + }, + "acl-ethertype": { + "description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame", + "type": "string", + "default": "800" + }, + "acl-ethertype-bitmask": { + "description": "The mask applied to the EtherType field", + "type": "string", + "default": "FFFF" + }, + "acl-cos": { + "description": "Filters based on the Class of Service (CoS) field in the frame", + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + "acl-cos-bitmask": { + "description": "The mask applied to the CoS field", + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + "acl-ipv4-source-address": { + "description": "The IPv4 address of the source to filter on", + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-source-subnetmask": { + "description": "The subnet mask applied to the source IPv4 address", + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-dest-address": { + "description": "The IPv4 address of the destination to filter on", + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-dest-subnetmask": { + "description": "The subnet mask applied to the destination IPv4 address", + "type": "string", + "format": "ipv4" + }, + "acl-ip-proto": { + "description": "Filters based on the IP protocol number", + "type": "integer", + "minimum": 0, + "maximum": 255 + } + } + } + } + } + } + } } } }, @@ -1829,43 +1864,6 @@ "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": { "description": "This section describes the DHCP server configuration", "type": "object", @@ -2164,72 +2162,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": { "oneOf": [ { diff --git a/ucentral.schema.json b/ucentral.schema.json index f6d1fe7..9db4d4a 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -528,6 +528,213 @@ "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 + } + } + } + } + }, + "switch.acl": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "acl-name": { + "type": "string", + "maxLength": 32, + "minLength": 1 + }, + "acl-type": { + "type": "string", + "enum": [ + "ipv4", + "ipv6", + "ipv4Ext", + "ipv6Ext", + "mac", + "arp" + ] + }, + "acl-rules": { + "type": "object", + "additionalProperties": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "acl-rule-action": { + "type": "string", + "enum": [ + "permit", + "deny" + ] + }, + "acl-source-macaddress": { + "type": "string", + "format": "uc-mac" + }, + "acl-source-macbitmask": { + "type": "string", + "format": "uc-mac" + }, + "acl-dest-macaddress": { + "type": "string", + "format": "uc-mac" + }, + "acl-dest-macbitmask": { + "type": "string", + "format": "uc-mac" + }, + "acl-packet-format": { + "type": "string", + "enum": [ + "any", + "untagged-eth2", + "untagged-802.3", + "tagged-eth2", + "tagged-802.3" + ] + }, + "acl-vlanid": { + "type": "integer", + "minimum": 1, + "maximum": 4094 + }, + "acl-vid-bitmask": { + "type": "integer", + "minimum": 1, + "maximum": 4095 + }, + "acl-ethertype": { + "type": "string", + "default": "800" + }, + "acl-ethertype-bitmask": { + "type": "string", + "default": "FFFF" + }, + "acl-cos": { + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + "acl-cos-bitmask": { + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + "acl-ipv4-source-address": { + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-source-subnetmask": { + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-dest-address": { + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-dest-subnetmask": { + "type": "string", + "format": "ipv4" + }, + "acl-ip-proto": { + "type": "integer", + "minimum": 0, + "maximum": 255 + } + } + } + } + } } } }, @@ -788,180 +995,6 @@ } } }, - "acl": { - "type": "array", - "items": { - "type": "object", - "properties": { - "acl-type": { - "type": "string", - "enum": [ - "ipv4", - "ipv6", - "ipv4Ext", - "ipv6Ext", - "mac", - "arp" - ] - }, - "acl-name": { - "type": "string", - "maxLength": 32, - "minLength": 1 - }, - "acl-rule-action": { - "type": "string", - "enum": [ - "permit", - "deny" - ] - }, - "acl-source-macaddress": { - "type": "string", - "format": "uc-mac" - }, - "acl-source-macbitmask": { - "type": "string", - "format": "uc-mac" - }, - "acl-dest-macaddress": { - "type": "string", - "format": "uc-mac" - }, - "acl-dest-macbitmask": { - "type": "string", - "format": "uc-mac" - }, - "acl-packet-format": { - "type": "string", - "enum": [ - "any", - "untagged-eth2", - "untagged-802.3", - "tagged-eth2", - "tagged-802.3" - ] - }, - "acl-vlanid": { - "type": "integer", - "minimum": 1, - "maximum": 4094 - }, - "acl-vid-bitmask": { - "type": "integer", - "minimum": 1, - "maximum": 4095 - }, - "acl-ethertype": { - "type": "string", - "default": "800" - }, - "acl-ethertype-bitmask": { - "type": "string", - "default": "FFFF" - }, - "acl-cos": { - "type": "integer", - "minimum": 0, - "maximum": 7 - }, - "acl-cos-bitmask": { - "type": "integer", - "minimum": 0, - "maximum": 7 - }, - "acl-ipv4-source-address": { - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-source-subnetmask": { - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-dest-address": { - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-dest-subnetmask": { - "type": "string", - "format": "ipv4" - }, - "acl-ipv6-source-address": { - "type": "string", - "format": "ipv6" - }, - "acl-ipv6-source-prefix-length": { - "type": "integer", - "minimum": 0, - "maximum": 128 - }, - "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 - } - } - } - }, "mvr-config": { "type": "object", "properties": { @@ -1231,6 +1264,9 @@ } } } + }, + "acl": { + "$ref": "#/$defs/switch.acl" } } }, @@ -1632,38 +1668,6 @@ "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": { "$ref": "#/$defs/interface.ipv4.dhcp" }, @@ -1843,62 +1847,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": { "type": "object", "properties": { @@ -2150,12 +2098,6 @@ "ipv6": { "$ref": "#/$defs/interface.ipv6" }, - "acl": { - "$ref": "#/$defs/interface.acl" - }, - "dhcp-snoop-port": { - "$ref": "#/$defs/interface.dhcp-snoop-port" - }, "broad-band": { "$ref": "#/$defs/interface.broad-band" }, diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index 2cd29c9..0cee8ad 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -622,6 +622,249 @@ "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 + } + } + } + } + }, + "switch.acl": { + "description": "Contains all the access control rule definitions", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "acl-name": { + "description": "The identifier or name for the Access Control List", + "type": "string", + "maxLength": 32, + "minLength": 1 + }, + "acl-type": { + "description": "Type of the access control list", + "type": "string", + "enum": [ + "ipv4", + "ipv6", + "ipv4Ext", + "ipv6Ext", + "mac", + "arp" + ] + }, + "acl-rules": { + "description": "access control rules under this ACL", + "type": "object", + "additionalProperties": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "acl-rule-action": { + "description": "Defines whether to permit or deny traffic matching the rule", + "type": "string", + "enum": [ + "permit", + "deny" + ] + }, + "acl-source-macaddress": { + "description": "Specifies the source MAC address to filter on", + "type": "string", + "format": "uc-mac" + }, + "acl-source-macbitmask": { + "description": "The mask applied to the source MAC address", + "type": "string", + "format": "uc-mac" + }, + "acl-dest-macaddress": { + "description": "Specifies the destination MAC address for the filter", + "type": "string", + "format": "uc-mac" + }, + "acl-dest-macbitmask": { + "description": "The mask applied to the destination MAC address", + "type": "string", + "format": "uc-mac" + }, + "acl-packet-format": { + "description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType", + "type": "string", + "enum": [ + "any", + "untagged-eth2", + "untagged-802.3", + "tagged-eth2", + "tagged-802.3" + ] + }, + "acl-vlanid": { + "description": "Specifies a VLAN ID to filter traffic from a specific VLAN", + "type": "integer", + "minimum": 1, + "maximum": 4094 + }, + "acl-vid-bitmask": { + "description": "The mask applied to the VLAN ID", + "type": "integer", + "minimum": 1, + "maximum": 4095 + }, + "acl-ethertype": { + "description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame", + "type": "string", + "default": "800" + }, + "acl-ethertype-bitmask": { + "description": "The mask applied to the EtherType field", + "type": "string", + "default": "FFFF" + }, + "acl-cos": { + "description": "Filters based on the Class of Service (CoS) field in the frame", + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + "acl-cos-bitmask": { + "description": "The mask applied to the CoS field", + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + "acl-ipv4-source-address": { + "description": "The IPv4 address of the source to filter on", + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-source-subnetmask": { + "description": "The subnet mask applied to the source IPv4 address", + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-dest-address": { + "description": "The IPv4 address of the destination to filter on", + "type": "string", + "format": "ipv4" + }, + "acl-ipv4-dest-subnetmask": { + "description": "The subnet mask applied to the destination IPv4 address", + "type": "string", + "format": "ipv4" + }, + "acl-ip-proto": { + "description": "Filters based on the IP protocol number", + "type": "integer", + "minimum": 0, + "maximum": 255 + } + } + } + } + } } } }, @@ -930,214 +1173,6 @@ } } }, - "acl": { - "description": "Contains all the access control rule definitions", - "type": "array", - "items": { - "type": "object", - "properties": { - "acl-type": { - "description": "Type of the access control list", - "type": "string", - "enum": [ - "ipv4", - "ipv6", - "ipv4Ext", - "ipv6Ext", - "mac", - "arp" - ] - }, - "acl-name": { - "description": "The identifier or name for the Access Control List", - "type": "string", - "maxLength": 32, - "minLength": 1 - }, - "acl-rule-action": { - "description": "Defines whether to permit or deny traffic matching the rule", - "type": "string", - "enum": [ - "permit", - "deny" - ] - }, - "acl-source-macaddress": { - "description": "Specifies the source MAC address to filter on", - "type": "string", - "format": "uc-mac" - }, - "acl-source-macbitmask": { - "description": "The mask applied to the source MAC address", - "type": "string", - "format": "uc-mac" - }, - "acl-dest-macaddress": { - "description": "Specifies the destination MAC address for the filter", - "type": "string", - "format": "uc-mac" - }, - "acl-dest-macbitmask": { - "description": "The mask applied to the destination MAC address", - "type": "string", - "format": "uc-mac" - }, - "acl-packet-format": { - "description": "Identifies the protocol encapsulated in the Ethernet frame by its EtherType", - "type": "string", - "enum": [ - "any", - "untagged-eth2", - "untagged-802.3", - "tagged-eth2", - "tagged-802.3" - ] - }, - "acl-vlanid": { - "description": "Specifies a VLAN ID to filter traffic from a specific VLAN", - "type": "integer", - "minimum": 1, - "maximum": 4094 - }, - "acl-vid-bitmask": { - "description": "The mask applied to the VLAN ID", - "type": "integer", - "minimum": 1, - "maximum": 4095 - }, - "acl-ethertype": { - "description": "Filters packets based on the custom EtherType field (HEX) in the Ethernet frame", - "type": "string", - "default": "800" - }, - "acl-ethertype-bitmask": { - "description": "The mask applied to the EtherType field", - "type": "string", - "default": "FFFF" - }, - "acl-cos": { - "description": "Filters based on the Class of Service (CoS) field in the frame", - "type": "integer", - "minimum": 0, - "maximum": 7 - }, - "acl-cos-bitmask": { - "description": "The mask applied to the CoS field", - "type": "integer", - "minimum": 0, - "maximum": 7 - }, - "acl-ipv4-source-address": { - "description": "The IPv4 address of the source to filter on", - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-source-subnetmask": { - "description": "The subnet mask applied to the source IPv4 address", - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-dest-address": { - "description": "The IPv4 address of the destination to filter on", - "type": "string", - "format": "ipv4" - }, - "acl-ipv4-dest-subnetmask": { - "description": "The subnet mask applied to the destination IPv4 address", - "type": "string", - "format": "ipv4" - }, - "acl-ipv6-source-address": { - "description": "The IPv6 address of the source to filter on", - "type": "string", - "format": "ipv6" - }, - "acl-ipv6-source-prefix-length": { - "description": "Defines the length of the prefix used in filtering IPv6 source addresses", - "type": "integer", - "minimum": 0, - "maximum": 128 - }, - "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 - } - } - } - }, "mvr-config": { "description": "This section defines the Multicast VLAN Registration (MVR) general configuration.", "type": "object", @@ -1454,6 +1489,9 @@ } } } + }, + "acl": { + "$ref": "#/$defs/switch.acl" } } }, @@ -1916,43 +1954,6 @@ "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": { "$ref": "#/$defs/interface.ipv4.dhcp" }, @@ -2152,72 +2153,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": { "description": "This Object defines the properties of a broad-band uplink.", "type": "object", @@ -2510,12 +2445,6 @@ "ipv6": { "$ref": "#/$defs/interface.ipv6" }, - "acl": { - "$ref": "#/$defs/interface.acl" - }, - "dhcp-snoop-port": { - "$ref": "#/$defs/interface.dhcp-snoop-port" - }, "broad-band": { "$ref": "#/$defs/interface.broad-band" },