mirror of
https://github.com/Telecominfraproject/ols-ucentral-schema.git
synced 2025-11-03 03:28:08 +00:00
Compare commits
9 Commits
jumbo_fram
...
link_aggre
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bcde6a7155 | ||
|
|
82f5eb7740 | ||
|
|
ceccdef561 | ||
|
|
80a598fadf | ||
|
|
81e8cd5706 | ||
|
|
e8da89616e | ||
|
|
f9e15067ff | ||
|
|
5dc634f78e | ||
|
|
ee945311e1 |
@@ -161,3 +161,69 @@ properties:
|
|||||||
type: integer
|
type: integer
|
||||||
minimum: 1
|
minimum: 1
|
||||||
maximum: 4094
|
maximum: 4094
|
||||||
|
trunk-group:
|
||||||
|
description: Associates this port to a trunk or a port-channel.
|
||||||
|
type: integer
|
||||||
|
minimum: 1
|
||||||
|
maximum: 64
|
||||||
|
lacp-config:
|
||||||
|
description:
|
||||||
|
This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
lacp-enable:
|
||||||
|
description:
|
||||||
|
Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
lacp-role:
|
||||||
|
description:
|
||||||
|
Configures the port LACP role as actor or partner.
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- actor
|
||||||
|
- partner
|
||||||
|
default: actor
|
||||||
|
lacp-mode:
|
||||||
|
description:
|
||||||
|
Configures the LACP negotiation activity mode as active or passive.
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- active
|
||||||
|
- passive
|
||||||
|
default: passive
|
||||||
|
lacp-port-admin-key:
|
||||||
|
description:
|
||||||
|
Configures the port's LACP administration key.
|
||||||
|
type: integer
|
||||||
|
minimum: 1
|
||||||
|
maximum: 65535
|
||||||
|
default: 1
|
||||||
|
lacp-port-priority:
|
||||||
|
description:
|
||||||
|
Configures the LACP port priority.
|
||||||
|
type: integer
|
||||||
|
minimum: 1
|
||||||
|
maximum: 65535
|
||||||
|
default: 32768
|
||||||
|
lacp-system-priority:
|
||||||
|
description:
|
||||||
|
Configures the LACP System priority.
|
||||||
|
type: integer
|
||||||
|
minimum: 1
|
||||||
|
maximum: 65535
|
||||||
|
default: 32768
|
||||||
|
lacp-pchan-admin-key:
|
||||||
|
description:
|
||||||
|
Configures the port channel's LACP administration key (optional).
|
||||||
|
type: integer
|
||||||
|
minimum: 1
|
||||||
|
maximum: 65535
|
||||||
|
lacp-timeout:
|
||||||
|
description:
|
||||||
|
Configures the timeout to wait for the next LACP data unit.
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- short
|
||||||
|
- long
|
||||||
|
default: long
|
||||||
|
|||||||
@@ -223,6 +223,18 @@ properties:
|
|||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
trunk-balance-method:
|
||||||
|
description:
|
||||||
|
Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- dst-ip
|
||||||
|
- dst-mac
|
||||||
|
- src-dst-ip
|
||||||
|
- src-dst-mac
|
||||||
|
- src-ip
|
||||||
|
- src-mac
|
||||||
|
default: src-dst-mac
|
||||||
jumbo-frames:
|
jumbo-frames:
|
||||||
description:
|
description:
|
||||||
Enables Jumbo frames
|
Enables Jumbo frames
|
||||||
|
|||||||
208
schemareader.uc
208
schemareader.uc
@@ -1044,6 +1044,197 @@ function instantiateEthernet(location, value, errors) {
|
|||||||
obj.ieee8021x = parseIeee8021x(location + "/ieee8021x", value["ieee8021x"], errors);
|
obj.ieee8021x = parseIeee8021x(location + "/ieee8021x", value["ieee8021x"], errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parseLacpConfig(location, value, errors) {
|
||||||
|
if (type(value) == "object") {
|
||||||
|
let obj = {};
|
||||||
|
|
||||||
|
function parseLacpEnable(location, value, errors) {
|
||||||
|
if (type(value) != "bool")
|
||||||
|
push(errors, [ location, "must be of type boolean" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-enable")) {
|
||||||
|
obj.lacp_enable = parseLacpEnable(location + "/lacp-enable", value["lacp-enable"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_enable = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpRole(location, value, errors) {
|
||||||
|
if (type(value) != "string")
|
||||||
|
push(errors, [ location, "must be of type string" ]);
|
||||||
|
|
||||||
|
if (!(value in [ "actor", "partner" ]))
|
||||||
|
push(errors, [ location, "must be one of \"actor\" or \"partner\"" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-role")) {
|
||||||
|
obj.lacp_role = parseLacpRole(location + "/lacp-role", value["lacp-role"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_role = "actor";
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpMode(location, value, errors) {
|
||||||
|
if (type(value) != "string")
|
||||||
|
push(errors, [ location, "must be of type string" ]);
|
||||||
|
|
||||||
|
if (!(value in [ "active", "passive" ]))
|
||||||
|
push(errors, [ location, "must be one of \"active\" or \"passive\"" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-mode")) {
|
||||||
|
obj.lacp_mode = parseLacpMode(location + "/lacp-mode", value["lacp-mode"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_mode = "passive";
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpPortAdminKey(location, value, errors) {
|
||||||
|
if (type(value) in [ "int", "double" ]) {
|
||||||
|
if (value > 65535)
|
||||||
|
push(errors, [ location, "must be lower than or equal to 65535" ]);
|
||||||
|
|
||||||
|
if (value < 1)
|
||||||
|
push(errors, [ location, "must be bigger than or equal to 1" ]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type(value) != "int")
|
||||||
|
push(errors, [ location, "must be of type integer" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-port-admin-key")) {
|
||||||
|
obj.lacp_port_admin_key = parseLacpPortAdminKey(location + "/lacp-port-admin-key", value["lacp-port-admin-key"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_port_admin_key = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpPortPriority(location, value, errors) {
|
||||||
|
if (type(value) in [ "int", "double" ]) {
|
||||||
|
if (value > 65535)
|
||||||
|
push(errors, [ location, "must be lower than or equal to 65535" ]);
|
||||||
|
|
||||||
|
if (value < 1)
|
||||||
|
push(errors, [ location, "must be bigger than or equal to 1" ]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type(value) != "int")
|
||||||
|
push(errors, [ location, "must be of type integer" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-port-priority")) {
|
||||||
|
obj.lacp_port_priority = parseLacpPortPriority(location + "/lacp-port-priority", value["lacp-port-priority"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_port_priority = 32768;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpSystemPriority(location, value, errors) {
|
||||||
|
if (type(value) in [ "int", "double" ]) {
|
||||||
|
if (value > 65535)
|
||||||
|
push(errors, [ location, "must be lower than or equal to 65535" ]);
|
||||||
|
|
||||||
|
if (value < 1)
|
||||||
|
push(errors, [ location, "must be bigger than or equal to 1" ]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type(value) != "int")
|
||||||
|
push(errors, [ location, "must be of type integer" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-system-priority")) {
|
||||||
|
obj.lacp_system_priority = parseLacpSystemPriority(location + "/lacp-system-priority", value["lacp-system-priority"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_system_priority = 32768;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpPchanAdminKey(location, value, errors) {
|
||||||
|
if (type(value) in [ "int", "double" ]) {
|
||||||
|
if (value > 65535)
|
||||||
|
push(errors, [ location, "must be lower than or equal to 65535" ]);
|
||||||
|
|
||||||
|
if (value < 1)
|
||||||
|
push(errors, [ location, "must be bigger than or equal to 1" ]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type(value) != "int")
|
||||||
|
push(errors, [ location, "must be of type integer" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-pchan-admin-key")) {
|
||||||
|
obj.lacp_pchan_admin_key = parseLacpPchanAdminKey(location + "/lacp-pchan-admin-key", value["lacp-pchan-admin-key"], errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLacpTimeout(location, value, errors) {
|
||||||
|
if (type(value) != "string")
|
||||||
|
push(errors, [ location, "must be of type string" ]);
|
||||||
|
|
||||||
|
if (!(value in [ "short", "long" ]))
|
||||||
|
push(errors, [ location, "must be one of \"short\" or \"long\"" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-timeout")) {
|
||||||
|
obj.lacp_timeout = parseLacpTimeout(location + "/lacp-timeout", value["lacp-timeout"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.lacp_timeout = "long";
|
||||||
|
}
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type(value) != "object")
|
||||||
|
push(errors, [ location, "must be of type object" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "lacp-config")) {
|
||||||
|
obj.lacp_config = parseLacpConfig(location + "/lacp-config", value["lacp-config"], errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseTrunkGroup(location, value, errors) {
|
||||||
|
if (type(value) in [ "int", "double" ]) {
|
||||||
|
if (value > 64)
|
||||||
|
push(errors, [ location, "must be lower than or equal to 64" ]);
|
||||||
|
|
||||||
|
if (value < 1)
|
||||||
|
push(errors, [ location, "must be bigger than or equal to 1" ]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type(value) != "int")
|
||||||
|
push(errors, [ location, "must be of type integer" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "trunk-group")) {
|
||||||
|
obj.trunk_group = parseTrunkGroup(location + "/trunk-group", value["trunk-group"], errors);
|
||||||
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1692,6 +1883,23 @@ function instantiateSwitch(location, value, errors) {
|
|||||||
obj.jumbo_frames = false;
|
obj.jumbo_frames = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parseTrunkBalanceMethod(location, value, errors) {
|
||||||
|
if (type(value) != "string")
|
||||||
|
push(errors, [ location, "must be of type string" ]);
|
||||||
|
|
||||||
|
if (!(value in [ "dst-ip", "dst-mac", "src-dst-ip", "src-dst-mac", "src-ip", "src-mac" ]))
|
||||||
|
push(errors, [ location, "must be one of \"dst-ip\", \"dst-mac\", \"src-dst-ip\", \"src-dst-mac\", \"src-ip\" or \"src-mac\"" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "trunk-balance-method")) {
|
||||||
|
obj.trunk_balance_method = parseTrunkBalanceMethod(location + "/trunk-balance-method", value["trunk-balance-method"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.trunk_balance_method = "src-dst-mac";
|
||||||
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
67
state/lacp-trunks.yml
Normal file
67
state/lacp-trunks.yml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
List of dynamically created trunks.
|
||||||
|
properties:
|
||||||
|
trunk-identifier:
|
||||||
|
type: integer
|
||||||
|
description:
|
||||||
|
Logical identifier for the trunk.
|
||||||
|
minimum: 1
|
||||||
|
maximum: 64
|
||||||
|
member-port:
|
||||||
|
type: string
|
||||||
|
description: List of member ports under this trunk.
|
||||||
|
system-priority:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
LACP System priority.
|
||||||
|
port-priority:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
LACP port priority.
|
||||||
|
port-state:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
Port state.
|
||||||
|
lacpdu-sent:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Number of LACP Data Units (PDUs) sent.
|
||||||
|
lacpdu-recv:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Number of LACP Data Units (PDUs) received.
|
||||||
|
markerpdu-sent:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Number of Marker PDUs sent.
|
||||||
|
markerpdu-recv:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Number of Marker PDUs received.
|
||||||
|
unknownpkt-recv:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Number of unknown packets received.
|
||||||
|
illegalpkt-recv:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Number of illegal packets received.
|
||||||
|
port-oper-key:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Operational key for the port.
|
||||||
|
partner-oper-key:
|
||||||
|
type: number
|
||||||
|
description:
|
||||||
|
Operational key for the partner.
|
||||||
|
oper-state:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
Operational state.
|
||||||
|
partner-oper-state:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
Operational state of the partner.
|
||||||
@@ -54,3 +54,7 @@ properties:
|
|||||||
$ref: "https://ucentral.io/state/v1/link-state/"
|
$ref: "https://ucentral.io/state/v1/link-state/"
|
||||||
mac-address-list:
|
mac-address-list:
|
||||||
$ref: "https://ucentral.io/state/v1/mac-address-list/"
|
$ref: "https://ucentral.io/state/v1/mac-address-list/"
|
||||||
|
static-trunks:
|
||||||
|
$ref: "https://ucentral.io/state/v1/static-trunks/"
|
||||||
|
lacp-trunks:
|
||||||
|
$ref: "https://ucentral.io/state/v1/lacp-trunks/"
|
||||||
|
|||||||
18
state/static-trunks.yml
Normal file
18
state/static-trunks.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
List of statically created trunks.
|
||||||
|
properties:
|
||||||
|
trunk-identifier:
|
||||||
|
type: integer
|
||||||
|
description:
|
||||||
|
Logical identifier for the trunk.
|
||||||
|
minimum: 1
|
||||||
|
maximum: 64
|
||||||
|
member-ports:
|
||||||
|
type: array
|
||||||
|
description:
|
||||||
|
List of member ports under this static trunk.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
@@ -685,6 +685,77 @@
|
|||||||
"maximum": 4094
|
"maximum": 4094
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"trunk-group": {
|
||||||
|
"description": "Associates this port to a trunk or a port-channel.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 64
|
||||||
|
},
|
||||||
|
"lacp-config": {
|
||||||
|
"description": "This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"lacp-enable": {
|
||||||
|
"description": "Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"lacp-role": {
|
||||||
|
"description": "Configures the port LACP role as actor or partner.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"actor",
|
||||||
|
"partner"
|
||||||
|
],
|
||||||
|
"default": "actor"
|
||||||
|
},
|
||||||
|
"lacp-mode": {
|
||||||
|
"description": "Configures the LACP negotiation activity mode as active or passive.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"active",
|
||||||
|
"passive"
|
||||||
|
],
|
||||||
|
"default": "passive"
|
||||||
|
},
|
||||||
|
"lacp-port-admin-key": {
|
||||||
|
"description": "Configures the port's LACP administration key.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 1
|
||||||
|
},
|
||||||
|
"lacp-port-priority": {
|
||||||
|
"description": "Configures the LACP port priority.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 32768
|
||||||
|
},
|
||||||
|
"lacp-system-priority": {
|
||||||
|
"description": "Configures the LACP System priority.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 32768
|
||||||
|
},
|
||||||
|
"lacp-pchan-admin-key": {
|
||||||
|
"description": "Configures the port channel's LACP administration key (optional).",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535
|
||||||
|
},
|
||||||
|
"lacp-timeout": {
|
||||||
|
"description": "Configures the timeout to wait for the next LACP data unit.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"short",
|
||||||
|
"long"
|
||||||
|
],
|
||||||
|
"default": "long"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -926,6 +997,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"trunk-balance-method": {
|
||||||
|
"description": "Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"dst-ip",
|
||||||
|
"dst-mac",
|
||||||
|
"src-dst-ip",
|
||||||
|
"src-dst-mac",
|
||||||
|
"src-ip",
|
||||||
|
"src-mac"
|
||||||
|
],
|
||||||
|
"default": "src-dst-mac"
|
||||||
"jumbo-frames": {
|
"jumbo-frames": {
|
||||||
"description": "Enables Jumbo frames",
|
"description": "Enables Jumbo frames",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
|
|||||||
@@ -477,6 +477,67 @@
|
|||||||
"maximum": 4094
|
"maximum": 4094
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"trunk-group": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 64
|
||||||
|
},
|
||||||
|
"lacp-config": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"lacp-enable": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"lacp-role": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"actor",
|
||||||
|
"partner"
|
||||||
|
],
|
||||||
|
"default": "actor"
|
||||||
|
},
|
||||||
|
"lacp-mode": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"active",
|
||||||
|
"passive"
|
||||||
|
],
|
||||||
|
"default": "passive"
|
||||||
|
},
|
||||||
|
"lacp-port-admin-key": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 1
|
||||||
|
},
|
||||||
|
"lacp-port-priority": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 32768
|
||||||
|
},
|
||||||
|
"lacp-system-priority": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 32768
|
||||||
|
},
|
||||||
|
"lacp-pchan-admin-key": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535
|
||||||
|
},
|
||||||
|
"lacp-timeout": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"short",
|
||||||
|
"long"
|
||||||
|
],
|
||||||
|
"default": "long"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -679,6 +740,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"trunk-balance-method": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"dst-ip",
|
||||||
|
"dst-mac",
|
||||||
|
"src-dst-ip",
|
||||||
|
"src-dst-mac",
|
||||||
|
"src-ip",
|
||||||
|
"src-mac"
|
||||||
|
],
|
||||||
|
"default": "src-dst-mac"
|
||||||
|
},
|
||||||
"jumbo-frames": {
|
"jumbo-frames": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false
|
"default": false
|
||||||
|
|||||||
@@ -537,6 +537,77 @@
|
|||||||
"maximum": 4094
|
"maximum": 4094
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"trunk-group": {
|
||||||
|
"description": "Associates this port to a trunk or a port-channel.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 64
|
||||||
|
},
|
||||||
|
"lacp-config": {
|
||||||
|
"description": "This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"lacp-enable": {
|
||||||
|
"description": "Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"lacp-role": {
|
||||||
|
"description": "Configures the port LACP role as actor or partner.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"actor",
|
||||||
|
"partner"
|
||||||
|
],
|
||||||
|
"default": "actor"
|
||||||
|
},
|
||||||
|
"lacp-mode": {
|
||||||
|
"description": "Configures the LACP negotiation activity mode as active or passive.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"active",
|
||||||
|
"passive"
|
||||||
|
],
|
||||||
|
"default": "passive"
|
||||||
|
},
|
||||||
|
"lacp-port-admin-key": {
|
||||||
|
"description": "Configures the port's LACP administration key.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 1
|
||||||
|
},
|
||||||
|
"lacp-port-priority": {
|
||||||
|
"description": "Configures the LACP port priority.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 32768
|
||||||
|
},
|
||||||
|
"lacp-system-priority": {
|
||||||
|
"description": "Configures the LACP System priority.",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535,
|
||||||
|
"default": 32768
|
||||||
|
},
|
||||||
|
"lacp-pchan-admin-key": {
|
||||||
|
"description": "Configures the port channel's LACP administration key (optional).",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535
|
||||||
|
},
|
||||||
|
"lacp-timeout": {
|
||||||
|
"description": "Configures the timeout to wait for the next LACP data unit.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"short",
|
||||||
|
"long"
|
||||||
|
],
|
||||||
|
"default": "long"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -777,6 +848,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"trunk-balance-method": {
|
||||||
|
"description": "Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"dst-ip",
|
||||||
|
"dst-mac",
|
||||||
|
"src-dst-ip",
|
||||||
|
"src-dst-mac",
|
||||||
|
"src-ip",
|
||||||
|
"src-mac"
|
||||||
|
],
|
||||||
|
"default": "src-dst-mac"
|
||||||
|
},
|
||||||
"jumbo-frames": {
|
"jumbo-frames": {
|
||||||
"description": "Enables Jumbo frames",
|
"description": "Enables Jumbo frames",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
|
|||||||
@@ -78,6 +78,12 @@
|
|||||||
},
|
},
|
||||||
"mac-address-list": {
|
"mac-address-list": {
|
||||||
"$ref": "#/$defs/mac-address-list"
|
"$ref": "#/$defs/mac-address-list"
|
||||||
|
},
|
||||||
|
"static-trunks": {
|
||||||
|
"$ref": "#/$defs/static-trunks"
|
||||||
|
},
|
||||||
|
"lacp-trunks": {
|
||||||
|
"$ref": "#/$defs/lacp-trunks"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"$defs": {
|
"$defs": {
|
||||||
@@ -1098,6 +1104,99 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"static-trunks": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "List of statically created trunks.",
|
||||||
|
"properties": {
|
||||||
|
"trunk-identifier": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "Logical identifier for the trunk.",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 64
|
||||||
|
},
|
||||||
|
"member-ports": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "List of member ports under this static trunk.",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lacp-trunks": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "List of dynamically created trunks.",
|
||||||
|
"properties": {
|
||||||
|
"trunk-identifier": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "Logical identifier for the trunk.",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 64
|
||||||
|
},
|
||||||
|
"member-port": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "List of member ports under this trunk."
|
||||||
|
},
|
||||||
|
"system-priority": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "LACP System priority."
|
||||||
|
},
|
||||||
|
"port-priority": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "LACP port priority."
|
||||||
|
},
|
||||||
|
"port-state": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Port state."
|
||||||
|
},
|
||||||
|
"lacpdu-sent": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Number of LACP Data Units (PDUs) sent."
|
||||||
|
},
|
||||||
|
"lacpdu-recv": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Number of LACP Data Units (PDUs) received."
|
||||||
|
},
|
||||||
|
"markerpdu-sent": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Number of Marker PDUs sent."
|
||||||
|
},
|
||||||
|
"markerpdu-recv": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Number of Marker PDUs received."
|
||||||
|
},
|
||||||
|
"unknownpkt-recv": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Number of unknown packets received."
|
||||||
|
},
|
||||||
|
"illegalpkt-recv": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Number of illegal packets received."
|
||||||
|
},
|
||||||
|
"port-oper-key": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Operational key for the port."
|
||||||
|
},
|
||||||
|
"partner-oper-key": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Operational key for the partner."
|
||||||
|
},
|
||||||
|
"oper-state": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Operational state."
|
||||||
|
},
|
||||||
|
"partner-oper-state": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Operational state of the partner."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user