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