diff --git a/capabilities/connect.capabilities.yml b/capabilities/connect.capabilities.yml index a8b0c08..ecb1aea 100644 --- a/capabilities/connect.capabilities.yml +++ b/capabilities/connect.capabilities.yml @@ -280,6 +280,7 @@ properties: - MAC-ACL - IP-ACL - Guest-VLAN + - Storm-Control # Services - Service-SSH - Service-RSSH diff --git a/schema/ethernet.yml b/schema/ethernet.yml index 5ee357a..d72d02f 100644 --- a/schema/ethernet.yml +++ b/schema/ethernet.yml @@ -499,3 +499,23 @@ properties: type: string minLength: 1 maxLength: 32 + storm-control: + description: Storm Control configuration per storm type. Allows enabling or disabling traffic storm control for broadcast, multicast, and unknown unicast packets, + with independent packet-per-second (pps) thresholds. A limit-pps value of 0 implies the control is disabled for that traffic type. + type: object + properties: + broadcast-pps: + type: integer + minimum: 0 + default: 0 + description: Maximum allowed broadcast packets per second. 0 disables broadcast storm control. + multicast-pps: + type: integer + minimum: 0 + default: 0 + description: Maximum allowed multicast packets per second. 0 disables multicast storm control. + unknown-unicast-pps: + type: integer + minimum: 0 + default: 0 + description: Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control. \ No newline at end of file diff --git a/state/link-state.yml b/state/link-state.yml index 6c604c0..0e5c15b 100644 --- a/state/link-state.yml +++ b/state/link-state.yml @@ -262,4 +262,17 @@ properties: enum: - none - block - - shutdown \ No newline at end of file + - shutdown + storm-status: + description: Runtime status of Storm Control feature on the port for each storm type. + type: object + properties: + broadcast: + type: boolean + description: Runtime status of Broadcast Storm Control on the port. Return `true`if Storm condition is detected. + multicast: + type: boolean + description: Runtime status of Multicast Storm Control on the port. Return `true`if Storm condition is detected. + unknown-unicast: + type: boolean + description: Runtime status of Unknown Unicast Storm Control on the port. Return `true`if Storm condition is detected. \ No newline at end of file diff --git a/ucentral.capabilities.pretty.json b/ucentral.capabilities.pretty.json index 420295c..4582346 100644 --- a/ucentral.capabilities.pretty.json +++ b/ucentral.capabilities.pretty.json @@ -342,6 +342,7 @@ "MAC-ACL", "IP-ACL", "Guest-VLAN", + "Storm-Control", "Service-SSH", "Service-RSSH", "Service-Telnet", diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index 1874209..4bf26d5 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -753,6 +753,29 @@ "maxLength": 32 } } + }, + "storm-control": { + "description": "Storm Control configuration per storm type. Allows enabling or disabling traffic storm control for broadcast, multicast, and unknown unicast packets, with independent packet-per-second (pps) thresholds. A limit-pps value of 0 implies the control is disabled for that traffic type.", + "type": "object", + "properties": null, + "broadcast-pps": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Maximum allowed broadcast packets per second. 0 disables broadcast storm control." + }, + "multicast-pps": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Maximum allowed multicast packets per second. 0 disables multicast storm control." + }, + "unknown-unicast-pps": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control." + } } } } diff --git a/ucentral.schema.json b/ucentral.schema.json index 41d8019..b536fed 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -668,6 +668,25 @@ "maxLength": 32 } } + }, + "storm-control": { + "type": "object", + "properties": null, + "broadcast-pps": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "multicast-pps": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "unknown-unicast-pps": { + "type": "integer", + "minimum": 0, + "default": 0 + } } } }, diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index aba6476..fd62bdb 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -787,6 +787,29 @@ "maxLength": 32 } } + }, + "storm-control": { + "description": "Storm Control configuration per storm type. Allows enabling or disabling traffic storm control for broadcast, multicast, and unknown unicast packets, with independent packet-per-second (pps) thresholds. A limit-pps value of 0 implies the control is disabled for that traffic type.", + "type": "object", + "properties": null, + "broadcast-pps": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Maximum allowed broadcast packets per second. 0 disables broadcast storm control." + }, + "multicast-pps": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Maximum allowed multicast packets per second. 0 disables multicast storm control." + }, + "unknown-unicast-pps": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control." + } } } }, diff --git a/ucentral.state.pretty.json b/ucentral.state.pretty.json index ab93d55..af9dc45 100644 --- a/ucentral.state.pretty.json +++ b/ucentral.state.pretty.json @@ -1351,6 +1351,24 @@ } } } + }, + "storm-status": { + "description": "Runtime status of Storm Control feature on the port for each storm type.", + "type": "object", + "properties": { + "broadcast": { + "type": "boolean", + "description": "Runtime status of Broadcast Storm Control on the port. Return `true`if Storm condition is detected." + }, + "multicast": { + "type": "boolean", + "description": "Runtime status of Multicast Storm Control on the port. Return `true`if Storm condition is detected." + }, + "unknown-unicast": { + "type": "boolean", + "description": "Runtime status of Unknown Unicast Storm Control on the port. Return `true`if Storm condition is detected." + } + } } } },