mirror of
https://github.com/Telecominfraproject/ols-ucentral-schema.git
synced 2026-03-20 03:39:31 +00:00
Compare commits
6 Commits
ols-970-rs
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5aba2c37f3 | ||
|
|
3fda75b7db | ||
|
|
f2a9d622e9 | ||
|
|
f172a3630e | ||
|
|
2c2a8810c8 | ||
|
|
ab89f53750 |
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"major": 4,
|
||||
"minor": 1,
|
||||
"patch": 0
|
||||
"major": 5,
|
||||
"minor": 0,
|
||||
"patch": 0
|
||||
}
|
||||
|
||||
@@ -544,3 +544,113 @@ properties:
|
||||
minimum: 0
|
||||
default: 0
|
||||
description: Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control.
|
||||
qos-priority-mapping:
|
||||
type: object
|
||||
description: Interface-level QoS priority mapping configuration. Defines how ingress packet
|
||||
markings (IP Precedence, CoS, DSCP) are interpreted and mapped to internal
|
||||
per-hop behavior (PHB), drop precedence, and egress queue selection.
|
||||
properties:
|
||||
priority-untagged:
|
||||
type: integer
|
||||
description: Sets the default priority for incoming untagged Ethernet frames.
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
qos-map-trust-mode:
|
||||
type: string
|
||||
description: Determines which packet header field is trusted for ingress classification.
|
||||
enum:
|
||||
- cos
|
||||
- dscp
|
||||
- ip-precedence
|
||||
qos-map-ipprec2dscp:
|
||||
type: array
|
||||
description: Maps IP Precedence values (0–7) in ingress packets to per-hop behavior (PHB)
|
||||
and drop precedence. Used when trust mode is set to ip-precedence.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
preced:
|
||||
type: integer
|
||||
description: IP Precedence value in the incoming packet.
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
phb:
|
||||
type: integer
|
||||
description: Per-hop behavior (PHB) assigned to this IP Precedence.
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
drop-preced:
|
||||
type: string
|
||||
description: Drop precedence assigned for congestion control.
|
||||
enum:
|
||||
- green
|
||||
- yellow
|
||||
- red
|
||||
qos-map-cos2dscp:
|
||||
type: array
|
||||
description: Maps CoS/CFI values in ingress packets to PHB and drop precedence.
|
||||
Applied when trust mode is set to cos.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
cos:
|
||||
type: integer
|
||||
description: CoS value extracted from ingress frames.
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
cfi:
|
||||
type: integer
|
||||
description: Canonical Format Indicator (0 or 1).
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
phb:
|
||||
type: integer
|
||||
description: PHB assigned to this CoS/CFI mapping.
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
drop-preced:
|
||||
type: string
|
||||
description: Drop precedence for congestion handling.
|
||||
enum:
|
||||
- green
|
||||
- yellow
|
||||
- red
|
||||
qos-map-dscpmutate:
|
||||
type: array
|
||||
description: Maps DSCP values (0–63) in ingress packets to custom PHB and drop precedence.
|
||||
Used when trust mode is set to dscp.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
dscp:
|
||||
type: integer
|
||||
description: DSCP value from the IP header.
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
phb:
|
||||
type: integer
|
||||
description: PHB derived from DSCP-to-internal-priority mapping.
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
drop-preced:
|
||||
type: string
|
||||
description: Drop precedence classification for congestion.
|
||||
enum:
|
||||
- green
|
||||
- yellow
|
||||
- red
|
||||
qos-map-phb2queue:
|
||||
type: array
|
||||
description: Maps PHB to output hardware queues for traffic scheduling.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
phb:
|
||||
type: integer
|
||||
description: Per-hop behavior value (internal priority).
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
queue-id:
|
||||
type: integer
|
||||
description: Hardware queue ID chosen for this PHB.
|
||||
minimum: 0
|
||||
|
||||
@@ -590,6 +590,11 @@ properties:
|
||||
- short
|
||||
- long
|
||||
default: long
|
||||
trunk-id:
|
||||
description: Specifies the trunk group ID used as the mclag-group.
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 64
|
||||
system-priority:
|
||||
description: Specifies the system priority used by the switch for LACP negotiations.
|
||||
type: integer
|
||||
@@ -648,103 +653,37 @@ properties:
|
||||
lockout-period-seconds:
|
||||
description: Duration (in seconds) for which the user account remains locked after exceeding the failed attempt threshold.
|
||||
type: integer
|
||||
rspan-sessions:
|
||||
description: A list of Remote SPAN (RSPAN) sessions configured on the switch. Each
|
||||
session operates independently and may use its own RSPAN VLAN. The
|
||||
configuration applied depends on the switch’s role in the session
|
||||
(source, intermediate, or destination).
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
session-id:
|
||||
description: Numeric identifier of the RSPAN session. Each session-id represents
|
||||
a distinct mirroring instance configured on the Switch
|
||||
type: integer
|
||||
rspan-vlan-id:
|
||||
description: The VLAN ID used as the RSPAN transport VLAN for this session.
|
||||
Traffic replicated at the source is encapsulated with this VLAN tag
|
||||
and carried across the Layer-2 network to the destination switch.
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 4094
|
||||
role:
|
||||
description: Defines the function of this switch in the RSPAN session. A switch
|
||||
may act as - source- where traffic is captured and injected into the RSPAN VLAN
|
||||
- intermediate- forwards the RSPAN VLAN transparently
|
||||
- destination- where mirrored traffic exits toward analysis tools
|
||||
type: string
|
||||
enum:
|
||||
- source
|
||||
- intermediate
|
||||
- destination
|
||||
source:
|
||||
description: Configuration applicable only when the switch is operating as the
|
||||
RSPAN source. Specifies which ports generate mirrored traffic and the
|
||||
direction of traffic replication.
|
||||
qos-queue-config:
|
||||
type: object
|
||||
description: Global configuration for QoS priority queue scheduling and processing on L2 switches.
|
||||
properties:
|
||||
queue-scheduler-mode:
|
||||
type: string
|
||||
description: Sets the scheduling mode used for processing each of the Class of Service (CoS) priority queues.
|
||||
enum:
|
||||
- strict
|
||||
- wrr
|
||||
- strict-wrr
|
||||
- wfq
|
||||
- dwrr
|
||||
queue-config:
|
||||
type: array
|
||||
description: List of priority queue configurations applied at the global QoS layer.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
monitor-ports:
|
||||
description: List of ingress/egress interfaces whose traffic is mirrored.
|
||||
Source ports must support forwarding the RSPAN VLAN (typically
|
||||
trunk or hybrid mode ports)
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
examples:
|
||||
- "Ethernet1"
|
||||
- "Ethernet2"
|
||||
direction:
|
||||
description: Direction of the traffic to be mirrored from the source ports
|
||||
- rx- mirror ingress traffic only
|
||||
- tx- mirror egress traffic only
|
||||
- rx-tx- mirror both ingress and egress
|
||||
type: string
|
||||
enum:
|
||||
- rx
|
||||
- tx
|
||||
- rx-tx
|
||||
destination:
|
||||
description: Configuration applicable only when the switch acts as the RSPAN
|
||||
destination. Determines which ports output the replicated traffic
|
||||
arriving on the RSPAN VLAN.
|
||||
type: object
|
||||
properties:
|
||||
analysis-ports:
|
||||
description: One or more interfaces that receive the final mirrored traffic.
|
||||
These ports typically connect to packet analyzers, probes, or
|
||||
traffic capture tools.
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
examples:
|
||||
- "Ethernet1"
|
||||
- "Ethernet2"
|
||||
tag-mode:
|
||||
description: Specifies whether the mirrored packets should exit the
|
||||
destination port with the RSPAN VLAN tag preserved (tagged) or
|
||||
with the VLAN tag removed (untagged), depending on the analyzer
|
||||
requirements.
|
||||
type: string
|
||||
enum:
|
||||
- tagged
|
||||
- untagged
|
||||
remote:
|
||||
description: Defines configuration used by both intermediate and destination
|
||||
switches. It identifies which uplink ports should carry the RSPAN
|
||||
VLAN transparently across the switching fabric.
|
||||
type: object
|
||||
properties:
|
||||
uplink-ports:
|
||||
description: List of trunk/hybrid uplink ports through which the RSPAN VLAN
|
||||
is forwarded. These ports must allow the RSPAN VLAN to pass
|
||||
unchanged throughout the L2 domain.
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
examples:
|
||||
- "Ethernet1"
|
||||
- "Ethernet2"
|
||||
queue-id:
|
||||
type: integer
|
||||
description: Identifier of the priority queue under configuration.
|
||||
minimum: 0
|
||||
queue-weight:
|
||||
type: integer
|
||||
description: Assigns weights to the CoS priority queues when using WRR or hybrid scheduling modes.
|
||||
minimum: 1
|
||||
queue-strict-mode:
|
||||
type: boolean
|
||||
description: Ensures that the highest priority packets are always serviced first, ahead of all other traffic.
|
||||
default: false
|
||||
arp-inspect:
|
||||
$ref: "https://ucentral.io/schema/v1/switch/arp-inspect/"
|
||||
ip-source-guard:
|
||||
|
||||
@@ -802,6 +802,143 @@
|
||||
"description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control."
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-priority-mapping": {
|
||||
"type": "object",
|
||||
"description": "Interface-level QoS priority mapping configuration. Defines how ingress packet markings (IP Precedence, CoS, DSCP) are interpreted and mapped to internal per-hop behavior (PHB), drop precedence, and egress queue selection.",
|
||||
"properties": {
|
||||
"priority-untagged": {
|
||||
"type": "integer",
|
||||
"description": "Sets the default priority for incoming untagged Ethernet frames.",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"qos-map-trust-mode": {
|
||||
"type": "string",
|
||||
"description": "Determines which packet header field is trusted for ingress classification.",
|
||||
"enum": [
|
||||
"cos",
|
||||
"dscp",
|
||||
"ip-precedence"
|
||||
]
|
||||
},
|
||||
"qos-map-ipprec2dscp": {
|
||||
"type": "array",
|
||||
"description": "Maps IP Precedence values (0\u20137) in ingress packets to per-hop behavior (PHB) and drop precedence. Used when trust mode is set to ip-precedence.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"preced": {
|
||||
"type": "integer",
|
||||
"description": "IP Precedence value in the incoming packet.",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "Per-hop behavior (PHB) assigned to this IP Precedence.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"description": "Drop precedence assigned for congestion control.",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-cos2dscp": {
|
||||
"type": "array",
|
||||
"description": "Maps CoS/CFI values in ingress packets to PHB and drop precedence. Applied when trust mode is set to cos.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cos": {
|
||||
"type": "integer",
|
||||
"description": "CoS value extracted from ingress frames.",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"cfi": {
|
||||
"type": "integer",
|
||||
"description": "Canonical Format Indicator (0 or 1).",
|
||||
"minimum": 0,
|
||||
"maximum": 1
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "PHB assigned to this CoS/CFI mapping.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"description": "Drop precedence for congestion handling.",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-dscpmutate": {
|
||||
"type": "array",
|
||||
"description": "Maps DSCP values (0\u201363) in ingress packets to custom PHB and drop precedence. Used when trust mode is set to dscp.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"dscp": {
|
||||
"type": "integer",
|
||||
"description": "DSCP value from the IP header.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "PHB derived from DSCP-to-internal-priority mapping.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"description": "Drop precedence classification for congestion.",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-phb2queue": {
|
||||
"type": "array",
|
||||
"description": "Maps PHB to output hardware queues for traffic scheduling.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "Per-hop behavior value (internal priority).",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"queue-id": {
|
||||
"type": "integer",
|
||||
"description": "Hardware queue ID chosen for this PHB.",
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1487,6 +1624,12 @@
|
||||
"default": "long"
|
||||
}
|
||||
}
|
||||
},
|
||||
"trunk-id": {
|
||||
"description": "Specifies the trunk group ID used as the mclag-group.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 64
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1570,96 +1713,41 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"rspan-sessions": {
|
||||
"description": "A list of Remote SPAN (RSPAN) sessions configured on the switch. Each session operates independently and may use its own RSPAN VLAN. The configuration applied depends on the switch\u2019s role in the session (source, intermediate, or destination).",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"session-id": {
|
||||
"description": "Numeric identifier of the RSPAN session. Each session-id represents a distinct mirroring instance configured on the Switch",
|
||||
"type": "integer"
|
||||
},
|
||||
"rspan-vlan-id": {
|
||||
"description": "The VLAN ID used as the RSPAN transport VLAN for this session. Traffic replicated at the source is encapsulated with this VLAN tag and carried across the Layer-2 network to the destination switch.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 4094
|
||||
},
|
||||
"role": {
|
||||
"description": "Defines the function of this switch in the RSPAN session. A switch may act as - source- where traffic is captured and injected into the RSPAN VLAN - intermediate- forwards the RSPAN VLAN transparently - destination- where mirrored traffic exits toward analysis tools",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"source",
|
||||
"intermediate",
|
||||
"destination"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"description": "Configuration applicable only when the switch is operating as the RSPAN source. Specifies which ports generate mirrored traffic and the direction of traffic replication.",
|
||||
"qos-queue-config": {
|
||||
"type": "object",
|
||||
"description": "Global configuration for QoS priority queue scheduling and processing on L2 switches.",
|
||||
"properties": {
|
||||
"queue-scheduler-mode": {
|
||||
"type": "string",
|
||||
"description": "Sets the scheduling mode used for processing each of the Class of Service (CoS) priority queues.",
|
||||
"enum": [
|
||||
"strict",
|
||||
"wrr",
|
||||
"strict-wrr",
|
||||
"wfq",
|
||||
"dwrr"
|
||||
]
|
||||
},
|
||||
"queue-config": {
|
||||
"type": "array",
|
||||
"description": "List of priority queue configurations applied at the global QoS layer.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"monitor-ports": {
|
||||
"description": "List of ingress/egress interfaces whose traffic is mirrored. Source ports must support forwarding the RSPAN VLAN (typically trunk or hybrid mode ports)",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-id": {
|
||||
"type": "integer",
|
||||
"description": "Identifier of the priority queue under configuration.",
|
||||
"minimum": 0
|
||||
},
|
||||
"direction": {
|
||||
"description": "Direction of the traffic to be mirrored from the source ports - rx- mirror ingress traffic only - tx- mirror egress traffic only - rx-tx- mirror both ingress and egress",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"rx",
|
||||
"tx",
|
||||
"rx-tx"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"destination": {
|
||||
"description": "Configuration applicable only when the switch acts as the RSPAN destination. Determines which ports output the replicated traffic arriving on the RSPAN VLAN.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"analysis-ports": {
|
||||
"description": "One or more interfaces that receive the final mirrored traffic. These ports typically connect to packet analyzers, probes, or traffic capture tools.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-weight": {
|
||||
"type": "integer",
|
||||
"description": "Assigns weights to the CoS priority queues when using WRR or hybrid scheduling modes.",
|
||||
"minimum": 1
|
||||
},
|
||||
"tag-mode": {
|
||||
"description": "Specifies whether the mirrored packets should exit the destination port with the RSPAN VLAN tag preserved (tagged) or with the VLAN tag removed (untagged), depending on the analyzer requirements.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"tagged",
|
||||
"untagged"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"remote": {
|
||||
"description": "Defines configuration used by both intermediate and destination switches. It identifies which uplink ports should carry the RSPAN VLAN transparently across the switching fabric.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uplink-ports": {
|
||||
"description": "List of trunk/hybrid uplink ports through which the RSPAN VLAN is forwarded. These ports must allow the RSPAN VLAN to pass unchanged throughout the L2 domain.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-strict-mode": {
|
||||
"type": "boolean",
|
||||
"description": "Ensures that the highest priority packets are always serviced first, ahead of all other traffic.",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -708,6 +708,124 @@
|
||||
"default": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-priority-mapping": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"priority-untagged": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"qos-map-trust-mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"cos",
|
||||
"dscp",
|
||||
"ip-precedence"
|
||||
]
|
||||
},
|
||||
"qos-map-ipprec2dscp": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"preced": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-cos2dscp": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cos": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"cfi": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 1
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-dscpmutate": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"dscp": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-phb2queue": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"queue-id": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1639,6 +1757,11 @@
|
||||
"default": "long"
|
||||
}
|
||||
}
|
||||
},
|
||||
"trunk-id": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 64
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1710,84 +1833,35 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"rspan-sessions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"session-id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"rspan-vlan-id": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 4094
|
||||
},
|
||||
"role": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"source",
|
||||
"intermediate",
|
||||
"destination"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"qos-queue-config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"queue-scheduler-mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"strict",
|
||||
"wrr",
|
||||
"strict-wrr",
|
||||
"wfq",
|
||||
"dwrr"
|
||||
]
|
||||
},
|
||||
"queue-config": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"monitor-ports": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-id": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"direction": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"rx",
|
||||
"tx",
|
||||
"rx-tx"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"destination": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"analysis-ports": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-weight": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
},
|
||||
"tag-mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"tagged",
|
||||
"untagged"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"remote": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uplink-ports": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-strict-mode": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -836,6 +836,143 @@
|
||||
"description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control."
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-priority-mapping": {
|
||||
"type": "object",
|
||||
"description": "Interface-level QoS priority mapping configuration. Defines how ingress packet markings (IP Precedence, CoS, DSCP) are interpreted and mapped to internal per-hop behavior (PHB), drop precedence, and egress queue selection.",
|
||||
"properties": {
|
||||
"priority-untagged": {
|
||||
"type": "integer",
|
||||
"description": "Sets the default priority for incoming untagged Ethernet frames.",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"qos-map-trust-mode": {
|
||||
"type": "string",
|
||||
"description": "Determines which packet header field is trusted for ingress classification.",
|
||||
"enum": [
|
||||
"cos",
|
||||
"dscp",
|
||||
"ip-precedence"
|
||||
]
|
||||
},
|
||||
"qos-map-ipprec2dscp": {
|
||||
"type": "array",
|
||||
"description": "Maps IP Precedence values (0\u20137) in ingress packets to per-hop behavior (PHB) and drop precedence. Used when trust mode is set to ip-precedence.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"preced": {
|
||||
"type": "integer",
|
||||
"description": "IP Precedence value in the incoming packet.",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "Per-hop behavior (PHB) assigned to this IP Precedence.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"description": "Drop precedence assigned for congestion control.",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-cos2dscp": {
|
||||
"type": "array",
|
||||
"description": "Maps CoS/CFI values in ingress packets to PHB and drop precedence. Applied when trust mode is set to cos.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cos": {
|
||||
"type": "integer",
|
||||
"description": "CoS value extracted from ingress frames.",
|
||||
"minimum": 0,
|
||||
"maximum": 7
|
||||
},
|
||||
"cfi": {
|
||||
"type": "integer",
|
||||
"description": "Canonical Format Indicator (0 or 1).",
|
||||
"minimum": 0,
|
||||
"maximum": 1
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "PHB assigned to this CoS/CFI mapping.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"description": "Drop precedence for congestion handling.",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-dscpmutate": {
|
||||
"type": "array",
|
||||
"description": "Maps DSCP values (0\u201363) in ingress packets to custom PHB and drop precedence. Used when trust mode is set to dscp.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"dscp": {
|
||||
"type": "integer",
|
||||
"description": "DSCP value from the IP header.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "PHB derived from DSCP-to-internal-priority mapping.",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"drop-preced": {
|
||||
"type": "string",
|
||||
"description": "Drop precedence classification for congestion.",
|
||||
"enum": [
|
||||
"green",
|
||||
"yellow",
|
||||
"red"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"qos-map-phb2queue": {
|
||||
"type": "array",
|
||||
"description": "Maps PHB to output hardware queues for traffic scheduling.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"phb": {
|
||||
"type": "integer",
|
||||
"description": "Per-hop behavior value (internal priority).",
|
||||
"minimum": 0,
|
||||
"maximum": 63
|
||||
},
|
||||
"queue-id": {
|
||||
"type": "integer",
|
||||
"description": "Hardware queue ID chosen for this PHB.",
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1945,6 +2082,12 @@
|
||||
"default": "long"
|
||||
}
|
||||
}
|
||||
},
|
||||
"trunk-id": {
|
||||
"description": "Specifies the trunk group ID used as the mclag-group.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 64
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2028,96 +2171,41 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"rspan-sessions": {
|
||||
"description": "A list of Remote SPAN (RSPAN) sessions configured on the switch. Each session operates independently and may use its own RSPAN VLAN. The configuration applied depends on the switch\u2019s role in the session (source, intermediate, or destination).",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"session-id": {
|
||||
"description": "Numeric identifier of the RSPAN session. Each session-id represents a distinct mirroring instance configured on the Switch",
|
||||
"type": "integer"
|
||||
},
|
||||
"rspan-vlan-id": {
|
||||
"description": "The VLAN ID used as the RSPAN transport VLAN for this session. Traffic replicated at the source is encapsulated with this VLAN tag and carried across the Layer-2 network to the destination switch.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 4094
|
||||
},
|
||||
"role": {
|
||||
"description": "Defines the function of this switch in the RSPAN session. A switch may act as - source- where traffic is captured and injected into the RSPAN VLAN - intermediate- forwards the RSPAN VLAN transparently - destination- where mirrored traffic exits toward analysis tools",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"source",
|
||||
"intermediate",
|
||||
"destination"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"description": "Configuration applicable only when the switch is operating as the RSPAN source. Specifies which ports generate mirrored traffic and the direction of traffic replication.",
|
||||
"qos-queue-config": {
|
||||
"type": "object",
|
||||
"description": "Global configuration for QoS priority queue scheduling and processing on L2 switches.",
|
||||
"properties": {
|
||||
"queue-scheduler-mode": {
|
||||
"type": "string",
|
||||
"description": "Sets the scheduling mode used for processing each of the Class of Service (CoS) priority queues.",
|
||||
"enum": [
|
||||
"strict",
|
||||
"wrr",
|
||||
"strict-wrr",
|
||||
"wfq",
|
||||
"dwrr"
|
||||
]
|
||||
},
|
||||
"queue-config": {
|
||||
"type": "array",
|
||||
"description": "List of priority queue configurations applied at the global QoS layer.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"monitor-ports": {
|
||||
"description": "List of ingress/egress interfaces whose traffic is mirrored. Source ports must support forwarding the RSPAN VLAN (typically trunk or hybrid mode ports)",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-id": {
|
||||
"type": "integer",
|
||||
"description": "Identifier of the priority queue under configuration.",
|
||||
"minimum": 0
|
||||
},
|
||||
"direction": {
|
||||
"description": "Direction of the traffic to be mirrored from the source ports - rx- mirror ingress traffic only - tx- mirror egress traffic only - rx-tx- mirror both ingress and egress",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"rx",
|
||||
"tx",
|
||||
"rx-tx"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"destination": {
|
||||
"description": "Configuration applicable only when the switch acts as the RSPAN destination. Determines which ports output the replicated traffic arriving on the RSPAN VLAN.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"analysis-ports": {
|
||||
"description": "One or more interfaces that receive the final mirrored traffic. These ports typically connect to packet analyzers, probes, or traffic capture tools.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-weight": {
|
||||
"type": "integer",
|
||||
"description": "Assigns weights to the CoS priority queues when using WRR or hybrid scheduling modes.",
|
||||
"minimum": 1
|
||||
},
|
||||
"tag-mode": {
|
||||
"description": "Specifies whether the mirrored packets should exit the destination port with the RSPAN VLAN tag preserved (tagged) or with the VLAN tag removed (untagged), depending on the analyzer requirements.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"tagged",
|
||||
"untagged"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"remote": {
|
||||
"description": "Defines configuration used by both intermediate and destination switches. It identifies which uplink ports should carry the RSPAN VLAN transparently across the switching fabric.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uplink-ports": {
|
||||
"description": "List of trunk/hybrid uplink ports through which the RSPAN VLAN is forwarded. These ports must allow the RSPAN VLAN to pass unchanged throughout the L2 domain.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"Ethernet1",
|
||||
"Ethernet2"
|
||||
]
|
||||
}
|
||||
"queue-strict-mode": {
|
||||
"type": "boolean",
|
||||
"description": "Ensures that the highest priority packets are always serviced first, ahead of all other traffic.",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user