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 658 additions and 3 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,6 +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
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:
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
}
}
}
}
}
}
}
}
@@ -1576,6 +1713,47 @@
}
}
},
"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": {
"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": {
"type": "object",
"description": "Global configuration for ARP Inspection on the switch.",

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
}
}
}
}
}
}
}
},
@@ -1715,6 +1833,41 @@
}
}
},
"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": {
"queue-id": {
"type": "integer",
"minimum": 0
},
"queue-weight": {
"type": "integer",
"minimum": 1
},
"queue-strict-mode": {
"type": "boolean",
"default": false
}
}
}
}
}
},
"arp-inspect": {
"$ref": "#/$defs/switch.arp-inspect"
},

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
}
}
}
}
}
}
}
},
@@ -2034,6 +2171,47 @@
}
}
},
"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": {
"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": "#/$defs/switch.arp-inspect"
},