Compare commits

...

10 Commits

Author SHA1 Message Date
Binny
02f749cc11 Merge pull request #46 from Telecominfraproject/ols-821-mclag-schema-correction
ols-821-mclag-schema-correcttion-draft Changes
2025-10-07 12:06:22 +05:30
Mike Hansen
5b00327adc Merge pull request #50 from Telecominfraproject/correct-storm-control-indentation
Fix indentation for storm-control configuration.
2025-09-24 12:29:33 -04:00
Mike Hansen
117aa70d4f Fix indentation for storm-control configuration.
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2025-09-24 11:18:21 -04:00
Binny
c3073a9a45 ols-821-mclag-schema-final-draft 2025-09-16 06:10:50 +00:00
Binny
04a8901620 Merge pull request #47 from Telecominfraproject/ols-822-lldp-peers-statemessage-enhancements
ols-822-lldp-enhanced-state-reporting-draft Review
2025-09-16 11:37:54 +05:30
Olexandr, Mazur
23ebf25cba Merge pull request #48 from Telecominfraproject/fix/fix_invalid_schema
Fix broken schema json file
2025-09-05 12:38:40 +03:00
Binny
05849922ed ols-821-mclag-corrections-rev2 2025-08-22 15:19:46 +00:00
Binny
9228a6c290 ols-822-lldp-peerstate-enhancement-rev2 2025-08-22 14:57:34 +00:00
Binny
30b5864ada ols-822-lldp-enhanced-state-reporting-draft 2025-08-18 14:52:15 +00:00
Binny
598af29d51 ols-821-mclag-schema-correcttion-draft 2025-08-18 13:38:01 +00:00
7 changed files with 414 additions and 246 deletions

View File

@@ -522,18 +522,18 @@ properties:
with independent packet-per-second (pps) thresholds. A limit-pps value of 0 implies the control is disabled for that traffic type. with independent packet-per-second (pps) thresholds. A limit-pps value of 0 implies the control is disabled for that traffic type.
type: object type: object
properties: properties:
broadcast-pps: broadcast-pps:
type: integer type: integer
minimum: 0 minimum: 0
default: 0 default: 0
description: Maximum allowed broadcast packets per second. 0 disables broadcast storm control. description: Maximum allowed broadcast packets per second. 0 disables broadcast storm control.
multicast-pps: multicast-pps:
type: integer type: integer
minimum: 0 minimum: 0
default: 0 default: 0
description: Maximum allowed multicast packets per second. 0 disables multicast storm control. description: Maximum allowed multicast packets per second. 0 disables multicast storm control.
unknown-unicast-pps: unknown-unicast-pps:
type: integer type: integer
minimum: 0 minimum: 0
default: 0 default: 0
description: Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control. description: Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control.

View File

@@ -439,58 +439,66 @@ properties:
description: Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches. description: Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.
type: object type: object
properties: properties:
type: link-type:
description: Defines the type of peer-link, either 'port' or 'trunk-group' description: Defines the type of peer-link, either 'port' or 'trunk-group'
type: string type: string
enum: enum:
- port - port
- trunk-group - trunk-group
default: trunk-group default: trunk-group
value: port-id:
description: Specifies the port or trunk-group ID for the peer-link. description: Specifies the physical port name used as peer-link (only valid if type = port).
type: string
examples:
- "Ethernet1"
- "Ethernet2"
trunk-id:
description: Specifies the trunk group ID used as peer-link (only valid if type = trunk-group).
type: integer type: integer
minimum: 1 minimum: 1
maximum: 64 maximum: 64
mclag-group: mclag-group:
description: Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG. description: Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.
type: object type: array
properties: items:
group-id: type: object
description: Defines the unique MC-LAG group identifier. properties:
type: integer group-id:
minimum: 1 description: Defines the unique MC-LAG group identifier.
maximum: 128 type: integer
members: minimum: 1
description: List of interfaces that participate in the MC-LAG group. maximum: 128
type: array members:
items: description: List of interfaces that participate in the MC-LAG group.
type: string type: array
description: Interface names that are part of the MC-LAG group. items:
examples:
- eth0
- eth1
lacp-config:
description: LACP configuration settings for the MC-LAG group.
type: object
properties:
lacp-enable:
description: Enables or disables LACP for the MC-LAG group.
type: boolean
default: true
lacp-role:
description: Configures the LACP role as 'actor' or 'partner'
type: string type: string
enum: description: Interface names that are part of the MC-LAG group.
- actor examples:
- partner - Ethernet0
default: actor - Ethernet1
lacp-timeout: lacp-config:
description: Sets the LACP timeout as either 'short' or 'long'. description: LACP configuration settings for the MC-LAG group.
type: string type: object
enum: properties:
- short lacp-enable:
- long description: Enables or disables LACP for the MC-LAG group.
default: long type: boolean
default: true
lacp-role:
description: Configures the LACP role as 'actor' or 'partner'
type: string
enum:
- actor
- partner
default: actor
lacp-timeout:
description: Sets the LACP timeout as either 'short' or 'long'.
type: string
enum:
- short
- long
default: long
system-priority: system-priority:
description: Specifies the system priority used by the switch for LACP negotiations. description: Specifies the system priority used by the switch for LACP negotiations.
type: integer type: integer

