Compare commits

..

6 Commits

Author SHA1 Message Date
Mike Hansen
5aba2c37f3 Merge pull request #60 from Telecominfraproject/staging-release-5.0.0-pki-2.0
Release 5.0.0 - Update schema version

No other changes

This will be the schema for the release/v5.0.0
2026-02-26 12:51:58 -05:00
Mike Hansen
3fda75b7db Release 5.0.0 - Update schema version 2026-02-26 09:45:08 -05:00
Binny
f2a9d622e9 Merge pull request #56 from Telecominfraproject/ols-969-priority-mapping-schema
ols-969-Schema for Priority Mapping-firstdraft
2026-02-03 13:36:54 +05:30
Binny
f172a3630e ols-969-rev1-push 2026-01-30 19:03:48 +00:00
Binny
2c2a8810c8 ols-969-prio-mapping-rev1 2026-01-30 18:59:11 +00:00
Binny
ab89f53750 ols-969-Schema for Priority Mapping-firstdraft 2026-01-28 13:59:27 +00:00
6 changed files with 643 additions and 344 deletions

View File

@@ -1,5 +1,5 @@
{
"major": 4,
"minor": 1,
"patch": 0
"major": 5,
"minor": 0,
"patch": 0
}

View File

@@ -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 (07) 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 (063) 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

View File

@@ -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 switchs 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:

View File

@@ -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
}
}
}

View File

@@ -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
}
}
}

View File

@@ -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
}
}
}