diff --git a/capabilities/connect.capabilities.yml b/capabilities/connect.capabilities.yml index 8c9f286..e2db748 100644 --- a/capabilities/connect.capabilities.yml +++ b/capabilities/connect.capabilities.yml @@ -281,6 +281,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 08ae777..364e0a6 100644 --- a/schema/ethernet.yml +++ b/schema/ethernet.yml @@ -516,4 +516,24 @@ properties: description: When true, the port behaves as an STP Edge Port. When false, the port participates fully in STP and is treated as a normal switch port. type: boolean - default: false \ No newline at end of file + default: false + 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 412ca48..b70f281 100644 --- a/state/link-state.yml +++ b/state/link-state.yml @@ -270,4 +270,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 4dfe298..5e1a887 100644 --- a/ucentral.capabilities.pretty.json +++ b/ucentral.capabilities.pretty.json @@ -343,6 +343,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 b507d14..591287d 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -773,6 +773,28 @@ "description": "When true, the port behaves as an STP Edge Port. When false, the port participates fully in STP and is treated as a normal switch port.", "type": "boolean", "default": false + "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 9d5b3c8..33b891a 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -684,6 +684,24 @@ "edge-port": { "type": "boolean", "default": false + "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 2085baf..01e6504 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -807,6 +807,28 @@ "description": "When true, the port behaves as an STP Edge Port. When false, the port participates fully in STP and is treated as a normal switch port.", "type": "boolean", "default": false + "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 5ac9e73..ad04ecf 100644 --- a/ucentral.state.pretty.json +++ b/ucentral.state.pretty.json @@ -1359,6 +1359,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." + } + } } } },