From e96efa25ae67cc654496090b3a4c89332f1b983e Mon Sep 17 00:00:00 2001 From: Binny Date: Tue, 12 Nov 2024 19:40:43 +0000 Subject: [PATCH] OLS-425 second commit with review comments incorporated. --- capabilities/connect.capabilities.yml | 137 +++----------------- schema/ethernet.yml | 31 +---- schema/interface.ipv4.yml | 29 +++++ schema/switch.yml | 7 -- ucentral.capabilities.pretty.json | 175 +++----------------------- ucentral.schema.full.json | 85 ++++++------- ucentral.schema.json | 74 +++++------ ucentral.schema.pretty.json | 85 ++++++------- 8 files changed, 179 insertions(+), 444 deletions(-) diff --git a/capabilities/connect.capabilities.yml b/capabilities/connect.capabilities.yml index 0ad55d6..79696fd 100644 --- a/capabilities/connect.capabilities.yml +++ b/capabilities/connect.capabilities.yml @@ -152,14 +152,6 @@ properties: max-vlans-per-mclag-group: description: Indicates the maximum number of VLANs that can be supported within a single MC-LAG group. type: integer - peer-link-bandwidth: - description: Defines the required minimum bandwidth for the peer link that connects two MC-LAG switches. - type: string - enum: - - 1G - - 10G - - 40G - - 100G dual-active-detection: description: Describes the dual-active detection mechanism to prevent both switches from becoming active simultaneously. type: string @@ -187,29 +179,26 @@ properties: items: type: string enum: - - management-ip-address - - port-description - - system-capabilities - - system-description - - system-name - - proto-ident - - proto-vid - - pvid - - vlan-name - - link-agg - - mac-phy - - max-frame - - poe - - med-location - - med-inventory - - med-capabilities - - med-network-policy - lldp-med-support: - type: boolean - description: Specifies whether LLDP-MED support is available on the switch. - examples: - - true - - false + - 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 max-neighbors: type: integer description: Maximum number of LLDP neighbors a switch can discover and maintain. @@ -217,92 +206,6 @@ properties: - 64 - 128 - 256 - refresh-interval: - type: object - description: Time interval (in seconds) for sending LLDP advertisements. - properties: - min: - type: integer - examples: - - 2 - - 5 - max: - type: integer - examples: - - 60 - - 120 - holdtime-multiplier-range: - type: object - description: Range of holdtime multiplier values for LLDP TTL calculation. - properties: - min: - type: integer - examples: - - 2 - - 4 - max: - type: integer - examples: - - 10 - - 20 - reinit-delay: - type: object - description: Time delay (in seconds) before reinitializing LLDP after a port/link down event. - properties: - min: - type: integer - examples: - - 1 - - 2 - max: - type: integer - examples: - - 5 - - 10 - notification-interval: - type: object - description: Interval for sending SNMP notifications upon LLDP changes (in seconds). - properties: - min: - type: integer - examples: - - 10 - - 30 - max: - type: integer - examples: - - 300 - - 600 - mac-phy-support: - type: boolean - description: Specifies whether LLDP advertisements include MAC and physical layer specifications. - examples: - - true - - false - max-frame-size: - type: integer - description: Maximum frame size that the switch supports for LLDP advertisements. - examples: - - 1500 - - 9000 - link-aggregation-support: - type: boolean - description: Indicates if LLDP supports link aggregation reporting on the switch. - examples: - - true - - false - vlan-tlv-support: - type: boolean - description: Indicates if the switch supports advertising VLAN-related TLVs (e.g., PVID, VLAN name). - examples: - - true - - false - power-over-ethernet-support: - type: boolean - description: Specifies if the switch can advertise PoE capabilities through LLDP. - examples: - - true - - false supported-features: type: array description: diff --git a/schema/ethernet.yml b/schema/ethernet.yml index 58e3543..f6d4028 100644 --- a/schema/ethernet.yml +++ b/schema/ethernet.yml @@ -242,35 +242,6 @@ properties: - short - long default: long - 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 lldp-interface-config: type: object description: Configurations of LLDP on a specified interface. @@ -355,7 +326,7 @@ properties: description: The type of device to which the location applies. lldp-med-location-civic-ca: description: 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. - type: arrray + type: array items: type: object properties: diff --git a/schema/interface.ipv4.yml b/schema/interface.ipv4.yml index 8477775..3a8f16d 100644 --- a/schema/interface.ipv4.yml +++ b/schema/interface.ipv4.yml @@ -200,6 +200,35 @@ 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/switch.yml b/schema/switch.yml index 577706a..2ef0491 100644 --- a/schema/switch.yml +++ b/schema/switch.yml @@ -360,13 +360,6 @@ properties: minimum: 0 maximum: 7 # IP-ACL (IPv4/IPv6) Parameters - acl-ip-type: - description: Filters traffic based on the IP protocol type (IPv4, IPv6) - type: string - enum: - - none - - ipv4 - - ipv6 acl-ipv4-source-address: description: The IPv4 address of the source to filter on type: string diff --git a/ucentral.capabilities.pretty.json b/ucentral.capabilities.pretty.json index e325634..06ced60 100644 --- a/ucentral.capabilities.pretty.json +++ b/ucentral.capabilities.pretty.json @@ -198,16 +198,6 @@ "description": "Indicates the maximum number of VLANs that can be supported within a single MC-LAG group.", "type": "integer" }, - "peer-link-bandwidth": { - "description": "Defines the required minimum bandwidth for the peer link that connects two MC-LAG switches.", - "type": "string", - "enum": [ - "1G", - "10G", - "40G", - "100G" - ] - }, "dual-active-detection": { "description": "Describes the dual-active detection mechanism to prevent both switches from becoming active simultaneously.", "type": "string", @@ -241,34 +231,29 @@ "items": { "type": "string", "enum": [ - "management-ip-address", - "port-description", - "system-capabilities", - "system-description", - "system-name", - "proto-ident", - "proto-vid", - "pvid", - "vlan-name", - "link-agg", - "mac-phy", - "max-frame", - "poe", - "med-location", - "med-inventory", - "med-capabilities", - "med-network-policy" + "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" ] } }, - "lldp-med-support": { - "type": "boolean", - "description": "Specifies whether LLDP-MED support is available on the switch.", - "examples": [ - true, - false - ] - }, "max-neighbors": { "type": "integer", "description": "Maximum number of LLDP neighbors a switch can discover and maintain.", @@ -277,126 +262,6 @@ 128, 256 ] - }, - "refresh-interval": { - "type": "object", - "description": "Time interval (in seconds) for sending LLDP advertisements.", - "properties": { - "min": { - "type": "integer", - "examples": [ - 2, - 5 - ] - }, - "max": { - "type": "integer", - "examples": [ - 60, - 120 - ] - } - } - }, - "holdtime-multiplier-range": { - "type": "object", - "description": "Range of holdtime multiplier values for LLDP TTL calculation.", - "properties": { - "min": { - "type": "integer", - "examples": [ - 2, - 4 - ] - }, - "max": { - "type": "integer", - "examples": [ - 10, - 20 - ] - } - } - }, - "reinit-delay": { - "type": "object", - "description": "Time delay (in seconds) before reinitializing LLDP after a port/link down event.", - "properties": { - "min": { - "type": "integer", - "examples": [ - 1, - 2 - ] - }, - "max": { - "type": "integer", - "examples": [ - 5, - 10 - ] - } - } - }, - "notification-interval": { - "type": "object", - "description": "Interval for sending SNMP notifications upon LLDP changes (in seconds).", - "properties": { - "min": { - "type": "integer", - "examples": [ - 10, - 30 - ] - }, - "max": { - "type": "integer", - "examples": [ - 300, - 600 - ] - } - } - }, - "mac-phy-support": { - "type": "boolean", - "description": "Specifies whether LLDP advertisements include MAC and physical layer specifications.", - "examples": [ - true, - false - ] - }, - "max-frame-size": { - "type": "integer", - "description": "Maximum frame size that the switch supports for LLDP advertisements.", - "examples": [ - 1500, - 9000 - ] - }, - "link-aggregation-support": { - "type": "boolean", - "description": "Indicates if LLDP supports link aggregation reporting on the switch.", - "examples": [ - true, - false - ] - }, - "vlan-tlv-support": { - "type": "boolean", - "description": "Indicates if the switch supports advertising VLAN-related TLVs (e.g., PVID, VLAN name).", - "examples": [ - true, - false - ] - }, - "power-over-ethernet-support": { - "type": "boolean", - "description": "Specifies if the switch can advertise PoE capabilities through LLDP.", - "examples": [ - true, - false - ] } } }, diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index cf554d1..3523ce8 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -774,43 +774,6 @@ } } }, - "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 - } - } - }, "lldp-interface-config": { "type": "object", "description": "Configurations of LLDP on a specified interface.", @@ -914,7 +877,7 @@ }, "lldp-med-location-civic-ca": { "description": "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.", - "type": "arrray", + "type": "array", "items": { "type": "object", "properties": { @@ -1377,15 +1340,6 @@ "minimum": 0, "maximum": 7 }, - "acl-ip-type": { - "description": "Filters traffic based on the IP protocol type (IPv4, IPv6)", - "type": "string", - "enum": [ - "none", - "ipv4", - "ipv6" - ] - }, "acl-ipv4-source-address": { "description": "The IPv4 address of the source to filter on", "type": "string", @@ -2454,6 +2408,43 @@ "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", diff --git a/ucentral.schema.json b/ucentral.schema.json index 3daef52..9a7f0de 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -553,38 +553,6 @@ } } }, - "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 - } - } - }, "lldp-interface-config": { "type": "object", "properties": { @@ -667,7 +635,7 @@ "type": "integer" }, "lldp-med-location-civic-ca": { - "type": "arrray", + "type": "array", "items": { "type": "object", "properties": { @@ -1057,14 +1025,6 @@ "minimum": 0, "maximum": 7 }, - "acl-ip-type": { - "type": "string", - "enum": [ - "none", - "ipv4", - "ipv6" - ] - }, "acl-ipv4-source-address": { "type": "string", "format": "ipv4" @@ -2038,6 +1998,38 @@ "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" }, diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index 2586514..0e84231 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -626,43 +626,6 @@ } } }, - "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 - } - } - }, "lldp-interface-config": { "type": "object", "description": "Configurations of LLDP on a specified interface.", @@ -766,7 +729,7 @@ }, "lldp-med-location-civic-ca": { "description": "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.", - "type": "arrray", + "type": "array", "items": { "type": "object", "properties": { @@ -1228,15 +1191,6 @@ "minimum": 0, "maximum": 7 }, - "acl-ip-type": { - "description": "Filters traffic based on the IP protocol type (IPv4, IPv6)", - "type": "string", - "enum": [ - "none", - "ipv4", - "ipv6" - ] - }, "acl-ipv4-source-address": { "description": "The IPv4 address of the source to filter on", "type": "string", @@ -2362,6 +2316,43 @@ "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" },