View File

@@ -49,6 +49,10 @@ items:
type: string type: string
description: Provides a textual description of the remote port, typically describing the interface or its purpose. description: Provides a textual description of the remote port, typically describing the interface or its purpose.
example: "Ethernet Port on unit 1, port 2" example: "Ethernet Port on unit 1, port 2"
lldp-remote-sys-name:
type: string
description: Provides a textual description of the system name string (as defined by the sending device)
example: "Datacenter Switch-1"
lldp-remote-port-max-mtu: lldp-remote-port-max-mtu:
type: string type: string
description: Displays the maximum transmission unit (MTU) size that the remote port supports, indicating the largest packet size the port can handle. description: Displays the maximum transmission unit (MTU) size that the remote port supports, indicating the largest packet size the port can handle.
@@ -117,6 +121,19 @@ items:
type: string type: string
description: Displays the PoE class of the remote device, indicating its power consumption classification. description: Displays the PoE class of the remote device, indicating its power consumption classification.
enum: ["Class-1", "Class-2", "Class-3", "Class-4","Class-5", "Class-6", "Class-7", "Class-8"] enum: ["Class-1", "Class-2", "Class-3", "Class-4","Class-5", "Class-6", "Class-7", "Class-8"]
lldp-remote-port-power-priority:
type: string
description: Indicates the power priority level assigned to the PD.
enum:
- low
- high
- critical
lldp-remote-port-pd-requested-power:
type: number
description: Power requested by the PD in watts (0.1W resolution possible). The values must be presented with real values like 25.5, 20.5 etc.
lldp-remote-port-pse-available-power:
type: number
description: Power that the PSE port is able to provide in watts (0.1W resolution).
lldp-remote-port-lag-info: lldp-remote-port-lag-info:
type: object type: object
description: Provides information about the remote ports involvement in Link Aggregation Groups (LAG), if applicable. description: Provides information about the remote ports involvement in Link Aggregation Groups (LAG), if applicable.
@@ -129,4 +146,40 @@ items:
description: Shows whether Link Aggregation is enabled on the remote port. description: Shows whether Link Aggregation is enabled on the remote port.
lldp-remote-port-lag-port-id: lldp-remote-port-lag-port-id:
type: integer type: integer
description: Displays the identifier of the Link Aggregation Group (LAG) that the remote port belongs to. description: Displays the identifier of the Link Aggregation Group (LAG) that the remote port belongs to.
lldp-remote-port-location:
type: object
description: Location information provided by LLDP-MED.
properties:
location-subtype:
type: string
description: Indicates the type of location information being conveyed.
enum:
- coordinate
- civic-address
- elin
civic-addr:
type: array
description: Civic address information consisting of CA-Type and CA-Value pairs as per LLDP-MED.
items:
type: object
properties:
ca-type:
type: integer
description: Civic Address Type identifier (e.g., 1 = Language, 3 = Country, 6 = A1 state/province, etc.)
ca-value:
type: string
description: Civic Address Value corresponding to the type.
coordinates:
type: object
description: Location coordinates information.
properties:
latitude:
type: string
description: Latitude in decimal degrees (e.g., +37.7749).
longitude:
type: string
description: Longitude in decimal degrees (e.g., -122.4194).
elin:
type: string
description: Emergency Location Identification Number (ELIN) assigned to endpoint location

View File

