1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Port.v1_12_0.json",
3*f2a8e57eSGunnar Mills    "$ref": "#/definitions/Port",
4*f2a8e57eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*f2a8e57eSGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*f2a8e57eSGunnar Mills    "definitions": {
7*f2a8e57eSGunnar Mills        "Actions": {
8*f2a8e57eSGunnar Mills            "additionalProperties": false,
9*f2a8e57eSGunnar Mills            "description": "The available actions for this resource.",
10*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*f2a8e57eSGunnar Mills            "patternProperties": {
12*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*f2a8e57eSGunnar Mills                    "type": [
15*f2a8e57eSGunnar Mills                        "array",
16*f2a8e57eSGunnar Mills                        "boolean",
17*f2a8e57eSGunnar Mills                        "integer",
18*f2a8e57eSGunnar Mills                        "number",
19*f2a8e57eSGunnar Mills                        "null",
20*f2a8e57eSGunnar Mills                        "object",
21*f2a8e57eSGunnar Mills                        "string"
22*f2a8e57eSGunnar Mills                    ]
23*f2a8e57eSGunnar Mills                }
24*f2a8e57eSGunnar Mills            },
25*f2a8e57eSGunnar Mills            "properties": {
26*f2a8e57eSGunnar Mills                "#Port.Reset": {
27*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Reset"
28*f2a8e57eSGunnar Mills                },
29*f2a8e57eSGunnar Mills                "#Port.ResetPPB": {
30*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/ResetPPB"
31*f2a8e57eSGunnar Mills                },
32*f2a8e57eSGunnar Mills                "Oem": {
33*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/OemActions",
34*f2a8e57eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
35*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
36*f2a8e57eSGunnar Mills                }
37*f2a8e57eSGunnar Mills            },
38*f2a8e57eSGunnar Mills            "type": "object"
39*f2a8e57eSGunnar Mills        },
40*f2a8e57eSGunnar Mills        "CXL": {
41*f2a8e57eSGunnar Mills            "additionalProperties": false,
42*f2a8e57eSGunnar Mills            "description": "CXL properties for a port.",
43*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain CXL-specific properties for a port.",
44*f2a8e57eSGunnar Mills            "patternProperties": {
45*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
46*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
47*f2a8e57eSGunnar Mills                    "type": [
48*f2a8e57eSGunnar Mills                        "array",
49*f2a8e57eSGunnar Mills                        "boolean",
50*f2a8e57eSGunnar Mills                        "integer",
51*f2a8e57eSGunnar Mills                        "number",
52*f2a8e57eSGunnar Mills                        "null",
53*f2a8e57eSGunnar Mills                        "object",
54*f2a8e57eSGunnar Mills                        "string"
55*f2a8e57eSGunnar Mills                    ]
56*f2a8e57eSGunnar Mills                }
57*f2a8e57eSGunnar Mills            },
58*f2a8e57eSGunnar Mills            "properties": {
59*f2a8e57eSGunnar Mills                "Congestion": {
60*f2a8e57eSGunnar Mills                    "anyOf": [
61*f2a8e57eSGunnar Mills                        {
62*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/Congestion"
63*f2a8e57eSGunnar Mills                        },
64*f2a8e57eSGunnar Mills                        {
65*f2a8e57eSGunnar Mills                            "type": "null"
66*f2a8e57eSGunnar Mills                        }
67*f2a8e57eSGunnar Mills                    ],
68*f2a8e57eSGunnar Mills                    "description": "The congestion properties for this CXL port.",
69*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the congestion properties for this CXL port.",
70*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
71*f2a8e57eSGunnar Mills                },
72*f2a8e57eSGunnar Mills                "ConnectedDeviceMode": {
73*f2a8e57eSGunnar Mills                    "anyOf": [
74*f2a8e57eSGunnar Mills                        {
75*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/ConnectedDeviceMode"
76*f2a8e57eSGunnar Mills                        },
77*f2a8e57eSGunnar Mills                        {
78*f2a8e57eSGunnar Mills                            "type": "null"
79*f2a8e57eSGunnar Mills                        }
80*f2a8e57eSGunnar Mills                    ],
81*f2a8e57eSGunnar Mills                    "description": "The connected device mode.",
82*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Connected Device Mode'.",
83*f2a8e57eSGunnar Mills                    "readonly": true,
84*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
85*f2a8e57eSGunnar Mills                },
86*f2a8e57eSGunnar Mills                "ConnectedDeviceType": {
87*f2a8e57eSGunnar Mills                    "anyOf": [
88*f2a8e57eSGunnar Mills                        {
89*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/ConnectedDeviceType"
90*f2a8e57eSGunnar Mills                        },
91*f2a8e57eSGunnar Mills                        {
92*f2a8e57eSGunnar Mills                            "type": "null"
93*f2a8e57eSGunnar Mills                        }
94*f2a8e57eSGunnar Mills                    ],
95*f2a8e57eSGunnar Mills                    "description": "The connected device type.",
96*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Connected Device Type'.",
97*f2a8e57eSGunnar Mills                    "readonly": true,
98*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
99*f2a8e57eSGunnar Mills                },
100*f2a8e57eSGunnar Mills                "CurrentPortConfigurationState": {
101*f2a8e57eSGunnar Mills                    "anyOf": [
102*f2a8e57eSGunnar Mills                        {
103*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/CurrentPortConfigurationState"
104*f2a8e57eSGunnar Mills                        },
105*f2a8e57eSGunnar Mills                        {
106*f2a8e57eSGunnar Mills                            "type": "null"
107*f2a8e57eSGunnar Mills                        }
108*f2a8e57eSGunnar Mills                    ],
109*f2a8e57eSGunnar Mills                    "description": "The current port configuration state.",
110*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Current Port Configuration State'.",
111*f2a8e57eSGunnar Mills                    "readonly": true,
112*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
113*f2a8e57eSGunnar Mills                },
114*f2a8e57eSGunnar Mills                "MaxLogicalDeviceCount": {
115*f2a8e57eSGunnar Mills                    "description": "The maximum number of logical devices supported.",
116*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Supported LD Count'.",
117*f2a8e57eSGunnar Mills                    "readonly": true,
118*f2a8e57eSGunnar Mills                    "type": [
119*f2a8e57eSGunnar Mills                        "integer",
120*f2a8e57eSGunnar Mills                        "null"
121*f2a8e57eSGunnar Mills                    ],
122*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
123*f2a8e57eSGunnar Mills                },
124*f2a8e57eSGunnar Mills                "QoSTelemetryCapabilities": {
125*f2a8e57eSGunnar Mills                    "anyOf": [
126*f2a8e57eSGunnar Mills                        {
127*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/QoSTelemetryCapabilities"
128*f2a8e57eSGunnar Mills                        },
129*f2a8e57eSGunnar Mills                        {
130*f2a8e57eSGunnar Mills                            "type": "null"
131*f2a8e57eSGunnar Mills                        }
132*f2a8e57eSGunnar Mills                    ],
133*f2a8e57eSGunnar Mills                    "description": "The quality of service telemetry capabilities for this CXL port.",
134*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the quality of service telemetry capabilities for this CXL port.",
135*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
136*f2a8e57eSGunnar Mills                },
137*f2a8e57eSGunnar Mills                "SupportedCXLModes": {
138*f2a8e57eSGunnar Mills                    "description": "The supported device modes.",
139*f2a8e57eSGunnar Mills                    "items": {
140*f2a8e57eSGunnar Mills                        "anyOf": [
141*f2a8e57eSGunnar Mills                            {
142*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/ConnectedDeviceMode"
143*f2a8e57eSGunnar Mills                            },
144*f2a8e57eSGunnar Mills                            {
145*f2a8e57eSGunnar Mills                                "type": "null"
146*f2a8e57eSGunnar Mills                            }
147*f2a8e57eSGunnar Mills                        ]
148*f2a8e57eSGunnar Mills                    },
149*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Supported CXL Modes'.  This property shall not contain the value `Disconnected`.",
150*f2a8e57eSGunnar Mills                    "readonly": true,
151*f2a8e57eSGunnar Mills                    "type": "array",
152*f2a8e57eSGunnar Mills                    "versionAdded": "v1_11_0"
153*f2a8e57eSGunnar Mills                },
154*f2a8e57eSGunnar Mills                "TemporaryThroughputReductionEnabled": {
155*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `TemporaryThroughputReductionEnabled` in `PCIeDevice`.",
156*f2a8e57eSGunnar Mills                    "description": "Indicates whether temporary throughput reduction is enabled.",
157*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the CXL Specification-defined 'Temporary Throughput Reduction' mechanism is enabled.",
158*f2a8e57eSGunnar Mills                    "readonly": false,
159*f2a8e57eSGunnar Mills                    "type": [
160*f2a8e57eSGunnar Mills                        "boolean",
161*f2a8e57eSGunnar Mills                        "null"
162*f2a8e57eSGunnar Mills                    ],
163*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0",
164*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_12_0"
165*f2a8e57eSGunnar Mills                }
166*f2a8e57eSGunnar Mills            },
167*f2a8e57eSGunnar Mills            "type": "object"
168*f2a8e57eSGunnar Mills        },
169*f2a8e57eSGunnar Mills        "ConfiguredNetworkLink": {
170*f2a8e57eSGunnar Mills            "additionalProperties": false,
171*f2a8e57eSGunnar Mills            "description": "A set of link settings that a port is configured to use for autonegotiation.",
172*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain a set of link settings that a port is configured to use for autonegotiation.",
173*f2a8e57eSGunnar Mills            "patternProperties": {
174*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
175*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
176*f2a8e57eSGunnar Mills                    "type": [
177*f2a8e57eSGunnar Mills                        "array",
178*f2a8e57eSGunnar Mills                        "boolean",
179*f2a8e57eSGunnar Mills                        "integer",
180*f2a8e57eSGunnar Mills                        "number",
181*f2a8e57eSGunnar Mills                        "null",
182*f2a8e57eSGunnar Mills                        "object",
183*f2a8e57eSGunnar Mills                        "string"
184*f2a8e57eSGunnar Mills                    ]
185*f2a8e57eSGunnar Mills                }
186*f2a8e57eSGunnar Mills            },
187*f2a8e57eSGunnar Mills            "properties": {
188*f2a8e57eSGunnar Mills                "ConfiguredLinkSpeedGbps": {
189*f2a8e57eSGunnar Mills                    "description": "The link speed per lane this port is configured to use for autonegotiation.",
190*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the network link speed per lane this port is configured to allow for autonegotiation purposes.  This value includes overhead associated with the protocol.",
191*f2a8e57eSGunnar Mills                    "readonly": false,
192*f2a8e57eSGunnar Mills                    "type": [
193*f2a8e57eSGunnar Mills                        "number",
194*f2a8e57eSGunnar Mills                        "null"
195*f2a8e57eSGunnar Mills                    ],
196*f2a8e57eSGunnar Mills                    "units": "Gbit/s",
197*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
198*f2a8e57eSGunnar Mills                },
199*f2a8e57eSGunnar Mills                "ConfiguredWidth": {
200*f2a8e57eSGunnar Mills                    "description": "The link width this port is configured to use for autonegotiation in conjunction with the link speed.",
201*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the network link width this port is configured to use for autonegotiation purposes.",
202*f2a8e57eSGunnar Mills                    "readonly": false,
203*f2a8e57eSGunnar Mills                    "type": [
204*f2a8e57eSGunnar Mills                        "integer",
205*f2a8e57eSGunnar Mills                        "null"
206*f2a8e57eSGunnar Mills                    ],
207*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
208*f2a8e57eSGunnar Mills                }
209*f2a8e57eSGunnar Mills            },
210*f2a8e57eSGunnar Mills            "type": "object"
211*f2a8e57eSGunnar Mills        },
212*f2a8e57eSGunnar Mills        "Congestion": {
213*f2a8e57eSGunnar Mills            "additionalProperties": false,
214*f2a8e57eSGunnar Mills            "description": "The congestion properties for a CXL port.",
215*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the congestion properties for a CXL port.",
216*f2a8e57eSGunnar Mills            "patternProperties": {
217*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
218*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
219*f2a8e57eSGunnar Mills                    "type": [
220*f2a8e57eSGunnar Mills                        "array",
221*f2a8e57eSGunnar Mills                        "boolean",
222*f2a8e57eSGunnar Mills                        "integer",
223*f2a8e57eSGunnar Mills                        "number",
224*f2a8e57eSGunnar Mills                        "null",
225*f2a8e57eSGunnar Mills                        "object",
226*f2a8e57eSGunnar Mills                        "string"
227*f2a8e57eSGunnar Mills                    ]
228*f2a8e57eSGunnar Mills                }
229*f2a8e57eSGunnar Mills            },
230*f2a8e57eSGunnar Mills            "properties": {
231*f2a8e57eSGunnar Mills                "BackpressureSampleInterval": {
232*f2a8e57eSGunnar Mills                    "description": "The interval for the CXL Specification-defined 'Egress Port Congestion' mechanism to take samples in nanoseconds.",
233*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Backpressure Sample Interval' in nanoseconds.",
234*f2a8e57eSGunnar Mills                    "readonly": false,
235*f2a8e57eSGunnar Mills                    "type": [
236*f2a8e57eSGunnar Mills                        "integer",
237*f2a8e57eSGunnar Mills                        "null"
238*f2a8e57eSGunnar Mills                    ],
239*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
240*f2a8e57eSGunnar Mills                },
241*f2a8e57eSGunnar Mills                "CompletionCollectionInterval": {
242*f2a8e57eSGunnar Mills                    "description": "The interval for the CXL Specification-defined 'Completion Counting' mechanism to collect the number of transmitted responses in a single counter in nanoseconds.",
243*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Completion Collection Interval' in nanoseconds.",
244*f2a8e57eSGunnar Mills                    "readonly": false,
245*f2a8e57eSGunnar Mills                    "type": [
246*f2a8e57eSGunnar Mills                        "integer",
247*f2a8e57eSGunnar Mills                        "null"
248*f2a8e57eSGunnar Mills                    ],
249*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
250*f2a8e57eSGunnar Mills                },
251*f2a8e57eSGunnar Mills                "CongestionTelemetryEnabled": {
252*f2a8e57eSGunnar Mills                    "description": "Indicates whether congestion telemetry collection is enabled for this port.",
253*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether congestion telemetry collection is enabled for this port.",
254*f2a8e57eSGunnar Mills                    "readonly": false,
255*f2a8e57eSGunnar Mills                    "type": [
256*f2a8e57eSGunnar Mills                        "boolean",
257*f2a8e57eSGunnar Mills                        "null"
258*f2a8e57eSGunnar Mills                    ],
259*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
260*f2a8e57eSGunnar Mills                },
261*f2a8e57eSGunnar Mills                "EgressModeratePercentage": {
262*f2a8e57eSGunnar Mills                    "description": "The threshold for moderate egress port congestion as a percentage.",
263*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the threshold for moderate egress port congestion for the CXL Specification-defined 'Egress Port Congestion' mechanism as a percentage, `0` to `100`.",
264*f2a8e57eSGunnar Mills                    "maximum": 100,
265*f2a8e57eSGunnar Mills                    "minimum": 0,
266*f2a8e57eSGunnar Mills                    "readonly": false,
267*f2a8e57eSGunnar Mills                    "type": [
268*f2a8e57eSGunnar Mills                        "integer",
269*f2a8e57eSGunnar Mills                        "null"
270*f2a8e57eSGunnar Mills                    ],
271*f2a8e57eSGunnar Mills                    "units": "%",
272*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
273*f2a8e57eSGunnar Mills                },
274*f2a8e57eSGunnar Mills                "EgressSeverePercentage": {
275*f2a8e57eSGunnar Mills                    "description": "The threshold for severe egress port congestion as a percentage.",
276*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'Egress Severe Percentage' as a percentage, `0` to `100`.",
277*f2a8e57eSGunnar Mills                    "maximum": 100,
278*f2a8e57eSGunnar Mills                    "minimum": 0,
279*f2a8e57eSGunnar Mills                    "readonly": false,
280*f2a8e57eSGunnar Mills                    "type": [
281*f2a8e57eSGunnar Mills                        "integer",
282*f2a8e57eSGunnar Mills                        "null"
283*f2a8e57eSGunnar Mills                    ],
284*f2a8e57eSGunnar Mills                    "units": "%",
285*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
286*f2a8e57eSGunnar Mills                },
287*f2a8e57eSGunnar Mills                "MaxSustainedRequestCmpBias": {
288*f2a8e57eSGunnar Mills                    "description": "The estimated maximum sustained sum of requests and recent responses across the entire device, serving as the basis for the CXL Specification-defined 'QoS Limit Fraction'.",
289*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the CXL Specification-defined 'ReqCmpBasis'.",
290*f2a8e57eSGunnar Mills                    "readonly": false,
291*f2a8e57eSGunnar Mills                    "type": [
292*f2a8e57eSGunnar Mills                        "integer",
293*f2a8e57eSGunnar Mills                        "null"
294*f2a8e57eSGunnar Mills                    ],
295*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
296*f2a8e57eSGunnar Mills                }
297*f2a8e57eSGunnar Mills            },
298*f2a8e57eSGunnar Mills            "type": "object"
299*f2a8e57eSGunnar Mills        },
300*f2a8e57eSGunnar Mills        "ConnectedDeviceMode": {
301*f2a8e57eSGunnar Mills            "enum": [
302*f2a8e57eSGunnar Mills                "Disconnected",
303*f2a8e57eSGunnar Mills                "RCD",
304*f2a8e57eSGunnar Mills                "CXL68BFlitAndVH",
305*f2a8e57eSGunnar Mills                "Standard256BFlit",
306*f2a8e57eSGunnar Mills                "CXLLatencyOptimized256BFlit",
307*f2a8e57eSGunnar Mills                "PBR"
308*f2a8e57eSGunnar Mills            ],
309*f2a8e57eSGunnar Mills            "enumDescriptions": {
310*f2a8e57eSGunnar Mills                "CXL68BFlitAndVH": "CXL 68B flit and VH.",
311*f2a8e57eSGunnar Mills                "CXLLatencyOptimized256BFlit": "CXL latency-optimized 256B flit.",
312*f2a8e57eSGunnar Mills                "Disconnected": "The connection is not CXL or is disconnected.",
313*f2a8e57eSGunnar Mills                "PBR": "Port-based routing (PBR).",
314*f2a8e57eSGunnar Mills                "RCD": "Restricted CXL device (RCD).",
315*f2a8e57eSGunnar Mills                "Standard256BFlit": "Standard 256B flit."
316*f2a8e57eSGunnar Mills            },
317*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
318*f2a8e57eSGunnar Mills                "CXL68BFlitAndVH": "This value shall indicate the connected device mode is CXL 68B flit and VH.",
319*f2a8e57eSGunnar Mills                "CXLLatencyOptimized256BFlit": "This value shall indicate the connected device mode is CXL latency-optimized 256B flit.",
320*f2a8e57eSGunnar Mills                "Disconnected": "This value shall indicate the connection is not CXL or is disconnected.",
321*f2a8e57eSGunnar Mills                "PBR": "This value shall indicate the connected device mode is port-based routing (PBR).",
322*f2a8e57eSGunnar Mills                "RCD": "This value shall indicate the connected device mode is restricted CXL device (RCD).",
323*f2a8e57eSGunnar Mills                "Standard256BFlit": "This value shall indicate the connected device mode is standard 256B flit."
324*f2a8e57eSGunnar Mills            },
325*f2a8e57eSGunnar Mills            "type": "string"
326*f2a8e57eSGunnar Mills        },
327*f2a8e57eSGunnar Mills        "ConnectedDeviceType": {
328*f2a8e57eSGunnar Mills            "enum": [
329*f2a8e57eSGunnar Mills                "None",
330*f2a8e57eSGunnar Mills                "PCIeDevice",
331*f2a8e57eSGunnar Mills                "Type1",
332*f2a8e57eSGunnar Mills                "Type2",
333*f2a8e57eSGunnar Mills                "Type3SLD",
334*f2a8e57eSGunnar Mills                "Type3MLD"
335*f2a8e57eSGunnar Mills            ],
336*f2a8e57eSGunnar Mills            "enumDescriptions": {
337*f2a8e57eSGunnar Mills                "None": "No device detected.",
338*f2a8e57eSGunnar Mills                "PCIeDevice": "PCIe device.",
339*f2a8e57eSGunnar Mills                "Type1": "CXL Type 1 device.",
340*f2a8e57eSGunnar Mills                "Type2": "CXL Type 2 device.",
341*f2a8e57eSGunnar Mills                "Type3MLD": "CXL Type 3 multi-logical device (MLD).",
342*f2a8e57eSGunnar Mills                "Type3SLD": "CXL Type 3 single logical device (SLD)."
343*f2a8e57eSGunnar Mills            },
344*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
345*f2a8e57eSGunnar Mills                "None": "This value shall indicate no device is detected.",
346*f2a8e57eSGunnar Mills                "PCIeDevice": "This value shall indicate the connected device is a PCIe device.",
347*f2a8e57eSGunnar Mills                "Type1": "This value shall indicate the connected device is a CXL Type 1 device.",
348*f2a8e57eSGunnar Mills                "Type2": "This value shall indicate the connected device is a CXL Type 2 device.",
349*f2a8e57eSGunnar Mills                "Type3MLD": "This value shall indicate the connected device is a CXL Type 3 multi-logical device (MLD).",
350*f2a8e57eSGunnar Mills                "Type3SLD": "This value shall indicate the connected device is a CXL Type 3 single logical device (SLD)."
351*f2a8e57eSGunnar Mills            },
352*f2a8e57eSGunnar Mills            "type": "string"
353*f2a8e57eSGunnar Mills        },
354*f2a8e57eSGunnar Mills        "CurrentPortConfigurationState": {
355*f2a8e57eSGunnar Mills            "enum": [
356*f2a8e57eSGunnar Mills                "Disabled",
357*f2a8e57eSGunnar Mills                "BindInProgress",
358*f2a8e57eSGunnar Mills                "UnbindInProgress",
359*f2a8e57eSGunnar Mills                "DSP",
360*f2a8e57eSGunnar Mills                "USP",
361*f2a8e57eSGunnar Mills                "Reserved",
362*f2a8e57eSGunnar Mills                "FabricLink"
363*f2a8e57eSGunnar Mills            ],
364*f2a8e57eSGunnar Mills            "enumDeprecated": {
365*f2a8e57eSGunnar Mills                "Reserved": "This value has been deprecated in favor of `FabricLink`."
366*f2a8e57eSGunnar Mills            },
367*f2a8e57eSGunnar Mills            "enumDescriptions": {
368*f2a8e57eSGunnar Mills                "BindInProgress": "Bind in progress.",
369*f2a8e57eSGunnar Mills                "DSP": "Downstream port (DSP).",
370*f2a8e57eSGunnar Mills                "Disabled": "Disabled.",
371*f2a8e57eSGunnar Mills                "FabricLink": "Fabric link.",
372*f2a8e57eSGunnar Mills                "Reserved": "Reserved.",
373*f2a8e57eSGunnar Mills                "USP": "Upstream port (USP).",
374*f2a8e57eSGunnar Mills                "UnbindInProgress": "Unbind in progress."
375*f2a8e57eSGunnar Mills            },
376*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
377*f2a8e57eSGunnar Mills                "BindInProgress": "This value shall indicate a bind is in progress for the port.",
378*f2a8e57eSGunnar Mills                "DSP": "This value shall indicate the port is enabled as a downstream port (DSP).",
379*f2a8e57eSGunnar Mills                "Disabled": "This value shall indicate the port is disabled.",
380*f2a8e57eSGunnar Mills                "FabricLink": "This value shall indicate the port is enabled as a fabric link to another switch.",
381*f2a8e57eSGunnar Mills                "Reserved": "This value shall indicate the port is in a reserved state.",
382*f2a8e57eSGunnar Mills                "USP": "This value shall indicate the port is enabled as an upstream port (USP).",
383*f2a8e57eSGunnar Mills                "UnbindInProgress": "This value shall indicate an unbind is in progress for the port."
384*f2a8e57eSGunnar Mills            },
385*f2a8e57eSGunnar Mills            "enumVersionAdded": {
386*f2a8e57eSGunnar Mills                "FabricLink": "v1_11_0"
387*f2a8e57eSGunnar Mills            },
388*f2a8e57eSGunnar Mills            "enumVersionDeprecated": {
389*f2a8e57eSGunnar Mills                "Reserved": "v1_11_0"
390*f2a8e57eSGunnar Mills            },
391*f2a8e57eSGunnar Mills            "type": "string"
392*f2a8e57eSGunnar Mills        },
393*f2a8e57eSGunnar Mills        "EthernetProperties": {
394*f2a8e57eSGunnar Mills            "additionalProperties": false,
395*f2a8e57eSGunnar Mills            "description": "Ethernet-specific properties for a port.",
396*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain Ethernet-specific properties for a port.",
397*f2a8e57eSGunnar Mills            "patternProperties": {
398*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
399*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
400*f2a8e57eSGunnar Mills                    "type": [
401*f2a8e57eSGunnar Mills                        "array",
402*f2a8e57eSGunnar Mills                        "boolean",
403*f2a8e57eSGunnar Mills                        "integer",
404*f2a8e57eSGunnar Mills                        "number",
405*f2a8e57eSGunnar Mills                        "null",
406*f2a8e57eSGunnar Mills                        "object",
407*f2a8e57eSGunnar Mills                        "string"
408*f2a8e57eSGunnar Mills                    ]
409*f2a8e57eSGunnar Mills                }
410*f2a8e57eSGunnar Mills            },
411*f2a8e57eSGunnar Mills            "properties": {
412*f2a8e57eSGunnar Mills                "AssociatedMACAddresses": {
413*f2a8e57eSGunnar Mills                    "description": "An array of configured MAC addresses that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
414*f2a8e57eSGunnar Mills                    "items": {
415*f2a8e57eSGunnar Mills                        "type": [
416*f2a8e57eSGunnar Mills                            "string",
417*f2a8e57eSGunnar Mills                            "null"
418*f2a8e57eSGunnar Mills                        ]
419*f2a8e57eSGunnar Mills                    },
420*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of configured MAC addresses that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
421*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
422*f2a8e57eSGunnar Mills                    "readonly": true,
423*f2a8e57eSGunnar Mills                    "type": "array",
424*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
425*f2a8e57eSGunnar Mills                },
426*f2a8e57eSGunnar Mills                "EEEEnabled": {
427*f2a8e57eSGunnar Mills                    "description": "Indicates whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.",
428*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.",
429*f2a8e57eSGunnar Mills                    "readonly": false,
430*f2a8e57eSGunnar Mills                    "type": [
431*f2a8e57eSGunnar Mills                        "boolean",
432*f2a8e57eSGunnar Mills                        "null"
433*f2a8e57eSGunnar Mills                    ],
434*f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
435*f2a8e57eSGunnar Mills                },
436*f2a8e57eSGunnar Mills                "FlowControlConfiguration": {
437*f2a8e57eSGunnar Mills                    "anyOf": [
438*f2a8e57eSGunnar Mills                        {
439*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/FlowControl"
440*f2a8e57eSGunnar Mills                        },
441*f2a8e57eSGunnar Mills                        {
442*f2a8e57eSGunnar Mills                            "type": "null"
443*f2a8e57eSGunnar Mills                        }
444*f2a8e57eSGunnar Mills                    ],
445*f2a8e57eSGunnar Mills                    "description": "The locally configured 802.3x flow control setting for this port.",
446*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the locally configured 802.3x flow control setting for this port.",
447*f2a8e57eSGunnar Mills                    "readonly": false,
448*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
449*f2a8e57eSGunnar Mills                },
450*f2a8e57eSGunnar Mills                "FlowControlStatus": {
451*f2a8e57eSGunnar Mills                    "anyOf": [
452*f2a8e57eSGunnar Mills                        {
453*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/FlowControl"
454*f2a8e57eSGunnar Mills                        },
455*f2a8e57eSGunnar Mills                        {
456*f2a8e57eSGunnar Mills                            "type": "null"
457*f2a8e57eSGunnar Mills                        }
458*f2a8e57eSGunnar Mills                    ],
459*f2a8e57eSGunnar Mills                    "description": "The 802.3x flow control behavior negotiated with the link partner for this port.",
460*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the 802.3x flow control behavior negotiated with the link partner for this port.",
461*f2a8e57eSGunnar Mills                    "readonly": true,
462*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
463*f2a8e57eSGunnar Mills                },
464*f2a8e57eSGunnar Mills                "LLDPEnabled": {
465*f2a8e57eSGunnar Mills                    "description": "Enable/disable LLDP for this port.",
466*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the state indicating whether to enable LLDP for a port.  If LLDP is disabled at the adapter level, this property shall be ignored.",
467*f2a8e57eSGunnar Mills                    "readonly": false,
468*f2a8e57eSGunnar Mills                    "type": "boolean",
469*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
470*f2a8e57eSGunnar Mills                },
471*f2a8e57eSGunnar Mills                "LLDPReceive": {
472*f2a8e57eSGunnar Mills                    "anyOf": [
473*f2a8e57eSGunnar Mills                        {
474*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/LLDPReceive"
475*f2a8e57eSGunnar Mills                        },
476*f2a8e57eSGunnar Mills                        {
477*f2a8e57eSGunnar Mills                            "type": "null"
478*f2a8e57eSGunnar Mills                        }
479*f2a8e57eSGunnar Mills                    ],
480*f2a8e57eSGunnar Mills                    "description": "LLDP data being received on this link.",
481*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the LLDP data being received on this link.",
482*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
483*f2a8e57eSGunnar Mills                },
484*f2a8e57eSGunnar Mills                "LLDPTransmit": {
485*f2a8e57eSGunnar Mills                    "anyOf": [
486*f2a8e57eSGunnar Mills                        {
487*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/LLDPTransmit"
488*f2a8e57eSGunnar Mills                        },
489*f2a8e57eSGunnar Mills                        {
490*f2a8e57eSGunnar Mills                            "type": "null"
491*f2a8e57eSGunnar Mills                        }
492*f2a8e57eSGunnar Mills                    ],
493*f2a8e57eSGunnar Mills                    "description": "LLDP data being transmitted on this link.",
494*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the LLDP data being transmitted on this link.",
495*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
496*f2a8e57eSGunnar Mills                },
497*f2a8e57eSGunnar Mills                "SupportedEthernetCapabilities": {
498*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of individual fields for the various properties.",
499*f2a8e57eSGunnar Mills                    "description": "The set of Ethernet capabilities that this port supports.",
500*f2a8e57eSGunnar Mills                    "items": {
501*f2a8e57eSGunnar Mills                        "anyOf": [
502*f2a8e57eSGunnar Mills                            {
503*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/SupportedEthernetCapabilities"
504*f2a8e57eSGunnar Mills                            },
505*f2a8e57eSGunnar Mills                            {
506*f2a8e57eSGunnar Mills                                "type": "null"
507*f2a8e57eSGunnar Mills                            }
508*f2a8e57eSGunnar Mills                        ]
509*f2a8e57eSGunnar Mills                    },
510*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of Ethernet capabilities supported by this port.",
511*f2a8e57eSGunnar Mills                    "readonly": true,
512*f2a8e57eSGunnar Mills                    "type": "array",
513*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0",
514*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_5_0"
515*f2a8e57eSGunnar Mills                },
516*f2a8e57eSGunnar Mills                "WakeOnLANEnabled": {
517*f2a8e57eSGunnar Mills                    "description": "Indicates whether Wake on LAN (WoL) is enabled on this port.",
518*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether Wake on LAN (WoL) is enabled on this port.",
519*f2a8e57eSGunnar Mills                    "readonly": false,
520*f2a8e57eSGunnar Mills                    "type": [
521*f2a8e57eSGunnar Mills                        "boolean",
522*f2a8e57eSGunnar Mills                        "null"
523*f2a8e57eSGunnar Mills                    ],
524*f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
525*f2a8e57eSGunnar Mills                }
526*f2a8e57eSGunnar Mills            },
527*f2a8e57eSGunnar Mills            "type": "object"
528*f2a8e57eSGunnar Mills        },
529*f2a8e57eSGunnar Mills        "FiberConnectionType": {
530*f2a8e57eSGunnar Mills            "enum": [
531*f2a8e57eSGunnar Mills                "SingleMode",
532*f2a8e57eSGunnar Mills                "MultiMode"
533*f2a8e57eSGunnar Mills            ],
534*f2a8e57eSGunnar Mills            "enumDescriptions": {
535*f2a8e57eSGunnar Mills                "MultiMode": "The connection is using multi mode operation.",
536*f2a8e57eSGunnar Mills                "SingleMode": "The connection is using single mode operation."
537*f2a8e57eSGunnar Mills            },
538*f2a8e57eSGunnar Mills            "type": "string"
539*f2a8e57eSGunnar Mills        },
540*f2a8e57eSGunnar Mills        "FibreChannelProperties": {
541*f2a8e57eSGunnar Mills            "additionalProperties": false,
542*f2a8e57eSGunnar Mills            "description": "Fibre Channel-specific properties for a port.",
543*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain Fibre Channel-specific properties for a port.",
544*f2a8e57eSGunnar Mills            "patternProperties": {
545*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
546*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
547*f2a8e57eSGunnar Mills                    "type": [
548*f2a8e57eSGunnar Mills                        "array",
549*f2a8e57eSGunnar Mills                        "boolean",
550*f2a8e57eSGunnar Mills                        "integer",
551*f2a8e57eSGunnar Mills                        "number",
552*f2a8e57eSGunnar Mills                        "null",
553*f2a8e57eSGunnar Mills                        "object",
554*f2a8e57eSGunnar Mills                        "string"
555*f2a8e57eSGunnar Mills                    ]
556*f2a8e57eSGunnar Mills                }
557*f2a8e57eSGunnar Mills            },
558*f2a8e57eSGunnar Mills            "properties": {
559*f2a8e57eSGunnar Mills                "AssociatedWorldWideNames": {
560*f2a8e57eSGunnar Mills                    "description": "An array of configured World Wide Names (WWN) that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
561*f2a8e57eSGunnar Mills                    "items": {
562*f2a8e57eSGunnar Mills                        "type": [
563*f2a8e57eSGunnar Mills                            "string",
564*f2a8e57eSGunnar Mills                            "null"
565*f2a8e57eSGunnar Mills                        ]
566*f2a8e57eSGunnar Mills                    },
567*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of configured World Wide Names (WWN) that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
568*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$",
569*f2a8e57eSGunnar Mills                    "readonly": true,
570*f2a8e57eSGunnar Mills                    "type": "array",
571*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
572*f2a8e57eSGunnar Mills                },
573*f2a8e57eSGunnar Mills                "FabricName": {
574*f2a8e57eSGunnar Mills                    "description": "The Fibre Channel Fabric Name provided by the switch.",
575*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the Fibre Channel Fabric Name provided by the switch.",
576*f2a8e57eSGunnar Mills                    "readonly": true,
577*f2a8e57eSGunnar Mills                    "type": [
578*f2a8e57eSGunnar Mills                        "string",
579*f2a8e57eSGunnar Mills                        "null"
580*f2a8e57eSGunnar Mills                    ],
581*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
582*f2a8e57eSGunnar Mills                },
583*f2a8e57eSGunnar Mills                "NumberDiscoveredRemotePorts": {
584*f2a8e57eSGunnar Mills                    "description": "The number of ports not on the associated device that the associated device has discovered through this port.",
585*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the number of ports not on this associated device that this port has discovered.",
586*f2a8e57eSGunnar Mills                    "readonly": true,
587*f2a8e57eSGunnar Mills                    "type": [
588*f2a8e57eSGunnar Mills                        "integer",
589*f2a8e57eSGunnar Mills                        "null"
590*f2a8e57eSGunnar Mills                    ],
591*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
592*f2a8e57eSGunnar Mills                },
593*f2a8e57eSGunnar Mills                "PortConnectionType": {
594*f2a8e57eSGunnar Mills                    "anyOf": [
595*f2a8e57eSGunnar Mills                        {
596*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/PortConnectionType"
597*f2a8e57eSGunnar Mills                        },
598*f2a8e57eSGunnar Mills                        {
599*f2a8e57eSGunnar Mills                            "type": "null"
600*f2a8e57eSGunnar Mills                        }
601*f2a8e57eSGunnar Mills                    ],
602*f2a8e57eSGunnar Mills                    "description": "The connection type of this port.",
603*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the connection type for this port.",
604*f2a8e57eSGunnar Mills                    "readonly": true,
605*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
606*f2a8e57eSGunnar Mills                }
607*f2a8e57eSGunnar Mills            },
608*f2a8e57eSGunnar Mills            "type": "object"
609*f2a8e57eSGunnar Mills        },
610*f2a8e57eSGunnar Mills        "FlowControl": {
611*f2a8e57eSGunnar Mills            "enum": [
612*f2a8e57eSGunnar Mills                "None",
613*f2a8e57eSGunnar Mills                "TX",
614*f2a8e57eSGunnar Mills                "RX",
615*f2a8e57eSGunnar Mills                "TX_RX"
616*f2a8e57eSGunnar Mills            ],
617*f2a8e57eSGunnar Mills            "enumDescriptions": {
618*f2a8e57eSGunnar Mills                "None": "No IEEE 802.3x flow control is enabled on this port.",
619*f2a8e57eSGunnar Mills                "RX": "IEEE 802.3x flow control might be initiated by the link partner.",
620*f2a8e57eSGunnar Mills                "TX": "IEEE 802.3x flow control might be initiated by this station.",
621*f2a8e57eSGunnar Mills                "TX_RX": "IEEE 802.3x flow control might be initiated by this station or the link partner."
622*f2a8e57eSGunnar Mills            },
623*f2a8e57eSGunnar Mills            "type": "string"
624*f2a8e57eSGunnar Mills        },
625*f2a8e57eSGunnar Mills        "FunctionMaxBandwidth": {
626*f2a8e57eSGunnar Mills            "additionalProperties": false,
627*f2a8e57eSGunnar Mills            "description": "A maximum bandwidth allocation percentage for a network device functions associated with a port.",
628*f2a8e57eSGunnar Mills            "longDescription": "This type shall describe a maximum bandwidth percentage allocation for a network device function associated with a port.",
629*f2a8e57eSGunnar Mills            "patternProperties": {
630*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
631*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
632*f2a8e57eSGunnar Mills                    "type": [
633*f2a8e57eSGunnar Mills                        "array",
634*f2a8e57eSGunnar Mills                        "boolean",
635*f2a8e57eSGunnar Mills                        "integer",
636*f2a8e57eSGunnar Mills                        "number",
637*f2a8e57eSGunnar Mills                        "null",
638*f2a8e57eSGunnar Mills                        "object",
639*f2a8e57eSGunnar Mills                        "string"
640*f2a8e57eSGunnar Mills                    ]
641*f2a8e57eSGunnar Mills                }
642*f2a8e57eSGunnar Mills            },
643*f2a8e57eSGunnar Mills            "properties": {
644*f2a8e57eSGunnar Mills                "AllocationPercent": {
645*f2a8e57eSGunnar Mills                    "description": "The maximum bandwidth allocation percentage allocated to the corresponding network device function instance.",
646*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the maximum bandwidth percentage allocation, `0` to `100`, for the associated network device function.",
647*f2a8e57eSGunnar Mills                    "maximum": 100,
648*f2a8e57eSGunnar Mills                    "minimum": 0,
649*f2a8e57eSGunnar Mills                    "readonly": false,
650*f2a8e57eSGunnar Mills                    "type": [
651*f2a8e57eSGunnar Mills                        "integer",
652*f2a8e57eSGunnar Mills                        "null"
653*f2a8e57eSGunnar Mills                    ],
654*f2a8e57eSGunnar Mills                    "units": "%",
655*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
656*f2a8e57eSGunnar Mills                },
657*f2a8e57eSGunnar Mills                "NetworkDeviceFunction": {
658*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
659*f2a8e57eSGunnar Mills                    "description": "The link to the network device function associated with this bandwidth setting of this network port.",
660*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `NetworkDeviceFunction` that represents the network device function associated with this bandwidth setting of this network port.",
661*f2a8e57eSGunnar Mills                    "readonly": true,
662*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
663*f2a8e57eSGunnar Mills                }
664*f2a8e57eSGunnar Mills            },
665*f2a8e57eSGunnar Mills            "type": "object"
666*f2a8e57eSGunnar Mills        },
667*f2a8e57eSGunnar Mills        "FunctionMinBandwidth": {
668*f2a8e57eSGunnar Mills            "additionalProperties": false,
669*f2a8e57eSGunnar Mills            "description": "A minimum bandwidth allocation percentage for a network device functions associated with a port.",
670*f2a8e57eSGunnar Mills            "longDescription": "This type shall describe a minimum bandwidth percentage allocation for a network device function associated with a port.",
671*f2a8e57eSGunnar Mills            "patternProperties": {
672*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
673*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
674*f2a8e57eSGunnar Mills                    "type": [
675*f2a8e57eSGunnar Mills                        "array",
676*f2a8e57eSGunnar Mills                        "boolean",
677*f2a8e57eSGunnar Mills                        "integer",
678*f2a8e57eSGunnar Mills                        "number",
679*f2a8e57eSGunnar Mills                        "null",
680*f2a8e57eSGunnar Mills                        "object",
681*f2a8e57eSGunnar Mills                        "string"
682*f2a8e57eSGunnar Mills                    ]
683*f2a8e57eSGunnar Mills                }
684*f2a8e57eSGunnar Mills            },
685*f2a8e57eSGunnar Mills            "properties": {
686*f2a8e57eSGunnar Mills                "AllocationPercent": {
687*f2a8e57eSGunnar Mills                    "description": "The minimum bandwidth allocation percentage allocated to the corresponding network device function instance.",
688*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the minimum bandwidth percentage allocation, `0` to `100`, for the associated network device function.  The sum of all minimum percentages shall not exceed `100`.",
689*f2a8e57eSGunnar Mills                    "maximum": 100,
690*f2a8e57eSGunnar Mills                    "minimum": 0,
691*f2a8e57eSGunnar Mills                    "readonly": false,
692*f2a8e57eSGunnar Mills                    "type": [
693*f2a8e57eSGunnar Mills                        "integer",
694*f2a8e57eSGunnar Mills                        "null"
695*f2a8e57eSGunnar Mills                    ],
696*f2a8e57eSGunnar Mills                    "units": "%",
697*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
698*f2a8e57eSGunnar Mills                },
699*f2a8e57eSGunnar Mills                "NetworkDeviceFunction": {
700*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
701*f2a8e57eSGunnar Mills                    "description": "The link to the network device function associated with this bandwidth setting of this network port.",
702*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `NetworkDeviceFunction` that represents the network device function associated with this bandwidth setting of this network port.",
703*f2a8e57eSGunnar Mills                    "readonly": true,
704*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
705*f2a8e57eSGunnar Mills                }
706*f2a8e57eSGunnar Mills            },
707*f2a8e57eSGunnar Mills            "type": "object"
708*f2a8e57eSGunnar Mills        },
709*f2a8e57eSGunnar Mills        "GenZ": {
710*f2a8e57eSGunnar Mills            "additionalProperties": false,
711*f2a8e57eSGunnar Mills            "description": "This type defines Gen-Z specific port properties.",
712*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain Gen-Z specific port properties.",
713*f2a8e57eSGunnar Mills            "patternProperties": {
714*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
715*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
716*f2a8e57eSGunnar Mills                    "type": [
717*f2a8e57eSGunnar Mills                        "array",
718*f2a8e57eSGunnar Mills                        "boolean",
719*f2a8e57eSGunnar Mills                        "integer",
720*f2a8e57eSGunnar Mills                        "number",
721*f2a8e57eSGunnar Mills                        "null",
722*f2a8e57eSGunnar Mills                        "object",
723*f2a8e57eSGunnar Mills                        "string"
724*f2a8e57eSGunnar Mills                    ]
725*f2a8e57eSGunnar Mills                }
726*f2a8e57eSGunnar Mills            },
727*f2a8e57eSGunnar Mills            "properties": {
728*f2a8e57eSGunnar Mills                "LPRT": {
729*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
730*f2a8e57eSGunnar Mills                    "description": "The Linear Packet Relay Table for the port.",
731*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `RouteEntryCollection`, and shall represent the Gen-Z Core Specification-defined Linear Packet Relay Table for this port.",
732*f2a8e57eSGunnar Mills                    "readonly": true,
733*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
734*f2a8e57eSGunnar Mills                },
735*f2a8e57eSGunnar Mills                "MPRT": {
736*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
737*f2a8e57eSGunnar Mills                    "description": "The Multi-subnet Packet Relay Table for the port.",
738*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `RouteEntryCollection`, and shall represent the Gen-Z Core Specification-defined Multi-subnet Packet Relay Table for this port.",
739*f2a8e57eSGunnar Mills                    "readonly": true,
740*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
741*f2a8e57eSGunnar Mills                },
742*f2a8e57eSGunnar Mills                "VCAT": {
743*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/VCATEntryCollection.json#/definitions/VCATEntryCollection",
744*f2a8e57eSGunnar Mills                    "description": "The Virtual Channel Action Table for the port.",
745*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `VCATEntryCollection`.",
746*f2a8e57eSGunnar Mills                    "readonly": true,
747*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
748*f2a8e57eSGunnar Mills                }
749*f2a8e57eSGunnar Mills            },
750*f2a8e57eSGunnar Mills            "type": "object"
751*f2a8e57eSGunnar Mills        },
752*f2a8e57eSGunnar Mills        "IEEE802IdSubtype": {
753*f2a8e57eSGunnar Mills            "enum": [
754*f2a8e57eSGunnar Mills                "ChassisComp",
755*f2a8e57eSGunnar Mills                "IfAlias",
756*f2a8e57eSGunnar Mills                "PortComp",
757*f2a8e57eSGunnar Mills                "MacAddr",
758*f2a8e57eSGunnar Mills                "NetworkAddr",
759*f2a8e57eSGunnar Mills                "IfName",
760*f2a8e57eSGunnar Mills                "AgentId",
761*f2a8e57eSGunnar Mills                "LocalAssign",
762*f2a8e57eSGunnar Mills                "NotTransmitted"
763*f2a8e57eSGunnar Mills            ],
764*f2a8e57eSGunnar Mills            "enumDescriptions": {
765*f2a8e57eSGunnar Mills                "AgentId": "Agent circuit ID, based on the agent-local identifier of the circuit as defined in RFC3046.",
766*f2a8e57eSGunnar Mills                "ChassisComp": "Chassis component, based on the value of entPhysicalAlias in RFC4133.",
767*f2a8e57eSGunnar Mills                "IfAlias": "Interface alias, based on the ifAlias MIB object.",
768*f2a8e57eSGunnar Mills                "IfName": "Interface name, based on the ifName MIB object.",
769*f2a8e57eSGunnar Mills                "LocalAssign": "Locally assigned, based on an alphanumeric value locally assigned.",
770*f2a8e57eSGunnar Mills                "MacAddr": "MAC address, based on an agent-detected unicast source address as defined in IEEE standard 802.",
771*f2a8e57eSGunnar Mills                "NetworkAddr": "Network address, based on an agent-detected network address.",
772*f2a8e57eSGunnar Mills                "NotTransmitted": "No data to be sent to/received from remote partner.",
773*f2a8e57eSGunnar Mills                "PortComp": "Port component, based on the value of entPhysicalAlias in RFC4133."
774*f2a8e57eSGunnar Mills            },
775*f2a8e57eSGunnar Mills            "type": "string"
776*f2a8e57eSGunnar Mills        },
777*f2a8e57eSGunnar Mills        "InfiniBandProperties": {
778*f2a8e57eSGunnar Mills            "additionalProperties": false,
779*f2a8e57eSGunnar Mills            "description": "InfiniBand-specific properties for a port.",
780*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain InfiniBand-specific properties for a port.",
781*f2a8e57eSGunnar Mills            "patternProperties": {
782*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
783*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
784*f2a8e57eSGunnar Mills                    "type": [
785*f2a8e57eSGunnar Mills                        "array",
786*f2a8e57eSGunnar Mills                        "boolean",
787*f2a8e57eSGunnar Mills                        "integer",
788*f2a8e57eSGunnar Mills                        "number",
789*f2a8e57eSGunnar Mills                        "null",
790*f2a8e57eSGunnar Mills                        "object",
791*f2a8e57eSGunnar Mills                        "string"
792*f2a8e57eSGunnar Mills                    ]
793*f2a8e57eSGunnar Mills                }
794*f2a8e57eSGunnar Mills            },
795*f2a8e57eSGunnar Mills            "properties": {
796*f2a8e57eSGunnar Mills                "AssociatedNodeGUIDs": {
797*f2a8e57eSGunnar Mills                    "description": "An array of configured node GUIDs that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
798*f2a8e57eSGunnar Mills                    "items": {
799*f2a8e57eSGunnar Mills                        "type": [
800*f2a8e57eSGunnar Mills                            "string",
801*f2a8e57eSGunnar Mills                            "null"
802*f2a8e57eSGunnar Mills                        ]
803*f2a8e57eSGunnar Mills                    },
804*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of configured node GUIDs that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
805*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
806*f2a8e57eSGunnar Mills                    "readonly": true,
807*f2a8e57eSGunnar Mills                    "type": "array",
808*f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
809*f2a8e57eSGunnar Mills                },
810*f2a8e57eSGunnar Mills                "AssociatedPortGUIDs": {
811*f2a8e57eSGunnar Mills                    "description": "An array of configured port GUIDs that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
812*f2a8e57eSGunnar Mills                    "items": {
813*f2a8e57eSGunnar Mills                        "type": [
814*f2a8e57eSGunnar Mills                            "string",
815*f2a8e57eSGunnar Mills                            "null"
816*f2a8e57eSGunnar Mills                        ]
817*f2a8e57eSGunnar Mills                    },
818*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of configured port GUIDs that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
819*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
820*f2a8e57eSGunnar Mills                    "readonly": true,
821*f2a8e57eSGunnar Mills                    "type": "array",
822*f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
823*f2a8e57eSGunnar Mills                },
824*f2a8e57eSGunnar Mills                "AssociatedSystemGUIDs": {
825*f2a8e57eSGunnar Mills                    "description": "An array of configured system GUIDs that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
826*f2a8e57eSGunnar Mills                    "items": {
827*f2a8e57eSGunnar Mills                        "type": [
828*f2a8e57eSGunnar Mills                            "string",
829*f2a8e57eSGunnar Mills                            "null"
830*f2a8e57eSGunnar Mills                        ]
831*f2a8e57eSGunnar Mills                    },
832*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of configured system GUIDs that are associated with this network port, including the programmed address of the lowest-numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
833*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
834*f2a8e57eSGunnar Mills                    "readonly": true,
835*f2a8e57eSGunnar Mills                    "type": "array",
836*f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
837*f2a8e57eSGunnar Mills                }
838*f2a8e57eSGunnar Mills            },
839*f2a8e57eSGunnar Mills            "type": "object"
840*f2a8e57eSGunnar Mills        },
841*f2a8e57eSGunnar Mills        "LLDPReceive": {
842*f2a8e57eSGunnar Mills            "additionalProperties": false,
843*f2a8e57eSGunnar Mills            "description": "Link Layer Data Protocol (LLDP) data received from the remote partner across this link.",
844*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the LLDP data from the remote partner across this link.",
845*f2a8e57eSGunnar Mills            "patternProperties": {
846*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
847*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
848*f2a8e57eSGunnar Mills                    "type": [
849*f2a8e57eSGunnar Mills                        "array",
850*f2a8e57eSGunnar Mills                        "boolean",
851*f2a8e57eSGunnar Mills                        "integer",
852*f2a8e57eSGunnar Mills                        "number",
853*f2a8e57eSGunnar Mills                        "null",
854*f2a8e57eSGunnar Mills                        "object",
855*f2a8e57eSGunnar Mills                        "string"
856*f2a8e57eSGunnar Mills                    ]
857*f2a8e57eSGunnar Mills                }
858*f2a8e57eSGunnar Mills            },
859*f2a8e57eSGunnar Mills            "properties": {
860*f2a8e57eSGunnar Mills                "ChassisId": {
861*f2a8e57eSGunnar Mills                    "description": "Link Layer Data Protocol (LLDP) chassis ID received from the remote partner across this link.",
862*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the chassis ID received from the remote partner across this link.  If no such chassis ID has been received, this property should not be present.",
863*f2a8e57eSGunnar Mills                    "readonly": true,
864*f2a8e57eSGunnar Mills                    "type": [
865*f2a8e57eSGunnar Mills                        "string",
866*f2a8e57eSGunnar Mills                        "null"
867*f2a8e57eSGunnar Mills                    ],
868*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
869*f2a8e57eSGunnar Mills                },
870*f2a8e57eSGunnar Mills                "ChassisIdSubtype": {
871*f2a8e57eSGunnar Mills                    "anyOf": [
872*f2a8e57eSGunnar Mills                        {
873*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/IEEE802IdSubtype"
874*f2a8e57eSGunnar Mills                        },
875*f2a8e57eSGunnar Mills                        {
876*f2a8e57eSGunnar Mills                            "type": "null"
877*f2a8e57eSGunnar Mills                        }
878*f2a8e57eSGunnar Mills                    ],
879*f2a8e57eSGunnar Mills                    "description": "The type of identifier used for the chassis ID received from the remote partner across this link.",
880*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IEEE 802.1AB-2009 chassis ID subtype received from the remote partner across this link.  If no such chassis ID subtype has been received, this property should not be present.",
881*f2a8e57eSGunnar Mills                    "readonly": true,
882*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
883*f2a8e57eSGunnar Mills                },
884*f2a8e57eSGunnar Mills                "ManagementAddressIPv4": {
885*f2a8e57eSGunnar Mills                    "description": "The IPv4 management address received from the remote partner across this link.",
886*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IPv4 management address received from the remote partner across this link.  If no such management address has been received, this property should not be present.",
887*f2a8e57eSGunnar Mills                    "pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$",
888*f2a8e57eSGunnar Mills                    "readonly": true,
889*f2a8e57eSGunnar Mills                    "type": [
890*f2a8e57eSGunnar Mills                        "string",
891*f2a8e57eSGunnar Mills                        "null"
892*f2a8e57eSGunnar Mills                    ],
893*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
894*f2a8e57eSGunnar Mills                },
895*f2a8e57eSGunnar Mills                "ManagementAddressIPv6": {
896*f2a8e57eSGunnar Mills                    "description": "The IPv6 management address received from the remote partner across this link.",
897*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IPv6 management address received from the remote partner across this link.  If no such management address has been received, this property should not be present.",
898*f2a8e57eSGunnar Mills                    "readonly": true,
899*f2a8e57eSGunnar Mills                    "type": [
900*f2a8e57eSGunnar Mills                        "string",
901*f2a8e57eSGunnar Mills                        "null"
902*f2a8e57eSGunnar Mills                    ],
903*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
904*f2a8e57eSGunnar Mills                },
905*f2a8e57eSGunnar Mills                "ManagementAddressMAC": {
906*f2a8e57eSGunnar Mills                    "description": "The management MAC address received from the remote partner across this link.",
907*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the management MAC address received from the remote partner across this link.  If no such management address has been received, this property should not be present.",
908*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
909*f2a8e57eSGunnar Mills                    "readonly": true,
910*f2a8e57eSGunnar Mills                    "type": [
911*f2a8e57eSGunnar Mills                        "string",
912*f2a8e57eSGunnar Mills                        "null"
913*f2a8e57eSGunnar Mills                    ],
914*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
915*f2a8e57eSGunnar Mills                },
916*f2a8e57eSGunnar Mills                "ManagementVlanId": {
917*f2a8e57eSGunnar Mills                    "description": "The management VLAN ID received from the remote partner across this link.",
918*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the management VLAN ID received from the remote partner across this link.  If no such management VLAN ID has been received, this property should not be present.",
919*f2a8e57eSGunnar Mills                    "maximum": 4095,
920*f2a8e57eSGunnar Mills                    "minimum": 0,
921*f2a8e57eSGunnar Mills                    "readonly": true,
922*f2a8e57eSGunnar Mills                    "type": [
923*f2a8e57eSGunnar Mills                        "integer",
924*f2a8e57eSGunnar Mills                        "null"
925*f2a8e57eSGunnar Mills                    ],
926*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
927*f2a8e57eSGunnar Mills                },
928*f2a8e57eSGunnar Mills                "PortId": {
929*f2a8e57eSGunnar Mills                    "description": "A colon-delimited string of hexadecimal octets identifying a port.",
930*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a colon-delimited string of hexadecimal octets identifying the port received from the remote partner across this link.  If no such port ID has been received, this property should not be present.",
931*f2a8e57eSGunnar Mills                    "pattern": "^([0-9A-F]{2})([:]([0-9A-F]){2}){0,63}$",
932*f2a8e57eSGunnar Mills                    "readonly": true,
933*f2a8e57eSGunnar Mills                    "type": [
934*f2a8e57eSGunnar Mills                        "string",
935*f2a8e57eSGunnar Mills                        "null"
936*f2a8e57eSGunnar Mills                    ],
937*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
938*f2a8e57eSGunnar Mills                },
939*f2a8e57eSGunnar Mills                "PortIdSubtype": {
940*f2a8e57eSGunnar Mills                    "anyOf": [
941*f2a8e57eSGunnar Mills                        {
942*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/IEEE802IdSubtype"
943*f2a8e57eSGunnar Mills                        },
944*f2a8e57eSGunnar Mills                        {
945*f2a8e57eSGunnar Mills                            "type": "null"
946*f2a8e57eSGunnar Mills                        }
947*f2a8e57eSGunnar Mills                    ],
948*f2a8e57eSGunnar Mills                    "description": "The port ID subtype received from the remote partner across this link.",
949*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the port ID subtype from IEEE 802.1AB-2009 Table 8-3 received from the remote partner across this link.  If no such port ID subtype has been received, this property should not be present.",
950*f2a8e57eSGunnar Mills                    "readonly": true,
951*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
952*f2a8e57eSGunnar Mills                },
953*f2a8e57eSGunnar Mills                "SystemCapabilities": {
954*f2a8e57eSGunnar Mills                    "description": "The system capabilities received from the remote partner across this link.",
955*f2a8e57eSGunnar Mills                    "items": {
956*f2a8e57eSGunnar Mills                        "anyOf": [
957*f2a8e57eSGunnar Mills                            {
958*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/LLDPSystemCapabilities"
959*f2a8e57eSGunnar Mills                            },
960*f2a8e57eSGunnar Mills                            {
961*f2a8e57eSGunnar Mills                                "type": "null"
962*f2a8e57eSGunnar Mills                            }
963*f2a8e57eSGunnar Mills                        ]
964*f2a8e57eSGunnar Mills                    },
965*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the system capabilities received from the remote partner across this link.  If no such system capabilities have been received, this property shall not be present.  This property shall not contain the value `None`.",
966*f2a8e57eSGunnar Mills                    "readonly": true,
967*f2a8e57eSGunnar Mills                    "type": "array",
968*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
969*f2a8e57eSGunnar Mills                },
970*f2a8e57eSGunnar Mills                "SystemDescription": {
971*f2a8e57eSGunnar Mills                    "description": "The system description received from the remote partner across this link.",
972*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the system description received from the remote partner across this link.  If no such system description has been received, this property shall not be present.",
973*f2a8e57eSGunnar Mills                    "readonly": true,
974*f2a8e57eSGunnar Mills                    "type": [
975*f2a8e57eSGunnar Mills                        "string",
976*f2a8e57eSGunnar Mills                        "null"
977*f2a8e57eSGunnar Mills                    ],
978*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
979*f2a8e57eSGunnar Mills                },
980*f2a8e57eSGunnar Mills                "SystemName": {
981*f2a8e57eSGunnar Mills                    "description": "The system name received from the remote partner across this link.",
982*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the system name received from the remote partner across this link.  If no such system name has been received, this property shall not be present.",
983*f2a8e57eSGunnar Mills                    "readonly": true,
984*f2a8e57eSGunnar Mills                    "type": [
985*f2a8e57eSGunnar Mills                        "string",
986*f2a8e57eSGunnar Mills                        "null"
987*f2a8e57eSGunnar Mills                    ],
988*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
989*f2a8e57eSGunnar Mills                }
990*f2a8e57eSGunnar Mills            },
991*f2a8e57eSGunnar Mills            "type": "object"
992*f2a8e57eSGunnar Mills        },
993*f2a8e57eSGunnar Mills        "LLDPSystemCapabilities": {
994*f2a8e57eSGunnar Mills            "enum": [
995*f2a8e57eSGunnar Mills                "None",
996*f2a8e57eSGunnar Mills                "Bridge",
997*f2a8e57eSGunnar Mills                "DOCSISCableDevice",
998*f2a8e57eSGunnar Mills                "Other",
999*f2a8e57eSGunnar Mills                "Repeater",
1000*f2a8e57eSGunnar Mills                "Router",
1001*f2a8e57eSGunnar Mills                "Station",
1002*f2a8e57eSGunnar Mills                "Telephone",
1003*f2a8e57eSGunnar Mills                "WLANAccessPoint"
1004*f2a8e57eSGunnar Mills            ],
1005*f2a8e57eSGunnar Mills            "enumDescriptions": {
1006*f2a8e57eSGunnar Mills                "Bridge": "Bridge.",
1007*f2a8e57eSGunnar Mills                "DOCSISCableDevice": "DOCSIS cable device.",
1008*f2a8e57eSGunnar Mills                "None": "The system capabilities are transmitted, but no capabilities are set.",
1009*f2a8e57eSGunnar Mills                "Other": "Other.",
1010*f2a8e57eSGunnar Mills                "Repeater": "Repeater.",
1011*f2a8e57eSGunnar Mills                "Router": "Router.",
1012*f2a8e57eSGunnar Mills                "Station": "Station.",
1013*f2a8e57eSGunnar Mills                "Telephone": "Telephone.",
1014*f2a8e57eSGunnar Mills                "WLANAccessPoint": "WLAN access point."
1015*f2a8e57eSGunnar Mills            },
1016*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
1017*f2a8e57eSGunnar Mills                "Bridge": "This value shall indicate the IEEE802.1AB-defined 'bridge' capability.",
1018*f2a8e57eSGunnar Mills                "DOCSISCableDevice": "This value shall indicate the IEEE802.1AB-defined 'DOCSIS cable device' capability.",
1019*f2a8e57eSGunnar Mills                "None": "This value shall indicate the system capabilities are transmitted, but no capabilities are set.",
1020*f2a8e57eSGunnar Mills                "Other": "This value shall indicate the IEEE802.1AB-defined 'other' capability.",
1021*f2a8e57eSGunnar Mills                "Repeater": "This value shall indicate the IEEE802.1AB-defined 'repeater' capability.",
1022*f2a8e57eSGunnar Mills                "Router": "This value shall indicate the IEEE802.1AB-defined 'router' capability.",
1023*f2a8e57eSGunnar Mills                "Station": "This value shall indicate the IEEE802.1AB-defined 'station' capability.",
1024*f2a8e57eSGunnar Mills                "Telephone": "This value shall indicate the IEEE802.1AB-defined 'telephone' capability.",
1025*f2a8e57eSGunnar Mills                "WLANAccessPoint": "This value shall indicate the IEEE802.1AB-defined 'WLAN access point' capability."
1026*f2a8e57eSGunnar Mills            },
1027*f2a8e57eSGunnar Mills            "type": "string"
1028*f2a8e57eSGunnar Mills        },
1029*f2a8e57eSGunnar Mills        "LLDPTransmit": {
1030*f2a8e57eSGunnar Mills            "additionalProperties": false,
1031*f2a8e57eSGunnar Mills            "description": "Link Layer Data Protocol (LLDP) data being transmitted on this link.",
1032*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the LLDP data to be transmitted from this endpoint.",
1033*f2a8e57eSGunnar Mills            "patternProperties": {
1034*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1035*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1036*f2a8e57eSGunnar Mills                    "type": [
1037*f2a8e57eSGunnar Mills                        "array",
1038*f2a8e57eSGunnar Mills                        "boolean",
1039*f2a8e57eSGunnar Mills                        "integer",
1040*f2a8e57eSGunnar Mills                        "number",
1041*f2a8e57eSGunnar Mills                        "null",
1042*f2a8e57eSGunnar Mills                        "object",
1043*f2a8e57eSGunnar Mills                        "string"
1044*f2a8e57eSGunnar Mills                    ]
1045*f2a8e57eSGunnar Mills                }
1046*f2a8e57eSGunnar Mills            },
1047*f2a8e57eSGunnar Mills            "properties": {
1048*f2a8e57eSGunnar Mills                "ChassisId": {
1049*f2a8e57eSGunnar Mills                    "description": "Link Layer Data Protocol (LLDP) chassis ID.",
1050*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the chassis ID to be transmitted from this endpoint.  If no such chassis ID is to be transmitted, this value shall be an empty string.",
1051*f2a8e57eSGunnar Mills                    "readonly": false,
1052*f2a8e57eSGunnar Mills                    "type": [
1053*f2a8e57eSGunnar Mills                        "string",
1054*f2a8e57eSGunnar Mills                        "null"
1055*f2a8e57eSGunnar Mills                    ],
1056*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1057*f2a8e57eSGunnar Mills                },
1058*f2a8e57eSGunnar Mills                "ChassisIdSubtype": {
1059*f2a8e57eSGunnar Mills                    "anyOf": [
1060*f2a8e57eSGunnar Mills                        {
1061*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/IEEE802IdSubtype"
1062*f2a8e57eSGunnar Mills                        },
1063*f2a8e57eSGunnar Mills                        {
1064*f2a8e57eSGunnar Mills                            "type": "null"
1065*f2a8e57eSGunnar Mills                        }
1066*f2a8e57eSGunnar Mills                    ],
1067*f2a8e57eSGunnar Mills                    "description": "The type of identifier used for the chassis ID.",
1068*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IEEE 802.1AB-2009 chassis ID subtype to be transmitted from this endpoint.  If no such chassis ID subtype is to be transmitted, this value shall be `NotTransmitted`.",
1069*f2a8e57eSGunnar Mills                    "readonly": false,
1070*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1071*f2a8e57eSGunnar Mills                },
1072*f2a8e57eSGunnar Mills                "ManagementAddressIPv4": {
1073*f2a8e57eSGunnar Mills                    "description": "The IPv4 management address to be transmitted from this endpoint.",
1074*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IPv4 management address to be transmitted from this endpoint.  If no such management address is to be transmitted, this value shall be an empty string.",
1075*f2a8e57eSGunnar Mills                    "pattern": "(^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)|(^$)",
1076*f2a8e57eSGunnar Mills                    "readonly": false,
1077*f2a8e57eSGunnar Mills                    "type": [
1078*f2a8e57eSGunnar Mills                        "string",
1079*f2a8e57eSGunnar Mills                        "null"
1080*f2a8e57eSGunnar Mills                    ],
1081*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1082*f2a8e57eSGunnar Mills                },
1083*f2a8e57eSGunnar Mills                "ManagementAddressIPv6": {
1084*f2a8e57eSGunnar Mills                    "description": "The IPv6 management address to be transmitted from this endpoint.",
1085*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IPv6 management address to be transmitted from this endpoint.  If no such management address is to be transmitted, this value shall be an empty string.",
1086*f2a8e57eSGunnar Mills                    "readonly": false,
1087*f2a8e57eSGunnar Mills                    "type": [
1088*f2a8e57eSGunnar Mills                        "string",
1089*f2a8e57eSGunnar Mills                        "null"
1090*f2a8e57eSGunnar Mills                    ],
1091*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1092*f2a8e57eSGunnar Mills                },
1093*f2a8e57eSGunnar Mills                "ManagementAddressMAC": {
1094*f2a8e57eSGunnar Mills                    "description": "The management MAC address to be transmitted from this endpoint.",
1095*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the management MAC address to be transmitted from this endpoint.  If no such management address is to be transmitted, this value shall be an empty string.",
1096*f2a8e57eSGunnar Mills                    "pattern": "(^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$)|(^$)",
1097*f2a8e57eSGunnar Mills                    "readonly": false,
1098*f2a8e57eSGunnar Mills                    "type": [
1099*f2a8e57eSGunnar Mills                        "string",
1100*f2a8e57eSGunnar Mills                        "null"
1101*f2a8e57eSGunnar Mills                    ],
1102*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1103*f2a8e57eSGunnar Mills                },
1104*f2a8e57eSGunnar Mills                "ManagementVlanId": {
1105*f2a8e57eSGunnar Mills                    "description": "The management VLAN ID to be transmitted from this endpoint.",
1106*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the management VLAN ID to be transmitted from this endpoint.  If no such port ID is to be transmitted, this value shall be `4095`.",
1107*f2a8e57eSGunnar Mills                    "maximum": 4095,
1108*f2a8e57eSGunnar Mills                    "minimum": 0,
1109*f2a8e57eSGunnar Mills                    "readonly": false,
1110*f2a8e57eSGunnar Mills                    "type": [
1111*f2a8e57eSGunnar Mills                        "integer",
1112*f2a8e57eSGunnar Mills                        "null"
1113*f2a8e57eSGunnar Mills                    ],
1114*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1115*f2a8e57eSGunnar Mills                },
1116*f2a8e57eSGunnar Mills                "PortId": {
1117*f2a8e57eSGunnar Mills                    "description": "A colon-delimited string of hexadecimal octets identifying a port to be transmitted from this endpoint.",
1118*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a colon-delimited string of hexadecimal octets identifying the port for an LLDP endpoint.  If no such port ID is to be transmitted, this value shall be an empty string.",
1119*f2a8e57eSGunnar Mills                    "pattern": "(^([0-9A-F]{2})([:]([0-9A-F]){2}){0,63}$)|(^$)",
1120*f2a8e57eSGunnar Mills                    "readonly": false,
1121*f2a8e57eSGunnar Mills                    "type": [
1122*f2a8e57eSGunnar Mills                        "string",
1123*f2a8e57eSGunnar Mills                        "null"
1124*f2a8e57eSGunnar Mills                    ],
1125*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1126*f2a8e57eSGunnar Mills                },
1127*f2a8e57eSGunnar Mills                "PortIdSubtype": {
1128*f2a8e57eSGunnar Mills                    "anyOf": [
1129*f2a8e57eSGunnar Mills                        {
1130*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/IEEE802IdSubtype"
1131*f2a8e57eSGunnar Mills                        },
1132*f2a8e57eSGunnar Mills                        {
1133*f2a8e57eSGunnar Mills                            "type": "null"
1134*f2a8e57eSGunnar Mills                        }
1135*f2a8e57eSGunnar Mills                    ],
1136*f2a8e57eSGunnar Mills                    "description": "The port ID subtype to be transmitted from this endpoint.",
1137*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the port ID subtype from IEEE 802.1AB-2009 Table 8-3 to be transmitted from this endpoint.  If no such port ID subtype is to be transmitted, this value shall be `NotTransmitted`.",
1138*f2a8e57eSGunnar Mills                    "readonly": false,
1139*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1140*f2a8e57eSGunnar Mills                },
1141*f2a8e57eSGunnar Mills                "SystemCapabilities": {
1142*f2a8e57eSGunnar Mills                    "description": "The system capabilities to be transmitted from this endpoint.",
1143*f2a8e57eSGunnar Mills                    "items": {
1144*f2a8e57eSGunnar Mills                        "anyOf": [
1145*f2a8e57eSGunnar Mills                            {
1146*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/LLDPSystemCapabilities"
1147*f2a8e57eSGunnar Mills                            },
1148*f2a8e57eSGunnar Mills                            {
1149*f2a8e57eSGunnar Mills                                "type": "null"
1150*f2a8e57eSGunnar Mills                            }
1151*f2a8e57eSGunnar Mills                        ]
1152*f2a8e57eSGunnar Mills                    },
1153*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the system capabilities to be transmitted from this endpoint.  If no such system capabilities are to be transmitted, this value shall be an empty array.  If this property contains the value `None`, an empty set of system capabilities is transmitted from this endpoint.",
1154*f2a8e57eSGunnar Mills                    "readonly": false,
1155*f2a8e57eSGunnar Mills                    "type": "array",
1156*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
1157*f2a8e57eSGunnar Mills                },
1158*f2a8e57eSGunnar Mills                "SystemDescription": {
1159*f2a8e57eSGunnar Mills                    "description": "The system description to be transmitted from this endpoint.",
1160*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the system description to be transmitted from this endpoint.  If no such system description is to be transmitted, this value shall be an empty string.",
1161*f2a8e57eSGunnar Mills                    "readonly": false,
1162*f2a8e57eSGunnar Mills                    "type": [
1163*f2a8e57eSGunnar Mills                        "string",
1164*f2a8e57eSGunnar Mills                        "null"
1165*f2a8e57eSGunnar Mills                    ],
1166*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
1167*f2a8e57eSGunnar Mills                },
1168*f2a8e57eSGunnar Mills                "SystemName": {
1169*f2a8e57eSGunnar Mills                    "description": "The system name to be transmitted from this endpoint.",
1170*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the system name to be transmitted from this endpoint.  If no such system name is to be transmitted, this value shall be an empty string.",
1171*f2a8e57eSGunnar Mills                    "readonly": false,
1172*f2a8e57eSGunnar Mills                    "type": [
1173*f2a8e57eSGunnar Mills                        "string",
1174*f2a8e57eSGunnar Mills                        "null"
1175*f2a8e57eSGunnar Mills                    ],
1176*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
1177*f2a8e57eSGunnar Mills                }
1178*f2a8e57eSGunnar Mills            },
1179*f2a8e57eSGunnar Mills            "type": "object"
1180*f2a8e57eSGunnar Mills        },
1181*f2a8e57eSGunnar Mills        "LinkConfiguration": {
1182*f2a8e57eSGunnar Mills            "additionalProperties": false,
1183*f2a8e57eSGunnar Mills            "description": "Properties of the link for which this port is configured.",
1184*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain properties of the link for which this port has been configured.",
1185*f2a8e57eSGunnar Mills            "patternProperties": {
1186*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1187*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1188*f2a8e57eSGunnar Mills                    "type": [
1189*f2a8e57eSGunnar Mills                        "array",
1190*f2a8e57eSGunnar Mills                        "boolean",
1191*f2a8e57eSGunnar Mills                        "integer",
1192*f2a8e57eSGunnar Mills                        "number",
1193*f2a8e57eSGunnar Mills                        "null",
1194*f2a8e57eSGunnar Mills                        "object",
1195*f2a8e57eSGunnar Mills                        "string"
1196*f2a8e57eSGunnar Mills                    ]
1197*f2a8e57eSGunnar Mills                }
1198*f2a8e57eSGunnar Mills            },
1199*f2a8e57eSGunnar Mills            "properties": {
1200*f2a8e57eSGunnar Mills                "AutoSpeedNegotiationCapable": {
1201*f2a8e57eSGunnar Mills                    "description": "An indication of whether the port is capable of autonegotiating speed.",
1202*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the port is capable of autonegotiating speed.",
1203*f2a8e57eSGunnar Mills                    "readonly": true,
1204*f2a8e57eSGunnar Mills                    "type": [
1205*f2a8e57eSGunnar Mills                        "boolean",
1206*f2a8e57eSGunnar Mills                        "null"
1207*f2a8e57eSGunnar Mills                    ],
1208*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1209*f2a8e57eSGunnar Mills                },
1210*f2a8e57eSGunnar Mills                "AutoSpeedNegotiationEnabled": {
1211*f2a8e57eSGunnar Mills                    "description": "Controls whether this port is configured to enable autonegotiating speed.",
1212*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the port is configured to autonegotiate speed.",
1213*f2a8e57eSGunnar Mills                    "readonly": false,
1214*f2a8e57eSGunnar Mills                    "type": [
1215*f2a8e57eSGunnar Mills                        "boolean",
1216*f2a8e57eSGunnar Mills                        "null"
1217*f2a8e57eSGunnar Mills                    ],
1218*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1219*f2a8e57eSGunnar Mills                },
1220*f2a8e57eSGunnar Mills                "CapableLinkSpeedGbps": {
1221*f2a8e57eSGunnar Mills                    "description": "The set of link speed capabilities of this port.",
1222*f2a8e57eSGunnar Mills                    "items": {
1223*f2a8e57eSGunnar Mills                        "type": [
1224*f2a8e57eSGunnar Mills                            "number",
1225*f2a8e57eSGunnar Mills                            "null"
1226*f2a8e57eSGunnar Mills                        ]
1227*f2a8e57eSGunnar Mills                    },
1228*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain all of the possible network link speed capabilities of this port.  This value includes overhead associated with the protocol.",
1229*f2a8e57eSGunnar Mills                    "readonly": true,
1230*f2a8e57eSGunnar Mills                    "type": "array",
1231*f2a8e57eSGunnar Mills                    "units": "Gbit/s",
1232*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1233*f2a8e57eSGunnar Mills                },
1234*f2a8e57eSGunnar Mills                "ConfiguredNetworkLinks": {
1235*f2a8e57eSGunnar Mills                    "description": "The set of link speed and width pairs this port is configured to use for autonegotiation.",
1236*f2a8e57eSGunnar Mills                    "items": {
1237*f2a8e57eSGunnar Mills                        "anyOf": [
1238*f2a8e57eSGunnar Mills                            {
1239*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/ConfiguredNetworkLink"
1240*f2a8e57eSGunnar Mills                            },
1241*f2a8e57eSGunnar Mills                            {
1242*f2a8e57eSGunnar Mills                                "type": "null"
1243*f2a8e57eSGunnar Mills                            }
1244*f2a8e57eSGunnar Mills                        ]
1245*f2a8e57eSGunnar Mills                    },
1246*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the set of link speed and width pairs to which this port is restricted for autonegotiation purposes.",
1247*f2a8e57eSGunnar Mills                    "type": "array",
1248*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1249*f2a8e57eSGunnar Mills                }
1250*f2a8e57eSGunnar Mills            },
1251*f2a8e57eSGunnar Mills            "type": "object"
1252*f2a8e57eSGunnar Mills        },
1253*f2a8e57eSGunnar Mills        "LinkNetworkTechnology": {
1254*f2a8e57eSGunnar Mills            "enum": [
1255*f2a8e57eSGunnar Mills                "Ethernet",
1256*f2a8e57eSGunnar Mills                "InfiniBand",
1257*f2a8e57eSGunnar Mills                "FibreChannel",
1258*f2a8e57eSGunnar Mills                "GenZ",
1259*f2a8e57eSGunnar Mills                "PCIe"
1260*f2a8e57eSGunnar Mills            ],
1261*f2a8e57eSGunnar Mills            "enumDescriptions": {
1262*f2a8e57eSGunnar Mills                "Ethernet": "The port is capable of connecting to an Ethernet network.",
1263*f2a8e57eSGunnar Mills                "FibreChannel": "The port is capable of connecting to a Fibre Channel network.",
1264*f2a8e57eSGunnar Mills                "GenZ": "The port is capable of connecting to a Gen-Z fabric.",
1265*f2a8e57eSGunnar Mills                "InfiniBand": "The port is capable of connecting to an InfiniBand network.",
1266*f2a8e57eSGunnar Mills                "PCIe": "The port is capable of connecting to PCIe and CXL fabrics."
1267*f2a8e57eSGunnar Mills            },
1268*f2a8e57eSGunnar Mills            "enumVersionAdded": {
1269*f2a8e57eSGunnar Mills                "PCIe": "v1_8_0"
1270*f2a8e57eSGunnar Mills            },
1271*f2a8e57eSGunnar Mills            "type": "string"
1272*f2a8e57eSGunnar Mills        },
1273*f2a8e57eSGunnar Mills        "LinkState": {
1274*f2a8e57eSGunnar Mills            "enum": [
1275*f2a8e57eSGunnar Mills                "Enabled",
1276*f2a8e57eSGunnar Mills                "Disabled"
1277*f2a8e57eSGunnar Mills            ],
1278*f2a8e57eSGunnar Mills            "enumDescriptions": {
1279*f2a8e57eSGunnar Mills                "Disabled": "The link is disabled and not operational.",
1280*f2a8e57eSGunnar Mills                "Enabled": "The link is enabled and operational."
1281*f2a8e57eSGunnar Mills            },
1282*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
1283*f2a8e57eSGunnar Mills                "Disabled": "This value shall indicate the link is disabled and not operational.  The port is not allowed to establish a connection with the remote port.  However, other types of traffic, such as management traffic, may be sent or received by the port.",
1284*f2a8e57eSGunnar Mills                "Enabled": "This value shall indicate the link is enabled and operational.  The port is allowed to establish a connection with the remote port."
1285*f2a8e57eSGunnar Mills            },
1286*f2a8e57eSGunnar Mills            "type": "string"
1287*f2a8e57eSGunnar Mills        },
1288*f2a8e57eSGunnar Mills        "LinkStatus": {
1289*f2a8e57eSGunnar Mills            "enum": [
1290*f2a8e57eSGunnar Mills                "LinkUp",
1291*f2a8e57eSGunnar Mills                "Starting",
1292*f2a8e57eSGunnar Mills                "Training",
1293*f2a8e57eSGunnar Mills                "LinkDown",
1294*f2a8e57eSGunnar Mills                "NoLink"
1295*f2a8e57eSGunnar Mills            ],
1296*f2a8e57eSGunnar Mills            "enumDescriptions": {
1297*f2a8e57eSGunnar Mills                "LinkDown": "The link on this interface is down.",
1298*f2a8e57eSGunnar Mills                "LinkUp": "This link on this interface is up.",
1299*f2a8e57eSGunnar Mills                "NoLink": "No physical link detected on this interface.",
1300*f2a8e57eSGunnar Mills                "Starting": "This link on this interface is starting.  A physical link has been established, but the port is not able to transfer data.",
1301*f2a8e57eSGunnar Mills                "Training": "This physical link on this interface is training."
1302*f2a8e57eSGunnar Mills            },
1303*f2a8e57eSGunnar Mills            "type": "string"
1304*f2a8e57eSGunnar Mills        },
1305*f2a8e57eSGunnar Mills        "Links": {
1306*f2a8e57eSGunnar Mills            "additionalProperties": false,
1307*f2a8e57eSGunnar Mills            "description": "The links to other resources that are related to this resource.",
1308*f2a8e57eSGunnar Mills            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
1309*f2a8e57eSGunnar Mills            "patternProperties": {
1310*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1311*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1312*f2a8e57eSGunnar Mills                    "type": [
1313*f2a8e57eSGunnar Mills                        "array",
1314*f2a8e57eSGunnar Mills                        "boolean",
1315*f2a8e57eSGunnar Mills                        "integer",
1316*f2a8e57eSGunnar Mills                        "number",
1317*f2a8e57eSGunnar Mills                        "null",
1318*f2a8e57eSGunnar Mills                        "object",
1319*f2a8e57eSGunnar Mills                        "string"
1320*f2a8e57eSGunnar Mills                    ]
1321*f2a8e57eSGunnar Mills                }
1322*f2a8e57eSGunnar Mills            },
1323*f2a8e57eSGunnar Mills            "properties": {
1324*f2a8e57eSGunnar Mills                "AssociatedEndpoints": {
1325*f2a8e57eSGunnar Mills                    "description": "An array of links to the endpoints at the other end of the link.",
1326*f2a8e57eSGunnar Mills                    "items": {
1327*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
1328*f2a8e57eSGunnar Mills                    },
1329*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints to which this port is connected.",
1330*f2a8e57eSGunnar Mills                    "readonly": true,
1331*f2a8e57eSGunnar Mills                    "type": "array"
1332*f2a8e57eSGunnar Mills                },
1333*f2a8e57eSGunnar Mills                "AssociatedEndpoints@odata.count": {
1334*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1335*f2a8e57eSGunnar Mills                },
1336*f2a8e57eSGunnar Mills                "Cables": {
1337*f2a8e57eSGunnar Mills                    "description": "An array of links to the cables connected to this port.",
1338*f2a8e57eSGunnar Mills                    "items": {
1339*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Cable.json#/definitions/Cable"
1340*f2a8e57eSGunnar Mills                    },
1341*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Cable` that represent the cables connected to this port.",
1342*f2a8e57eSGunnar Mills                    "readonly": true,
1343*f2a8e57eSGunnar Mills                    "type": "array",
1344*f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
1345*f2a8e57eSGunnar Mills                },
1346*f2a8e57eSGunnar Mills                "Cables@odata.count": {
1347*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1348*f2a8e57eSGunnar Mills                },
1349*f2a8e57eSGunnar Mills                "ConnectedPorts": {
1350*f2a8e57eSGunnar Mills                    "description": "An array of links to the remote device ports at the other end of the link.",
1351*f2a8e57eSGunnar Mills                    "items": {
1352*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
1353*f2a8e57eSGunnar Mills                    },
1354*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the remote device ports to which this port is connected.",
1355*f2a8e57eSGunnar Mills                    "readonly": true,
1356*f2a8e57eSGunnar Mills                    "type": "array",
1357*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1358*f2a8e57eSGunnar Mills                },
1359*f2a8e57eSGunnar Mills                "ConnectedPorts@odata.count": {
1360*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1361*f2a8e57eSGunnar Mills                },
1362*f2a8e57eSGunnar Mills                "ConnectedSwitchPorts": {
1363*f2a8e57eSGunnar Mills                    "description": "An array of links to the switch ports at the other end of the link.",
1364*f2a8e57eSGunnar Mills                    "items": {
1365*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
1366*f2a8e57eSGunnar Mills                    },
1367*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the switch ports to which this port is connected.",
1368*f2a8e57eSGunnar Mills                    "readonly": true,
1369*f2a8e57eSGunnar Mills                    "type": "array"
1370*f2a8e57eSGunnar Mills                },
1371*f2a8e57eSGunnar Mills                "ConnectedSwitchPorts@odata.count": {
1372*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1373*f2a8e57eSGunnar Mills                },
1374*f2a8e57eSGunnar Mills                "ConnectedSwitches": {
1375*f2a8e57eSGunnar Mills                    "description": "An array of links to the switches at the other end of the link.",
1376*f2a8e57eSGunnar Mills                    "items": {
1377*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Switch.json#/definitions/Switch"
1378*f2a8e57eSGunnar Mills                    },
1379*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Switch` that represent the switches to which this port is connected.",
1380*f2a8e57eSGunnar Mills                    "readonly": true,
1381*f2a8e57eSGunnar Mills                    "type": "array"
1382*f2a8e57eSGunnar Mills                },
1383*f2a8e57eSGunnar Mills                "ConnectedSwitches@odata.count": {
1384*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1385*f2a8e57eSGunnar Mills                },
1386*f2a8e57eSGunnar Mills                "EthernetInterfaces": {
1387*f2a8e57eSGunnar Mills                    "description": "The links to the Ethernet interfaces this port provides.",
1388*f2a8e57eSGunnar Mills                    "items": {
1389*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
1390*f2a8e57eSGunnar Mills                    },
1391*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `EthernetInterface` that represent the Ethernet interfaces this port provides.  This property shall not include Ethernet interfaces that are not directly associated to a physical port.",
1392*f2a8e57eSGunnar Mills                    "readonly": true,
1393*f2a8e57eSGunnar Mills                    "type": "array",
1394*f2a8e57eSGunnar Mills                    "versionAdded": "v1_7_0"
1395*f2a8e57eSGunnar Mills                },
1396*f2a8e57eSGunnar Mills                "EthernetInterfaces@odata.count": {
1397*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1398*f2a8e57eSGunnar Mills                },
1399*f2a8e57eSGunnar Mills                "Oem": {
1400*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
1401*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
1402*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
1403*f2a8e57eSGunnar Mills                }
1404*f2a8e57eSGunnar Mills            },
1405*f2a8e57eSGunnar Mills            "type": "object"
1406*f2a8e57eSGunnar Mills        },
1407*f2a8e57eSGunnar Mills        "MediumType": {
1408*f2a8e57eSGunnar Mills            "enum": [
1409*f2a8e57eSGunnar Mills                "Copper",
1410*f2a8e57eSGunnar Mills                "FiberOptic"
1411*f2a8e57eSGunnar Mills            ],
1412*f2a8e57eSGunnar Mills            "enumDescriptions": {
1413*f2a8e57eSGunnar Mills                "Copper": "The medium connected is copper.",
1414*f2a8e57eSGunnar Mills                "FiberOptic": "The medium connected is fiber optic."
1415*f2a8e57eSGunnar Mills            },
1416*f2a8e57eSGunnar Mills            "type": "string"
1417*f2a8e57eSGunnar Mills        },
1418*f2a8e57eSGunnar Mills        "OemActions": {
1419*f2a8e57eSGunnar Mills            "additionalProperties": true,
1420*f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
1421*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
1422*f2a8e57eSGunnar Mills            "patternProperties": {
1423*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1424*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1425*f2a8e57eSGunnar Mills                    "type": [
1426*f2a8e57eSGunnar Mills                        "array",
1427*f2a8e57eSGunnar Mills                        "boolean",
1428*f2a8e57eSGunnar Mills                        "integer",
1429*f2a8e57eSGunnar Mills                        "number",
1430*f2a8e57eSGunnar Mills                        "null",
1431*f2a8e57eSGunnar Mills                        "object",
1432*f2a8e57eSGunnar Mills                        "string"
1433*f2a8e57eSGunnar Mills                    ]
1434*f2a8e57eSGunnar Mills                }
1435*f2a8e57eSGunnar Mills            },
1436*f2a8e57eSGunnar Mills            "properties": {},
1437*f2a8e57eSGunnar Mills            "type": "object"
1438*f2a8e57eSGunnar Mills        },
1439*f2a8e57eSGunnar Mills        "Port": {
1440*f2a8e57eSGunnar Mills            "additionalProperties": false,
1441*f2a8e57eSGunnar Mills            "description": "The `Port` schema contains properties that describe a port of a switch, controller, chassis, or any other device that could be connected to another entity.",
1442*f2a8e57eSGunnar Mills            "longDescription": "This resource contains a simple port for a Redfish implementation.",
1443*f2a8e57eSGunnar Mills            "patternProperties": {
1444*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1445*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1446*f2a8e57eSGunnar Mills                    "type": [
1447*f2a8e57eSGunnar Mills                        "array",
1448*f2a8e57eSGunnar Mills                        "boolean",
1449*f2a8e57eSGunnar Mills                        "integer",
1450*f2a8e57eSGunnar Mills                        "number",
1451*f2a8e57eSGunnar Mills                        "null",
1452*f2a8e57eSGunnar Mills                        "object",
1453*f2a8e57eSGunnar Mills                        "string"
1454*f2a8e57eSGunnar Mills                    ]
1455*f2a8e57eSGunnar Mills                }
1456*f2a8e57eSGunnar Mills            },
1457*f2a8e57eSGunnar Mills            "properties": {
1458*f2a8e57eSGunnar Mills                "@odata.context": {
1459*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
1460*f2a8e57eSGunnar Mills                },
1461*f2a8e57eSGunnar Mills                "@odata.etag": {
1462*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
1463*f2a8e57eSGunnar Mills                },
1464*f2a8e57eSGunnar Mills                "@odata.id": {
1465*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
1466*f2a8e57eSGunnar Mills                },
1467*f2a8e57eSGunnar Mills                "@odata.type": {
1468*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
1469*f2a8e57eSGunnar Mills                },
1470*f2a8e57eSGunnar Mills                "Actions": {
1471*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
1472*f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
1473*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
1474*f2a8e57eSGunnar Mills                },
1475*f2a8e57eSGunnar Mills                "ActiveWidth": {
1476*f2a8e57eSGunnar Mills                    "description": "The number of active lanes for this interface.",
1477*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the number of active lanes for this interface.",
1478*f2a8e57eSGunnar Mills                    "readonly": true,
1479*f2a8e57eSGunnar Mills                    "type": "integer",
1480*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1481*f2a8e57eSGunnar Mills                },
1482*f2a8e57eSGunnar Mills                "CXL": {
1483*f2a8e57eSGunnar Mills                    "anyOf": [
1484*f2a8e57eSGunnar Mills                        {
1485*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/CXL"
1486*f2a8e57eSGunnar Mills                        },
1487*f2a8e57eSGunnar Mills                        {
1488*f2a8e57eSGunnar Mills                            "type": "null"
1489*f2a8e57eSGunnar Mills                        }
1490*f2a8e57eSGunnar Mills                    ],
1491*f2a8e57eSGunnar Mills                    "description": "CXL properties for this port.",
1492*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain CXL-specific properties for this port.",
1493*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
1494*f2a8e57eSGunnar Mills                },
1495*f2a8e57eSGunnar Mills                "CapableProtocolVersions": {
1496*f2a8e57eSGunnar Mills                    "description": "The protocol versions capable of being sent over this port.",
1497*f2a8e57eSGunnar Mills                    "items": {
1498*f2a8e57eSGunnar Mills                        "type": [
1499*f2a8e57eSGunnar Mills                            "string",
1500*f2a8e57eSGunnar Mills                            "null"
1501*f2a8e57eSGunnar Mills                        ]
1502*f2a8e57eSGunnar Mills                    },
1503*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the protocol versions capable of being sent over this port.  This property should only be used for protocols where the version and not the speed is of primary interest such as USB, DisplayPort, or HDMI.",
1504*f2a8e57eSGunnar Mills                    "readonly": true,
1505*f2a8e57eSGunnar Mills                    "type": "array",
1506*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1507*f2a8e57eSGunnar Mills                },
1508*f2a8e57eSGunnar Mills                "CurrentProtocolVersion": {
1509*f2a8e57eSGunnar Mills                    "description": "The protocol version being sent over this port.",
1510*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the protocol version being sent over this port.  This property should only be used for protocols where the version and not the speed is of primary interest such as USB, DisplayPort, or HDMI.",
1511*f2a8e57eSGunnar Mills                    "readonly": true,
1512*f2a8e57eSGunnar Mills                    "type": [
1513*f2a8e57eSGunnar Mills                        "string",
1514*f2a8e57eSGunnar Mills                        "null"
1515*f2a8e57eSGunnar Mills                    ],
1516*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1517*f2a8e57eSGunnar Mills                },
1518*f2a8e57eSGunnar Mills                "CurrentSpeedGbps": {
1519*f2a8e57eSGunnar Mills                    "description": "The current speed of this port.",
1520*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the unidirectional speed of this port currently negotiated and running.  This value includes overhead associated with the protocol.",
1521*f2a8e57eSGunnar Mills                    "readonly": true,
1522*f2a8e57eSGunnar Mills                    "type": [
1523*f2a8e57eSGunnar Mills                        "number",
1524*f2a8e57eSGunnar Mills                        "null"
1525*f2a8e57eSGunnar Mills                    ],
1526*f2a8e57eSGunnar Mills                    "units": "Gbit/s"
1527*f2a8e57eSGunnar Mills                },
1528*f2a8e57eSGunnar Mills                "Description": {
1529*f2a8e57eSGunnar Mills                    "anyOf": [
1530*f2a8e57eSGunnar Mills                        {
1531*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
1532*f2a8e57eSGunnar Mills                        },
1533*f2a8e57eSGunnar Mills                        {
1534*f2a8e57eSGunnar Mills                            "type": "null"
1535*f2a8e57eSGunnar Mills                        }
1536*f2a8e57eSGunnar Mills                    ],
1537*f2a8e57eSGunnar Mills                    "readonly": true
1538*f2a8e57eSGunnar Mills                },
1539*f2a8e57eSGunnar Mills                "Enabled": {
1540*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `InterfaceEnabled`.",
1541*f2a8e57eSGunnar Mills                    "description": "An indication of whether this port is enabled.",
1542*f2a8e57eSGunnar Mills                    "longDescription": "The value of this property shall indicate if this port is enabled.  Disabling a port will disconnect any devices only connected to the system through this port.",
1543*f2a8e57eSGunnar Mills                    "readonly": false,
1544*f2a8e57eSGunnar Mills                    "type": "boolean",
1545*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0",
1546*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_10_0"
1547*f2a8e57eSGunnar Mills                },
1548*f2a8e57eSGunnar Mills                "EnvironmentMetrics": {
1549*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
1550*f2a8e57eSGunnar Mills                    "description": "The link to the environment metrics for this port or any attached small form-factor pluggable (SFP) device.",
1551*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `EnvironmentMetrics` that represents the environment metrics for this port or any attached small form-factor pluggable (SFP) device.",
1552*f2a8e57eSGunnar Mills                    "readonly": true,
1553*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1554*f2a8e57eSGunnar Mills                },
1555*f2a8e57eSGunnar Mills                "Ethernet": {
1556*f2a8e57eSGunnar Mills                    "anyOf": [
1557*f2a8e57eSGunnar Mills                        {
1558*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/EthernetProperties"
1559*f2a8e57eSGunnar Mills                        },
1560*f2a8e57eSGunnar Mills                        {
1561*f2a8e57eSGunnar Mills                            "type": "null"
1562*f2a8e57eSGunnar Mills                        }
1563*f2a8e57eSGunnar Mills                    ],
1564*f2a8e57eSGunnar Mills                    "description": "Ethernet properties for this port.",
1565*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain Ethernet-specific properties of the port.",
1566*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1567*f2a8e57eSGunnar Mills                },
1568*f2a8e57eSGunnar Mills                "FibreChannel": {
1569*f2a8e57eSGunnar Mills                    "anyOf": [
1570*f2a8e57eSGunnar Mills                        {
1571*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/FibreChannelProperties"
1572*f2a8e57eSGunnar Mills                        },
1573*f2a8e57eSGunnar Mills                        {
1574*f2a8e57eSGunnar Mills                            "type": "null"
1575*f2a8e57eSGunnar Mills                        }
1576*f2a8e57eSGunnar Mills                    ],
1577*f2a8e57eSGunnar Mills                    "description": "Fibre Channel properties for this port.",
1578*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain Fibre Channel-specific properties of the port.",
1579*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1580*f2a8e57eSGunnar Mills                },
1581*f2a8e57eSGunnar Mills                "FunctionMaxBandwidth": {
1582*f2a8e57eSGunnar Mills                    "description": "An array of maximum bandwidth allocation percentages for the functions associated with this port.",
1583*f2a8e57eSGunnar Mills                    "items": {
1584*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/FunctionMaxBandwidth"
1585*f2a8e57eSGunnar Mills                    },
1586*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of maximum bandwidth allocation percentages for the functions associated with this port.",
1587*f2a8e57eSGunnar Mills                    "type": "array",
1588*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1589*f2a8e57eSGunnar Mills                },
1590*f2a8e57eSGunnar Mills                "FunctionMinBandwidth": {
1591*f2a8e57eSGunnar Mills                    "description": "An array of minimum bandwidth allocation percentages for the functions associated with this port.",
1592*f2a8e57eSGunnar Mills                    "items": {
1593*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/FunctionMinBandwidth"
1594*f2a8e57eSGunnar Mills                    },
1595*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of minimum bandwidth percentage allocations for each of the functions associated with this port.",
1596*f2a8e57eSGunnar Mills                    "type": "array",
1597*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1598*f2a8e57eSGunnar Mills                },
1599*f2a8e57eSGunnar Mills                "GenZ": {
1600*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/GenZ",
1601*f2a8e57eSGunnar Mills                    "description": "Gen-Z specific properties.",
1602*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain Gen-Z specific properties for this interface.",
1603*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1604*f2a8e57eSGunnar Mills                },
1605*f2a8e57eSGunnar Mills                "Id": {
1606*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
1607*f2a8e57eSGunnar Mills                    "readonly": true
1608*f2a8e57eSGunnar Mills                },
1609*f2a8e57eSGunnar Mills                "InfiniBand": {
1610*f2a8e57eSGunnar Mills                    "anyOf": [
1611*f2a8e57eSGunnar Mills                        {
1612*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/InfiniBandProperties"
1613*f2a8e57eSGunnar Mills                        },
1614*f2a8e57eSGunnar Mills                        {
1615*f2a8e57eSGunnar Mills                            "type": "null"
1616*f2a8e57eSGunnar Mills                        }
1617*f2a8e57eSGunnar Mills                    ],
1618*f2a8e57eSGunnar Mills                    "description": "InfiniBand properties for this port.",
1619*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain InfiniBand-specific properties of the port.",
1620*f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
1621*f2a8e57eSGunnar Mills                },
1622*f2a8e57eSGunnar Mills                "InterfaceEnabled": {
1623*f2a8e57eSGunnar Mills                    "description": "An indication of whether the port is enabled.",
1624*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the port is enabled.  When disabled, no traffic of any type, such as link protocol traffic and management traffic, is sent or received by the port.",
1625*f2a8e57eSGunnar Mills                    "readonly": false,
1626*f2a8e57eSGunnar Mills                    "type": [
1627*f2a8e57eSGunnar Mills                        "boolean",
1628*f2a8e57eSGunnar Mills                        "null"
1629*f2a8e57eSGunnar Mills                    ],
1630*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1631*f2a8e57eSGunnar Mills                },
1632*f2a8e57eSGunnar Mills                "LinkConfiguration": {
1633*f2a8e57eSGunnar Mills                    "description": "The link configuration of this port.",
1634*f2a8e57eSGunnar Mills                    "items": {
1635*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/LinkConfiguration"
1636*f2a8e57eSGunnar Mills                    },
1637*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the static capabilities and configuration settings of the port.",
1638*f2a8e57eSGunnar Mills                    "type": "array",
1639*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1640*f2a8e57eSGunnar Mills                },
1641*f2a8e57eSGunnar Mills                "LinkNetworkTechnology": {
1642*f2a8e57eSGunnar Mills                    "anyOf": [
1643*f2a8e57eSGunnar Mills                        {
1644*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/LinkNetworkTechnology"
1645*f2a8e57eSGunnar Mills                        },
1646*f2a8e57eSGunnar Mills                        {
1647*f2a8e57eSGunnar Mills                            "type": "null"
1648*f2a8e57eSGunnar Mills                        }
1649*f2a8e57eSGunnar Mills                    ],
1650*f2a8e57eSGunnar Mills                    "description": "The link network technology capabilities of this port.",
1651*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a network technology capability of this port.",
1652*f2a8e57eSGunnar Mills                    "readonly": true,
1653*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1654*f2a8e57eSGunnar Mills                },
1655*f2a8e57eSGunnar Mills                "LinkState": {
1656*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/LinkState",
1657*f2a8e57eSGunnar Mills                    "description": "The desired link state for this interface.",
1658*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the desired link state for this interface.",
1659*f2a8e57eSGunnar Mills                    "readonly": false,
1660*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1661*f2a8e57eSGunnar Mills                },
1662*f2a8e57eSGunnar Mills                "LinkStatus": {
1663*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/LinkStatus",
1664*f2a8e57eSGunnar Mills                    "description": "The link status for this interface.",
1665*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the link status for this interface.",
1666*f2a8e57eSGunnar Mills                    "readonly": true,
1667*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1668*f2a8e57eSGunnar Mills                },
1669*f2a8e57eSGunnar Mills                "LinkTransitionIndicator": {
1670*f2a8e57eSGunnar Mills                    "description": "The number of link state transitions for this interface.",
1671*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the number of link state transitions for this interface.",
1672*f2a8e57eSGunnar Mills                    "readonly": false,
1673*f2a8e57eSGunnar Mills                    "type": "integer",
1674*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1675*f2a8e57eSGunnar Mills                },
1676*f2a8e57eSGunnar Mills                "Links": {
1677*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Links",
1678*f2a8e57eSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
1679*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
1680*f2a8e57eSGunnar Mills                },
1681*f2a8e57eSGunnar Mills                "Location": {
1682*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
1683*f2a8e57eSGunnar Mills                    "description": "The location of the port.",
1684*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the location information of the associated port.",
1685*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
1686*f2a8e57eSGunnar Mills                },
1687*f2a8e57eSGunnar Mills                "LocationIndicatorActive": {
1688*f2a8e57eSGunnar Mills                    "description": "An indicator allowing an operator to physically locate this resource.",
1689*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.  A write to this property shall update the value of `IndicatorLED` in this resource, if supported, to reflect the implementation of the locating function.",
1690*f2a8e57eSGunnar Mills                    "readonly": false,
1691*f2a8e57eSGunnar Mills                    "type": [
1692*f2a8e57eSGunnar Mills                        "boolean",
1693*f2a8e57eSGunnar Mills                        "null"
1694*f2a8e57eSGunnar Mills                    ],
1695*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1696*f2a8e57eSGunnar Mills                },
1697*f2a8e57eSGunnar Mills                "MaxFrameSize": {
1698*f2a8e57eSGunnar Mills                    "description": "The maximum frame size supported by the port.",
1699*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the maximum frame size supported by the port.",
1700*f2a8e57eSGunnar Mills                    "readonly": true,
1701*f2a8e57eSGunnar Mills                    "type": [
1702*f2a8e57eSGunnar Mills                        "integer",
1703*f2a8e57eSGunnar Mills                        "null"
1704*f2a8e57eSGunnar Mills                    ],
1705*f2a8e57eSGunnar Mills                    "units": "By",
1706*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
1707*f2a8e57eSGunnar Mills                },
1708*f2a8e57eSGunnar Mills                "MaxSpeedGbps": {
1709*f2a8e57eSGunnar Mills                    "description": "The maximum speed of this port as currently configured.",
1710*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the maximum unidirectional speed of which this port is capable of being configured.  If capable of autonegotiation, the system shall attempt to negotiate at the maximum speed set.  This value includes overhead associated with the protocol.",
1711*f2a8e57eSGunnar Mills                    "readonly": true,
1712*f2a8e57eSGunnar Mills                    "type": [
1713*f2a8e57eSGunnar Mills                        "number",
1714*f2a8e57eSGunnar Mills                        "null"
1715*f2a8e57eSGunnar Mills                    ],
1716*f2a8e57eSGunnar Mills                    "units": "Gbit/s"
1717*f2a8e57eSGunnar Mills                },
1718*f2a8e57eSGunnar Mills                "Metrics": {
1719*f2a8e57eSGunnar Mills                    "anyOf": [
1720*f2a8e57eSGunnar Mills                        {
1721*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/PortMetrics.json#/definitions/PortMetrics"
1722*f2a8e57eSGunnar Mills                        },
1723*f2a8e57eSGunnar Mills                        {
1724*f2a8e57eSGunnar Mills                            "type": "null"
1725*f2a8e57eSGunnar Mills                        }
1726*f2a8e57eSGunnar Mills                    ],
1727*f2a8e57eSGunnar Mills                    "description": "The link to the metrics associated with this port.",
1728*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to the metrics associated with this port.",
1729*f2a8e57eSGunnar Mills                    "readonly": true,
1730*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1731*f2a8e57eSGunnar Mills                },
1732*f2a8e57eSGunnar Mills                "Name": {
1733*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
1734*f2a8e57eSGunnar Mills                    "readonly": true
1735*f2a8e57eSGunnar Mills                },
1736*f2a8e57eSGunnar Mills                "Oem": {
1737*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
1738*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
1739*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
1740*f2a8e57eSGunnar Mills                },
1741*f2a8e57eSGunnar Mills                "PortId": {
1742*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `Location` and `ServiceLabel`.",
1743*f2a8e57eSGunnar Mills                    "description": "The label of this port on the physical package for this port.",
1744*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the name of the port as indicated on the device containing the port.",
1745*f2a8e57eSGunnar Mills                    "readonly": true,
1746*f2a8e57eSGunnar Mills                    "type": [
1747*f2a8e57eSGunnar Mills                        "string",
1748*f2a8e57eSGunnar Mills                        "null"
1749*f2a8e57eSGunnar Mills                    ],
1750*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_12_0"
1751*f2a8e57eSGunnar Mills                },
1752*f2a8e57eSGunnar Mills                "PortMedium": {
1753*f2a8e57eSGunnar Mills                    "anyOf": [
1754*f2a8e57eSGunnar Mills                        {
1755*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/PortMedium"
1756*f2a8e57eSGunnar Mills                        },
1757*f2a8e57eSGunnar Mills                        {
1758*f2a8e57eSGunnar Mills                            "type": "null"
1759*f2a8e57eSGunnar Mills                        }
1760*f2a8e57eSGunnar Mills                    ],
1761*f2a8e57eSGunnar Mills                    "description": "The physical connection medium for this port.",
1762*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the physical connection medium for this port.",
1763*f2a8e57eSGunnar Mills                    "readonly": true,
1764*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1765*f2a8e57eSGunnar Mills                },
1766*f2a8e57eSGunnar Mills                "PortProtocol": {
1767*f2a8e57eSGunnar Mills                    "anyOf": [
1768*f2a8e57eSGunnar Mills                        {
1769*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
1770*f2a8e57eSGunnar Mills                        },
1771*f2a8e57eSGunnar Mills                        {
1772*f2a8e57eSGunnar Mills                            "type": "null"
1773*f2a8e57eSGunnar Mills                        }
1774*f2a8e57eSGunnar Mills                    ],
1775*f2a8e57eSGunnar Mills                    "description": "The protocol being sent over this port.",
1776*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the protocol being sent over this port.",
1777*f2a8e57eSGunnar Mills                    "readonly": true
1778*f2a8e57eSGunnar Mills                },
1779*f2a8e57eSGunnar Mills                "PortType": {
1780*f2a8e57eSGunnar Mills                    "anyOf": [
1781*f2a8e57eSGunnar Mills                        {
1782*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/PortType"
1783*f2a8e57eSGunnar Mills                        },
1784*f2a8e57eSGunnar Mills                        {
1785*f2a8e57eSGunnar Mills                            "type": "null"
1786*f2a8e57eSGunnar Mills                        }
1787*f2a8e57eSGunnar Mills                    ],
1788*f2a8e57eSGunnar Mills                    "description": "The type of this port.",
1789*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the port type for this port.",
1790*f2a8e57eSGunnar Mills                    "readonly": false
1791*f2a8e57eSGunnar Mills                },
1792*f2a8e57eSGunnar Mills                "RemotePortId": {
1793*f2a8e57eSGunnar Mills                    "description": "The identifier of the remote port to which this port is connected.",
1794*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the identifier of the remote port, such as a switch or device, to which this port is connected.",
1795*f2a8e57eSGunnar Mills                    "readonly": true,
1796*f2a8e57eSGunnar Mills                    "type": [
1797*f2a8e57eSGunnar Mills                        "string",
1798*f2a8e57eSGunnar Mills                        "null"
1799*f2a8e57eSGunnar Mills                    ],
1800*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
1801*f2a8e57eSGunnar Mills                },
1802*f2a8e57eSGunnar Mills                "SFP": {
1803*f2a8e57eSGunnar Mills                    "anyOf": [
1804*f2a8e57eSGunnar Mills                        {
1805*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/SFP"
1806*f2a8e57eSGunnar Mills                        },
1807*f2a8e57eSGunnar Mills                        {
1808*f2a8e57eSGunnar Mills                            "type": "null"
1809*f2a8e57eSGunnar Mills                        }
1810*f2a8e57eSGunnar Mills                    ],
1811*f2a8e57eSGunnar Mills                    "description": "The small form-factor pluggable (SFP) device associated with this port.",
1812*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain data about the small form-factor pluggable (SFP) device currently occupying this port.",
1813*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
1814*f2a8e57eSGunnar Mills                },
1815*f2a8e57eSGunnar Mills                "SignalDetected": {
1816*f2a8e57eSGunnar Mills                    "description": "An indication of whether a signal is detected on this interface.",
1817*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether a signal that is appropriate for this link technology is detected for this port.",
1818*f2a8e57eSGunnar Mills                    "readonly": true,
1819*f2a8e57eSGunnar Mills                    "type": [
1820*f2a8e57eSGunnar Mills                        "boolean",
1821*f2a8e57eSGunnar Mills                        "null"
1822*f2a8e57eSGunnar Mills                    ],
1823*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
1824*f2a8e57eSGunnar Mills                },
1825*f2a8e57eSGunnar Mills                "Status": {
1826*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
1827*f2a8e57eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
1828*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
1829*f2a8e57eSGunnar Mills                },
1830*f2a8e57eSGunnar Mills                "Width": {
1831*f2a8e57eSGunnar Mills                    "description": "The number of lanes, phys, or other physical transport links that this port contains.",
1832*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the number of physical transport links that this port contains.",
1833*f2a8e57eSGunnar Mills                    "readonly": true,
1834*f2a8e57eSGunnar Mills                    "type": [
1835*f2a8e57eSGunnar Mills                        "integer",
1836*f2a8e57eSGunnar Mills                        "null"
1837*f2a8e57eSGunnar Mills                    ]
1838*f2a8e57eSGunnar Mills                }
1839*f2a8e57eSGunnar Mills            },
1840*f2a8e57eSGunnar Mills            "required": [
1841*f2a8e57eSGunnar Mills                "@odata.id",
1842*f2a8e57eSGunnar Mills                "@odata.type",
1843*f2a8e57eSGunnar Mills                "Id",
1844*f2a8e57eSGunnar Mills                "Name"
1845*f2a8e57eSGunnar Mills            ],
1846*f2a8e57eSGunnar Mills            "type": "object"
1847*f2a8e57eSGunnar Mills        },
1848*f2a8e57eSGunnar Mills        "PortConnectionType": {
1849*f2a8e57eSGunnar Mills            "enum": [
1850*f2a8e57eSGunnar Mills                "NotConnected",
1851*f2a8e57eSGunnar Mills                "NPort",
1852*f2a8e57eSGunnar Mills                "PointToPoint",
1853*f2a8e57eSGunnar Mills                "PrivateLoop",
1854*f2a8e57eSGunnar Mills                "PublicLoop",
1855*f2a8e57eSGunnar Mills                "Generic",
1856*f2a8e57eSGunnar Mills                "ExtenderFabric",
1857*f2a8e57eSGunnar Mills                "FPort",
1858*f2a8e57eSGunnar Mills                "EPort",
1859*f2a8e57eSGunnar Mills                "TEPort",
1860*f2a8e57eSGunnar Mills                "NPPort",
1861*f2a8e57eSGunnar Mills                "GPort",
1862*f2a8e57eSGunnar Mills                "NLPort",
1863*f2a8e57eSGunnar Mills                "FLPort",
1864*f2a8e57eSGunnar Mills                "EXPort",
1865*f2a8e57eSGunnar Mills                "UPort",
1866*f2a8e57eSGunnar Mills                "DPort"
1867*f2a8e57eSGunnar Mills            ],
1868*f2a8e57eSGunnar Mills            "enumDescriptions": {
1869*f2a8e57eSGunnar Mills                "DPort": "This port connection type is a diagnostic port.",
1870*f2a8e57eSGunnar Mills                "EPort": "This port connection type is an extender fabric port.",
1871*f2a8e57eSGunnar Mills                "EXPort": "This port connection type is an external fabric port.",
1872*f2a8e57eSGunnar Mills                "ExtenderFabric": "This port connection type is an extender fabric port.",
1873*f2a8e57eSGunnar Mills                "FLPort": "This port connects in a fabric loop configuration.",
1874*f2a8e57eSGunnar Mills                "FPort": "This port connection type is a fabric port.",
1875*f2a8e57eSGunnar Mills                "GPort": "This port connection type is a generic fabric port.",
1876*f2a8e57eSGunnar Mills                "Generic": "This port connection type is a generic fabric port.",
1877*f2a8e57eSGunnar Mills                "NLPort": "This port connects in a node loop configuration.",
1878*f2a8e57eSGunnar Mills                "NPPort": "This port connection type is a proxy N-port for N-port virtualization.",
1879*f2a8e57eSGunnar Mills                "NPort": "This port connects through an N-port to a switch.",
1880*f2a8e57eSGunnar Mills                "NotConnected": "This port is not connected.",
1881*f2a8e57eSGunnar Mills                "PointToPoint": "This port connects in a point-to-point configuration.",
1882*f2a8e57eSGunnar Mills                "PrivateLoop": "This port connects in a private loop configuration.",
1883*f2a8e57eSGunnar Mills                "PublicLoop": "This port connects in a public configuration.",
1884*f2a8e57eSGunnar Mills                "TEPort": "This port connection type is a trunking extender fabric port.",
1885*f2a8e57eSGunnar Mills                "UPort": "This port connection type is unassigned."
1886*f2a8e57eSGunnar Mills            },
1887*f2a8e57eSGunnar Mills            "enumVersionAdded": {
1888*f2a8e57eSGunnar Mills                "DPort": "v1_5_0",
1889*f2a8e57eSGunnar Mills                "EPort": "v1_5_0",
1890*f2a8e57eSGunnar Mills                "EXPort": "v1_5_0",
1891*f2a8e57eSGunnar Mills                "FLPort": "v1_5_0",
1892*f2a8e57eSGunnar Mills                "FPort": "v1_5_0",
1893*f2a8e57eSGunnar Mills                "GPort": "v1_5_0",
1894*f2a8e57eSGunnar Mills                "NLPort": "v1_5_0",
1895*f2a8e57eSGunnar Mills                "NPPort": "v1_5_0",
1896*f2a8e57eSGunnar Mills                "TEPort": "v1_5_0",
1897*f2a8e57eSGunnar Mills                "UPort": "v1_5_0"
1898*f2a8e57eSGunnar Mills            },
1899*f2a8e57eSGunnar Mills            "type": "string"
1900*f2a8e57eSGunnar Mills        },
1901*f2a8e57eSGunnar Mills        "PortMedium": {
1902*f2a8e57eSGunnar Mills            "enum": [
1903*f2a8e57eSGunnar Mills                "Electrical",
1904*f2a8e57eSGunnar Mills                "Optical"
1905*f2a8e57eSGunnar Mills            ],
1906*f2a8e57eSGunnar Mills            "enumDescriptions": {
1907*f2a8e57eSGunnar Mills                "Electrical": "This port has an electrical cable connection.",
1908*f2a8e57eSGunnar Mills                "Optical": "This port has an optical cable connection."
1909*f2a8e57eSGunnar Mills            },
1910*f2a8e57eSGunnar Mills            "type": "string"
1911*f2a8e57eSGunnar Mills        },
1912*f2a8e57eSGunnar Mills        "PortType": {
1913*f2a8e57eSGunnar Mills            "enum": [
1914*f2a8e57eSGunnar Mills                "UpstreamPort",
1915*f2a8e57eSGunnar Mills                "DownstreamPort",
1916*f2a8e57eSGunnar Mills                "InterswitchPort",
1917*f2a8e57eSGunnar Mills                "ManagementPort",
1918*f2a8e57eSGunnar Mills                "BidirectionalPort",
1919*f2a8e57eSGunnar Mills                "UnconfiguredPort"
1920*f2a8e57eSGunnar Mills            ],
1921*f2a8e57eSGunnar Mills            "enumDescriptions": {
1922*f2a8e57eSGunnar Mills                "BidirectionalPort": "This port connects to any type of device.",
1923*f2a8e57eSGunnar Mills                "DownstreamPort": "This port connects to a target device.",
1924*f2a8e57eSGunnar Mills                "InterswitchPort": "This port connects to another switch.",
1925*f2a8e57eSGunnar Mills                "ManagementPort": "This port connects to a switch manager.",
1926*f2a8e57eSGunnar Mills                "UnconfiguredPort": "This port has not yet been configured.",
1927*f2a8e57eSGunnar Mills                "UpstreamPort": "This port connects to a host device."
1928*f2a8e57eSGunnar Mills            },
1929*f2a8e57eSGunnar Mills            "type": "string"
1930*f2a8e57eSGunnar Mills        },
1931*f2a8e57eSGunnar Mills        "QoSTelemetryCapabilities": {
1932*f2a8e57eSGunnar Mills            "additionalProperties": false,
1933*f2a8e57eSGunnar Mills            "description": "The quality of service telemetry capabilities for a CXL port.",
1934*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the quality of service telemetry capabilities for a CXL port.",
1935*f2a8e57eSGunnar Mills            "patternProperties": {
1936*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1937*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1938*f2a8e57eSGunnar Mills                    "type": [
1939*f2a8e57eSGunnar Mills                        "array",
1940*f2a8e57eSGunnar Mills                        "boolean",
1941*f2a8e57eSGunnar Mills                        "integer",
1942*f2a8e57eSGunnar Mills                        "number",
1943*f2a8e57eSGunnar Mills                        "null",
1944*f2a8e57eSGunnar Mills                        "object",
1945*f2a8e57eSGunnar Mills                        "string"
1946*f2a8e57eSGunnar Mills                    ]
1947*f2a8e57eSGunnar Mills                }
1948*f2a8e57eSGunnar Mills            },
1949*f2a8e57eSGunnar Mills            "properties": {
1950*f2a8e57eSGunnar Mills                "EgressPortBackpressureSupported": {
1951*f2a8e57eSGunnar Mills                    "description": "Indicates whether the port supports the CXL Specification-defined 'Egress Port Backpressure' mechanism.",
1952*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the port supports the CXL Specification-defined 'Egress Port Backpressure' mechanism.",
1953*f2a8e57eSGunnar Mills                    "readonly": true,
1954*f2a8e57eSGunnar Mills                    "type": [
1955*f2a8e57eSGunnar Mills                        "boolean",
1956*f2a8e57eSGunnar Mills                        "null"
1957*f2a8e57eSGunnar Mills                    ],
1958*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0"
1959*f2a8e57eSGunnar Mills                },
1960*f2a8e57eSGunnar Mills                "TemporaryThroughputReductionSupported": {
1961*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `TemporaryThroughputReductionSupported` in `PCIeDevice`.",
1962*f2a8e57eSGunnar Mills                    "description": "Indicates whether the port supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism.",
1963*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the port supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism.",
1964*f2a8e57eSGunnar Mills                    "readonly": true,
1965*f2a8e57eSGunnar Mills                    "type": [
1966*f2a8e57eSGunnar Mills                        "boolean",
1967*f2a8e57eSGunnar Mills                        "null"
1968*f2a8e57eSGunnar Mills                    ],
1969*f2a8e57eSGunnar Mills                    "versionAdded": "v1_8_0",
1970*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_12_0"
1971*f2a8e57eSGunnar Mills                }
1972*f2a8e57eSGunnar Mills            },
1973*f2a8e57eSGunnar Mills            "type": "object"
1974*f2a8e57eSGunnar Mills        },
1975*f2a8e57eSGunnar Mills        "Reset": {
1976*f2a8e57eSGunnar Mills            "additionalProperties": false,
1977*f2a8e57eSGunnar Mills            "description": "This action resets this port.",
1978*f2a8e57eSGunnar Mills            "longDescription": "This action shall reset this port.",
1979*f2a8e57eSGunnar Mills            "parameters": {
1980*f2a8e57eSGunnar Mills                "ResetType": {
1981*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
1982*f2a8e57eSGunnar Mills                    "description": "The type of reset.",
1983*f2a8e57eSGunnar Mills                    "longDescription": "This parameter shall contain the type of reset.  The service can accept a request without the parameter and perform an implementation-specific default reset."
1984*f2a8e57eSGunnar Mills                }
1985*f2a8e57eSGunnar Mills            },
1986*f2a8e57eSGunnar Mills            "patternProperties": {
1987*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1988*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1989*f2a8e57eSGunnar Mills                    "type": [
1990*f2a8e57eSGunnar Mills                        "array",
1991*f2a8e57eSGunnar Mills                        "boolean",
1992*f2a8e57eSGunnar Mills                        "integer",
1993*f2a8e57eSGunnar Mills                        "number",
1994*f2a8e57eSGunnar Mills                        "null",
1995*f2a8e57eSGunnar Mills                        "object",
1996*f2a8e57eSGunnar Mills                        "string"
1997*f2a8e57eSGunnar Mills                    ]
1998*f2a8e57eSGunnar Mills                }
1999*f2a8e57eSGunnar Mills            },
2000*f2a8e57eSGunnar Mills            "properties": {
2001*f2a8e57eSGunnar Mills                "target": {
2002*f2a8e57eSGunnar Mills                    "description": "Link to invoke action",
2003*f2a8e57eSGunnar Mills                    "format": "uri-reference",
2004*f2a8e57eSGunnar Mills                    "type": "string"
2005*f2a8e57eSGunnar Mills                },
2006*f2a8e57eSGunnar Mills                "title": {
2007*f2a8e57eSGunnar Mills                    "description": "Friendly action name",
2008*f2a8e57eSGunnar Mills                    "type": "string"
2009*f2a8e57eSGunnar Mills                }
2010*f2a8e57eSGunnar Mills            },
2011*f2a8e57eSGunnar Mills            "type": "object"
2012*f2a8e57eSGunnar Mills        },
2013*f2a8e57eSGunnar Mills        "ResetPPB": {
2014*f2a8e57eSGunnar Mills            "additionalProperties": false,
2015*f2a8e57eSGunnar Mills            "description": "This action resets the PCI-to-PCI bridge (PPB) for this port.",
2016*f2a8e57eSGunnar Mills            "longDescription": "This action shall reset the PCI-to-PCI bridge (PPB) for this port.",
2017*f2a8e57eSGunnar Mills            "parameters": {},
2018*f2a8e57eSGunnar Mills            "patternProperties": {
2019*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
2020*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
2021*f2a8e57eSGunnar Mills                    "type": [
2022*f2a8e57eSGunnar Mills                        "array",
2023*f2a8e57eSGunnar Mills                        "boolean",
2024*f2a8e57eSGunnar Mills                        "integer",
2025*f2a8e57eSGunnar Mills                        "number",
2026*f2a8e57eSGunnar Mills                        "null",
2027*f2a8e57eSGunnar Mills                        "object",
2028*f2a8e57eSGunnar Mills                        "string"
2029*f2a8e57eSGunnar Mills                    ]
2030*f2a8e57eSGunnar Mills                }
2031*f2a8e57eSGunnar Mills            },
2032*f2a8e57eSGunnar Mills            "properties": {
2033*f2a8e57eSGunnar Mills                "target": {
2034*f2a8e57eSGunnar Mills                    "description": "Link to invoke action",
2035*f2a8e57eSGunnar Mills                    "format": "uri-reference",
2036*f2a8e57eSGunnar Mills                    "type": "string"
2037*f2a8e57eSGunnar Mills                },
2038*f2a8e57eSGunnar Mills                "title": {
2039*f2a8e57eSGunnar Mills                    "description": "Friendly action name",
2040*f2a8e57eSGunnar Mills                    "type": "string"
2041*f2a8e57eSGunnar Mills                }
2042*f2a8e57eSGunnar Mills            },
2043*f2a8e57eSGunnar Mills            "type": "object",
2044*f2a8e57eSGunnar Mills            "versionAdded": "v1_8_0"
2045*f2a8e57eSGunnar Mills        },
2046*f2a8e57eSGunnar Mills        "SFP": {
2047*f2a8e57eSGunnar Mills            "additionalProperties": false,
2048*f2a8e57eSGunnar Mills            "description": "A small form-factor pluggable (SFP) device attached to a port.",
2049*f2a8e57eSGunnar Mills            "longDescription": "This type shall describe a small form-factor pluggable (SFP) device attached to a port.",
2050*f2a8e57eSGunnar Mills            "patternProperties": {
2051*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
2052*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
2053*f2a8e57eSGunnar Mills                    "type": [
2054*f2a8e57eSGunnar Mills                        "array",
2055*f2a8e57eSGunnar Mills                        "boolean",
2056*f2a8e57eSGunnar Mills                        "integer",
2057*f2a8e57eSGunnar Mills                        "number",
2058*f2a8e57eSGunnar Mills                        "null",
2059*f2a8e57eSGunnar Mills                        "object",
2060*f2a8e57eSGunnar Mills                        "string"
2061*f2a8e57eSGunnar Mills                    ]
2062*f2a8e57eSGunnar Mills                }
2063*f2a8e57eSGunnar Mills            },
2064*f2a8e57eSGunnar Mills            "properties": {
2065*f2a8e57eSGunnar Mills                "FiberConnectionType": {
2066*f2a8e57eSGunnar Mills                    "anyOf": [
2067*f2a8e57eSGunnar Mills                        {
2068*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/FiberConnectionType"
2069*f2a8e57eSGunnar Mills                        },
2070*f2a8e57eSGunnar Mills                        {
2071*f2a8e57eSGunnar Mills                            "type": "null"
2072*f2a8e57eSGunnar Mills                        }
2073*f2a8e57eSGunnar Mills                    ],
2074*f2a8e57eSGunnar Mills                    "description": "The type of fiber connection currently used by this SFP.",
2075*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the fiber connection type used by the SFP.",
2076*f2a8e57eSGunnar Mills                    "readonly": true,
2077*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2078*f2a8e57eSGunnar Mills                },
2079*f2a8e57eSGunnar Mills                "Manufacturer": {
2080*f2a8e57eSGunnar Mills                    "description": "The manufacturer of this SFP.",
2081*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the name of the organization responsible for producing the SFP.  This organization may be the entity from which the SFP is purchased, but this is not necessarily true.",
2082*f2a8e57eSGunnar Mills                    "readonly": true,
2083*f2a8e57eSGunnar Mills                    "type": [
2084*f2a8e57eSGunnar Mills                        "string",
2085*f2a8e57eSGunnar Mills                        "null"
2086*f2a8e57eSGunnar Mills                    ],
2087*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2088*f2a8e57eSGunnar Mills                },
2089*f2a8e57eSGunnar Mills                "MediumType": {
2090*f2a8e57eSGunnar Mills                    "anyOf": [
2091*f2a8e57eSGunnar Mills                        {
2092*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/MediumType"
2093*f2a8e57eSGunnar Mills                        },
2094*f2a8e57eSGunnar Mills                        {
2095*f2a8e57eSGunnar Mills                            "type": "null"
2096*f2a8e57eSGunnar Mills                        }
2097*f2a8e57eSGunnar Mills                    ],
2098*f2a8e57eSGunnar Mills                    "description": "The medium type connected to this SFP.",
2099*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the medium type used by the SFP.",
2100*f2a8e57eSGunnar Mills                    "readonly": true,
2101*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2102*f2a8e57eSGunnar Mills                },
2103*f2a8e57eSGunnar Mills                "PartNumber": {
2104*f2a8e57eSGunnar Mills                    "description": "The part number for this SFP.",
2105*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the manufacturer-provided part number for the SFP.",
2106*f2a8e57eSGunnar Mills                    "readonly": true,
2107*f2a8e57eSGunnar Mills                    "type": [
2108*f2a8e57eSGunnar Mills                        "string",
2109*f2a8e57eSGunnar Mills                        "null"
2110*f2a8e57eSGunnar Mills                    ],
2111*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2112*f2a8e57eSGunnar Mills                },
2113*f2a8e57eSGunnar Mills                "SerialNumber": {
2114*f2a8e57eSGunnar Mills                    "description": "The serial number for this SFP.",
2115*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the SFP.",
2116*f2a8e57eSGunnar Mills                    "readonly": true,
2117*f2a8e57eSGunnar Mills                    "type": [
2118*f2a8e57eSGunnar Mills                        "string",
2119*f2a8e57eSGunnar Mills                        "null"
2120*f2a8e57eSGunnar Mills                    ],
2121*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2122*f2a8e57eSGunnar Mills                },
2123*f2a8e57eSGunnar Mills                "Status": {
2124*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
2125*f2a8e57eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
2126*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource.",
2127*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2128*f2a8e57eSGunnar Mills                },
2129*f2a8e57eSGunnar Mills                "SupportedSFPTypes": {
2130*f2a8e57eSGunnar Mills                    "description": "The types of SFP devices that can be attached to this port.",
2131*f2a8e57eSGunnar Mills                    "items": {
2132*f2a8e57eSGunnar Mills                        "anyOf": [
2133*f2a8e57eSGunnar Mills                            {
2134*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/SFPType"
2135*f2a8e57eSGunnar Mills                            },
2136*f2a8e57eSGunnar Mills                            {
2137*f2a8e57eSGunnar Mills                                "type": "null"
2138*f2a8e57eSGunnar Mills                            }
2139*f2a8e57eSGunnar Mills                        ]
2140*f2a8e57eSGunnar Mills                    },
2141*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of SFP device types supported by this port.",
2142*f2a8e57eSGunnar Mills                    "readonly": true,
2143*f2a8e57eSGunnar Mills                    "type": "array",
2144*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2145*f2a8e57eSGunnar Mills                },
2146*f2a8e57eSGunnar Mills                "Type": {
2147*f2a8e57eSGunnar Mills                    "anyOf": [
2148*f2a8e57eSGunnar Mills                        {
2149*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/SFPType"
2150*f2a8e57eSGunnar Mills                        },
2151*f2a8e57eSGunnar Mills                        {
2152*f2a8e57eSGunnar Mills                            "type": "null"
2153*f2a8e57eSGunnar Mills                        }
2154*f2a8e57eSGunnar Mills                    ],
2155*f2a8e57eSGunnar Mills                    "description": "The type of SFP device that is attached to this port.",
2156*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the SFP device type currently attached to this port.",
2157*f2a8e57eSGunnar Mills                    "readonly": true,
2158*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
2159*f2a8e57eSGunnar Mills                }
2160*f2a8e57eSGunnar Mills            },
2161*f2a8e57eSGunnar Mills            "type": "object"
2162*f2a8e57eSGunnar Mills        },
2163*f2a8e57eSGunnar Mills        "SFPType": {
2164*f2a8e57eSGunnar Mills            "enum": [
2165*f2a8e57eSGunnar Mills                "SFP",
2166*f2a8e57eSGunnar Mills                "SFPPlus",
2167*f2a8e57eSGunnar Mills                "SFP28",
2168*f2a8e57eSGunnar Mills                "cSFP",
2169*f2a8e57eSGunnar Mills                "SFPDD",
2170*f2a8e57eSGunnar Mills                "QSFP",
2171*f2a8e57eSGunnar Mills                "QSFPPlus",
2172*f2a8e57eSGunnar Mills                "QSFP14",
2173*f2a8e57eSGunnar Mills                "QSFP28",
2174*f2a8e57eSGunnar Mills                "QSFP56",
2175*f2a8e57eSGunnar Mills                "MiniSASHD",
2176*f2a8e57eSGunnar Mills                "QSFPDD",
2177*f2a8e57eSGunnar Mills                "OSFP"
2178*f2a8e57eSGunnar Mills            ],
2179*f2a8e57eSGunnar Mills            "enumDescriptions": {
2180*f2a8e57eSGunnar Mills                "MiniSASHD": "The SFP conforms to the SFF Specification SFF-8644.",
2181*f2a8e57eSGunnar Mills                "OSFP": "The SFP conforms to the OSFP Specification.",
2182*f2a8e57eSGunnar Mills                "QSFP": "The SFP conforms to the SFF Specification for QSFP.",
2183*f2a8e57eSGunnar Mills                "QSFP14": "The SFP conforms to the SFF Specification for QSFP14.",
2184*f2a8e57eSGunnar Mills                "QSFP28": "The SFP conforms to the SFF Specification for QSFP28.",
2185*f2a8e57eSGunnar Mills                "QSFP56": "The SFP conforms to the SFF Specification for QSFP56.",
2186*f2a8e57eSGunnar Mills                "QSFPDD": "The SFP conforms to the QSFP Double Density Specification.",
2187*f2a8e57eSGunnar Mills                "QSFPPlus": "The SFP conforms to the SFF Specification for QSFP+.",
2188*f2a8e57eSGunnar Mills                "SFP": "The SFP conforms to the SFF Specification for SFP.",
2189*f2a8e57eSGunnar Mills                "SFP28": "The SFP conforms to the SFF Specification for SFP+ and IEEE 802.3by Specification.",
2190*f2a8e57eSGunnar Mills                "SFPDD": "The SFP conforms to the SFP-DD MSA Specification.",
2191*f2a8e57eSGunnar Mills                "SFPPlus": "The SFP conforms to the SFF Specification for SFP+.",
2192*f2a8e57eSGunnar Mills                "cSFP": "The SFP conforms to the CSFP MSA Specification."
2193*f2a8e57eSGunnar Mills            },
2194*f2a8e57eSGunnar Mills            "enumVersionAdded": {
2195*f2a8e57eSGunnar Mills                "OSFP": "v1_9_0",
2196*f2a8e57eSGunnar Mills                "QSFPDD": "v1_9_0"
2197*f2a8e57eSGunnar Mills            },
2198*f2a8e57eSGunnar Mills            "type": "string"
2199*f2a8e57eSGunnar Mills        },
2200*f2a8e57eSGunnar Mills        "SupportedEthernetCapabilities": {
2201*f2a8e57eSGunnar Mills            "enum": [
2202*f2a8e57eSGunnar Mills                "WakeOnLAN",
2203*f2a8e57eSGunnar Mills                "EEE"
2204*f2a8e57eSGunnar Mills            ],
2205*f2a8e57eSGunnar Mills            "enumDescriptions": {
2206*f2a8e57eSGunnar Mills                "EEE": "IEEE 802.3az Energy-Efficient Ethernet (EEE) is supported on this port.",
2207*f2a8e57eSGunnar Mills                "WakeOnLAN": "Wake on LAN (WoL) is supported on this port."
2208*f2a8e57eSGunnar Mills            },
2209*f2a8e57eSGunnar Mills            "type": "string"
2210*f2a8e57eSGunnar Mills        }
2211*f2a8e57eSGunnar Mills    },
2212*f2a8e57eSGunnar Mills    "language": "en",
2213*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
2214*f2a8e57eSGunnar Mills    "release": "2024.1",
2215*f2a8e57eSGunnar Mills    "title": "#Port.v1_12_0.Port"
2216*f2a8e57eSGunnar Mills}