diff --git a/schema/ethernet.yml b/schema/ethernet.yml index 5ee357a..7c4d30e 100644 --- a/schema/ethernet.yml +++ b/schema/ethernet.yml @@ -499,3 +499,39 @@ 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 thresholds. + type: object + properties: + broadcast: + type: object + properties: + enabled: + description: Enable or disable broadcast storm control. + type: boolean + limit-pps: + description: Maximum allowed broadcast packets per second. Traffic beyond this is dropped. + type: integer + minimum: 0 + multicast: + type: object + properties: + enabled: + description: Enable or disable multicast storm control. + type: boolean + limit-pps: + description: Maximum allowed multicast packets per second. Traffic beyond this is dropped. + type: integer + minimum: 0 + unknown-unicast: + type: object + properties: + enabled: + description: Enable or disable unknown unicast storm control. + type: boolean + limit-pps: + description: Maximum allowed unknown unicast packets per second. Traffic beyond this is dropped. + type: integer + minimum: 0 \ No newline at end of file diff --git a/state/link-state.yml b/state/link-state.yml index 6c604c0..860668b 100644 --- a/state/link-state.yml +++ b/state/link-state.yml @@ -262,4 +262,38 @@ properties: enum: - none - block - - shutdown \ No newline at end of file + - shutdown + storm-control: + description: Runtime status of Storm Control feature on the port for each storm type. + type: object + properties: + broadcast: + type: string + description: Runtime status of Broadcast Storm Control on the port. + - `enabled`- Actively monitoring and limiting broadcast traffic. + - `storming`- Storm condition detected; packets are being dropped. + - `disabled`- Feature not applied on this port. + enum: + - enabled + - storming + - disabled + multicast: + type: string + description: Runtime status of Multicast Storm Control on the port. + - `enabled`- Actively monitoring and limiting multicast traffic. + - `storming`- Storm condition detected; packets are being dropped. + - `disabled`- Feature not applied on this port. + enum: + - enabled + - storming + - disabled + unknown-unicast: + type: string + description: Runtime status of Unknown Unicast Storm Control on the port. + - `enabled`- Actively monitoring and limiting unknown unicast traffic. + - `storming`- Storm condition detected; packets are being dropped. + - `disabled`- Feature not applied on this port. + enum: + - enabled + - storming + - disabled \ No newline at end of file diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index 1874209..e6a32c8 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -753,6 +753,54 @@ "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 thresholds.", + "type": "object", + "properties": { + "broadcast": { + "type": "object", + "properties": { + "enabled": { + "description": "Enable or disable broadcast storm control.", + "type": "boolean" + }, + "limit-pps": { + "description": "Maximum allowed broadcast packets per second. Traffic beyond this is dropped.", + "type": "integer", + "minimum": 0 + } + } + }, + "multicast": { + "type": "object", + "properties": { + "enabled": { + "description": "Enable or disable multicast storm control.", + "type": "boolean" + }, + "limit-pps": { + "description": "Maximum allowed multicast packets per second. Traffic beyond this is dropped.", + "type": "integer", + "minimum": 0 + } + } + }, + "unknown-unicast": { + "type": "object", + "properties": { + "enabled": { + "description": "Enable or disable unknown unicast storm control.", + "type": "boolean" + }, + "limit-pps": { + "description": "Maximum allowed unknown unicast packets per second. Traffic beyond this is dropped.", + "type": "integer", + "minimum": 0 + } + } + } + } } } } diff --git a/ucentral.schema.json b/ucentral.schema.json index 41d8019..932cfca 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -668,6 +668,47 @@ "maxLength": 32 } } + }, + "storm-control": { + "type": "object", + "properties": { + "broadcast": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "limit-pps": { + "type": "integer", + "minimum": 0 + } + } + }, + "multicast": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "limit-pps": { + "type": "integer", + "minimum": 0 + } + } + }, + "unknown-unicast": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "limit-pps": { + "type": "integer", + "minimum": 0 + } + } + } + } } } }, diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index aba6476..2386b6a 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -787,6 +787,54 @@ "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 thresholds.", + "type": "object", + "properties": { + "broadcast": { + "type": "object", + "properties": { + "enabled": { + "description": "Enable or disable broadcast storm control.", + "type": "boolean" + }, + "limit-pps": { + "description": "Maximum allowed broadcast packets per second. Traffic beyond this is dropped.", + "type": "integer", + "minimum": 0 + } + } + }, + "multicast": { + "type": "object", + "properties": { + "enabled": { + "description": "Enable or disable multicast storm control.", + "type": "boolean" + }, + "limit-pps": { + "description": "Maximum allowed multicast packets per second. Traffic beyond this is dropped.", + "type": "integer", + "minimum": 0 + } + } + }, + "unknown-unicast": { + "type": "object", + "properties": { + "enabled": { + "description": "Enable or disable unknown unicast storm control.", + "type": "boolean" + }, + "limit-pps": { + "description": "Maximum allowed unknown unicast packets per second. Traffic beyond this is dropped.", + "type": "integer", + "minimum": 0 + } + } + } + } } } }, diff --git a/ucentral.state.pretty.json b/ucentral.state.pretty.json index ab93d55..89c5980 100644 --- a/ucentral.state.pretty.json +++ b/ucentral.state.pretty.json @@ -1351,6 +1351,39 @@ } } } + }, + "storm-control": { + "description": "Runtime status of Storm Control feature on the port for each storm type.", + "type": "object", + "properties": { + "broadcast": { + "type": "string", + "description": "Runtime status of Broadcast Storm Control on the port. - `enabled`- Actively monitoring and limiting broadcast traffic. - `storming`- Storm condition detected; packets are being dropped. - `disabled`- Feature not applied on this port.", + "enum": [ + "enabled", + "storming", + "disabled" + ] + }, + "multicast": { + "type": "string", + "description": "Runtime status of Multicast Storm Control on the port. - `enabled`- Actively monitoring and limiting multicast traffic. - `storming`- Storm condition detected; packets are being dropped. - `disabled`- Feature not applied on this port.", + "enum": [ + "enabled", + "storming", + "disabled" + ] + }, + "unknown-unicast": { + "type": "string", + "description": "Runtime status of Unknown Unicast Storm Control on the port. - `enabled`- Actively monitoring and limiting unknown unicast traffic. - `storming`- Storm condition detected; packets are being dropped. - `disabled`- Feature not applied on this port.", + "enum": [ + "enabled", + "storming", + "disabled" + ] + } + } } } },