@@ -777,24 +777,25 @@
"storm-control": { "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.", "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", "type": "object",
"properties": null, "properties": {
"broadcast-pps": { "broadcast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0, "default": 0,
"description": "Maximum allowed broadcast packets per second. 0 disables broadcast storm control." "description": "Maximum allowed broadcast packets per second. 0 disables broadcast storm control."
}, },
"multicast-pps": { "multicast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0, "default": 0,
"description": "Maximum allowed multicast packets per second. 0 disables multicast storm control." "description": "Maximum allowed multicast packets per second. 0 disables multicast storm control."
}, },
"unknown-unicast-pps": { "unknown-unicast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0, "default": 0,
"description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control." "description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control."
}
} }
} }
} }
@@ -1288,7 +1289,7 @@
"description": "Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.", "description": "Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.",
"type": "object", "type": "object",
"properties": { "properties": {
"type": { "link-type": {
"description": "Defines the type of peer-link, either 'port' or 'trunk-group'", "description": "Defines the type of peer-link, either 'port' or 'trunk-group'",
"type": "string", "type": "string",
"enum": [ "enum": [
@@ -1297,8 +1298,16 @@
], ],
"default": "trunk-group" "default": "trunk-group"
}, },
"value": { "port-id": {
"description": "Specifies the port or trunk-group ID for the peer-link.", "description": "Specifies the physical port name used as peer-link (only valid if type = port).",
"type": "string",
"examples": [
"Ethernet1",
"Ethernet2"
]
},
"trunk-id": {
"description": "Specifies the trunk group ID used as peer-link (only valid if type = trunk-group).",
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 64 "maximum": 64
@@ -1306,53 +1315,56 @@
} }
}, },
"mclag-group": { "mclag-group": {
"description": "Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG.", "description": "Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.",
"type": "object", "type": "array",
"properties": { "items": {
"group-id": { "type": "object",
"description": "Defines the unique MC-LAG group identifier.", "properties": {
"type": "integer", "group-id": {
"minimum": 1, "description": "Defines the unique MC-LAG group identifier.",
"maximum": 128 "type": "integer",
}, "minimum": 1,
"members": { "maximum": 128
"description": "List of interfaces that participate in the MC-LAG group.", },
"type": "array", "members": {
"items": { "description": "List of interfaces that participate in the MC-LAG group.",
"type": "string", "type": "array",
"description": "Interface names that are part of the MC-LAG group.", "items": {
"examples": [
"eth0",
"eth1"
]
}
},
"lacp-config": {
"description": "LACP configuration settings for the MC-LAG group.",
"type": "object",
"properties": {
"lacp-enable": {
"description": "Enables or disables LACP for the MC-LAG group.",
"type": "boolean",
"default": true
},
"lacp-role": {
"description": "Configures the LACP role as 'actor' or 'partner'",
"type": "string", "type": "string",
"enum": [ "description": "Interface names that are part of the MC-LAG group.",
"actor", "examples": [
"partner" "Ethernet0",
], "Ethernet1"
"default": "actor" ]
}, }
"lacp-timeout": { },
"description": "Sets the LACP timeout as either 'short' or 'long'.", "lacp-config": {
"type": "string", "description": "LACP configuration settings for the MC-LAG group.",
"enum": [ "type": "object",
"short", "properties": {
"long" "lacp-enable": {
], "description": "Enables or disables LACP for the MC-LAG group.",
"default": "long" "type": "boolean",
"default": true
},
"lacp-role": {
"description": "Configures the LACP role as 'actor' or 'partner'",
"type": "string",
"enum": [
"actor",
"partner"
],
"default": "actor"
},
"lacp-timeout": {
"description": "Sets the LACP timeout as either 'short' or 'long'.",
"type": "string",
"enum": [
"short",
"long"
],
"default": "long"
}
} }
} }
} }

View File

@@ -687,21 +687,22 @@
}, },
"storm-control": { "storm-control": {
"type": "object", "type": "object",
"properties": null, "properties": {
"broadcast-pps": { "broadcast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0 "default": 0
}, },
"multicast-pps": { "multicast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0 "default": 0
}, },
"unknown-unicast-pps": { "unknown-unicast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0 "default": 0
}
} }
} }
} }
@@ -1473,7 +1474,7 @@
"peer-link": { "peer-link": {
"type": "object", "type": "object",
"properties": { "properties": {
"type": { "link-type": {
"type": "string", "type": "string",
"enum": [ "enum": [
"port", "port",
@@ -1481,7 +1482,14 @@
], ],
"default": "trunk-group" "default": "trunk-group"
}, },
"value": { "port-id": {
"type": "string",
"examples": [
"Ethernet1",
"Ethernet2"
]
},
"trunk-id": {
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 64 "maximum": 64
@@ -1489,45 +1497,48 @@
} }
}, },
"mclag-group": { "mclag-group": {
"type": "object", "type": "array",
"properties": { "items": {
"group-id": { "type": "object",
"type": "integer", "properties": {
"minimum": 1, "group-id": {
"maximum": 128 "type": "integer",
}, "minimum": 1,
"members": { "maximum": 128
"type": "array", },
"items": { "members": {
"type": "string", "type": "array",
"examples": [ "items": {
"eth0",
"eth1"
]
}
},
"lacp-config": {
"type": "object",
"properties": {
"lacp-enable": {
"type": "boolean",
"default": true
},
"lacp-role": {
"type": "string", "type": "string",
"enum": [ "examples": [
"actor", "Ethernet0",
"partner" "Ethernet1"
], ]
"default": "actor" }
}, },
"lacp-timeout": { "lacp-config": {
"type": "string", "type": "object",
"enum": [ "properties": {
"short", "lacp-enable": {
"long" "type": "boolean",
], "default": true
"default": "long" },
"lacp-role": {
"type": "string",
"enum": [
"actor",
"partner"
],
"default": "actor"
},
"lacp-timeout": {
"type": "string",
"enum": [
"short",
"long"
],
"default": "long"
}
} }
} }
} }

View File

@@ -811,24 +811,25 @@
"storm-control": { "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.", "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", "type": "object",
"properties": null, "properties": {
"broadcast-pps": { "broadcast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0, "default": 0,
"description": "Maximum allowed broadcast packets per second. 0 disables broadcast storm control." "description": "Maximum allowed broadcast packets per second. 0 disables broadcast storm control."
}, },
"multicast-pps": { "multicast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0, "default": 0,
"description": "Maximum allowed multicast packets per second. 0 disables multicast storm control." "description": "Maximum allowed multicast packets per second. 0 disables multicast storm control."
}, },
"unknown-unicast-pps": { "unknown-unicast-pps": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"default": 0, "default": 0,
"description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control." "description": "Maximum allowed unknown unicast packets per second. 0 disables unknown unicast storm control."
}
} }
} }
} }
@@ -1746,7 +1747,7 @@
"description": "Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.", "description": "Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.",
"type": "object", "type": "object",
"properties": { "properties": {
"type": { "link-type": {
"description": "Defines the type of peer-link, either 'port' or 'trunk-group'", "description": "Defines the type of peer-link, either 'port' or 'trunk-group'",
"type": "string", "type": "string",
"enum": [ "enum": [
@@ -1755,8 +1756,16 @@
], ],
"default": "trunk-group" "default": "trunk-group"
}, },
"value": { "port-id": {
"description": "Specifies the port or trunk-group ID for the peer-link.", "description": "Specifies the physical port name used as peer-link (only valid if type = port).",
"type": "string",
"examples": [
"Ethernet1",
"Ethernet2"
]
},
"trunk-id": {
"description": "Specifies the trunk group ID used as peer-link (only valid if type = trunk-group).",
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 64 "maximum": 64
@@ -1764,53 +1773,56 @@
} }
}, },
"mclag-group": { "mclag-group": {
"description": "Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG.", "description": "Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.",
"type": "object", "type": "array",
"properties": { "items": {
"group-id": { "type": "object",
"description": "Defines the unique MC-LAG group identifier.", "properties": {
"type": "integer", "group-id": {
"minimum": 1, "description": "Defines the unique MC-LAG group identifier.",
"maximum": 128 "type": "integer",
}, "minimum": 1,
"members": { "maximum": 128
"description": "List of interfaces that participate in the MC-LAG group.", },
"type": "array", "members": {
"items": { "description": "List of interfaces that participate in the MC-LAG group.",
"type": "string", "type": "array",
"description": "Interface names that are part of the MC-LAG group.", "items": {
"examples": [
"eth0",
"eth1"
]
}
},
"lacp-config": {
"description": "LACP configuration settings for the MC-LAG group.",
"type": "object",
"properties": {
"lacp-enable": {
"description": "Enables or disables LACP for the MC-LAG group.",
"type": "boolean",
"default": true
},
"lacp-role": {
"description": "Configures the LACP role as 'actor' or 'partner'",
"type": "string", "type": "string",
"enum": [ "description": "Interface names that are part of the MC-LAG group.",
"actor", "examples": [
"partner" "Ethernet0",
], "Ethernet1"
"default": "actor" ]
}, }
"lacp-timeout": { },
"description": "Sets the LACP timeout as either 'short' or 'long'.", "lacp-config": {
"type": "string", "description": "LACP configuration settings for the MC-LAG group.",
"enum": [ "type": "object",
"short", "properties": {
"long" "lacp-enable": {
], "description": "Enables or disables LACP for the MC-LAG group.",
"default": "long" "type": "boolean",
"default": true
},
"lacp-role": {
"description": "Configures the LACP role as 'actor' or 'partner'",
"type": "string",
"enum": [
"actor",
"partner"
],
"default": "actor"
},
"lacp-timeout": {
"description": "Sets the LACP timeout as either 'short' or 'long'.",
"type": "string",
"enum": [
"short",
"long"
],
"default": "long"
}
} }
} }
} }

View File

@@ -909,6 +909,11 @@
"description": "Provides a textual description of the remote port, typically describing the interface or its purpose.", "description": "Provides a textual description of the remote port, typically describing the interface or its purpose.",
"example": "Ethernet Port on unit 1, port 2" "example": "Ethernet Port on unit 1, port 2"
}, },
"lldp-remote-sys-name": {
"type": "string",
"description": "Provides a textual description of the system name string (as defined by the sending device)",
"example": "Datacenter Switch-1"
},
"lldp-remote-port-max-mtu": { "lldp-remote-port-max-mtu": {
"type": "string", "type": "string",
"description": "Displays the maximum transmission unit (MTU) size that the remote port supports, indicating the largest packet size the port can handle." "description": "Displays the maximum transmission unit (MTU) size that the remote port supports, indicating the largest packet size the port can handle."
@@ -1014,6 +1019,23 @@
"Class-7", "Class-7",
"Class-8" "Class-8"
] ]
},
"lldp-remote-port-power-priority": {
"type": "string",
"description": "Indicates the power priority level assigned to the PD.",
"enum": [
"low",
"high",
"critical"
]
},
"lldp-remote-port-pd-requested-power": {
"type": "number",
"description": "Power requested by the PD in watts (0.1W resolution possible). The values must be presented with real values like 25.5, 20.5 etc."
},
"lldp-remote-port-pse-available-power": {
"type": "number",
"description": "Power that the PSE port is able to provide in watts (0.1W resolution)."
} }
} }
}, },
@@ -1034,6 +1056,56 @@
"description": "Displays the identifier of the Link Aggregation Group (LAG) that the remote port belongs to." "description": "Displays the identifier of the Link Aggregation Group (LAG) that the remote port belongs to."
} }
} }
},
"lldp-remote-port-location": {
"type": "object",
"description": "Location information provided by LLDP-MED.",
"properties": {
"location-subtype": {
"type": "string",
"description": "Indicates the type of location information being conveyed.",
"enum": [
"coordinate",
"civic-address",
"elin"
]
},
"civic-addr": {
"type": "array",
"description": "Civic address information consisting of CA-Type and CA-Value pairs as per LLDP-MED.",
"items": {
"type": "object",
"properties": {
"ca-type": {
"type": "integer",
"description": "Civic Address Type identifier (e.g., 1 = Language, 3 = Country, 6 = A1 state/province, etc.)"
},
"ca-value": {
"type": "string",
"description": "Civic Address Value corresponding to the type."
}
}
}
},
"coordinates": {
"type": "object",
"description": "Location coordinates information.",
"properties": {
"latitude": {
"type": "string",
"description": "Latitude in decimal degrees (e.g., +37.7749)."
},
"longitude": {
"type": "string",
"description": "Longitude in decimal degrees (e.g., -122.4194)."
}
}
},
"elin": {
"type": "string",
"description": "Emergency Location Identification Number (ELIN) assigned to endpoint location"
}
}
} }
} }
} }