1*dd5c81e9SGunnar Mills{
2*dd5c81e9SGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/PortMetrics.v1_7_0.json",
3*dd5c81e9SGunnar Mills    "$ref": "#/definitions/PortMetrics",
4*dd5c81e9SGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*dd5c81e9SGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*dd5c81e9SGunnar Mills    "definitions": {
7*dd5c81e9SGunnar Mills        "Actions": {
8*dd5c81e9SGunnar Mills            "additionalProperties": false,
9*dd5c81e9SGunnar Mills            "description": "The available actions for this resource.",
10*dd5c81e9SGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*dd5c81e9SGunnar Mills            "patternProperties": {
12*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*dd5c81e9SGunnar Mills                    "type": [
15*dd5c81e9SGunnar Mills                        "array",
16*dd5c81e9SGunnar Mills                        "boolean",
17*dd5c81e9SGunnar Mills                        "integer",
18*dd5c81e9SGunnar Mills                        "number",
19*dd5c81e9SGunnar Mills                        "null",
20*dd5c81e9SGunnar Mills                        "object",
21*dd5c81e9SGunnar Mills                        "string"
22*dd5c81e9SGunnar Mills                    ]
23*dd5c81e9SGunnar Mills                }
24*dd5c81e9SGunnar Mills            },
25*dd5c81e9SGunnar Mills            "properties": {
26*dd5c81e9SGunnar Mills                "#PortMetrics.ResetMetrics": {
27*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/ResetMetrics"
28*dd5c81e9SGunnar Mills                },
29*dd5c81e9SGunnar Mills                "Oem": {
30*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/OemActions",
31*dd5c81e9SGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
32*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33*dd5c81e9SGunnar Mills                }
34*dd5c81e9SGunnar Mills            },
35*dd5c81e9SGunnar Mills            "type": "object"
36*dd5c81e9SGunnar Mills        },
37*dd5c81e9SGunnar Mills        "CXL": {
38*dd5c81e9SGunnar Mills            "additionalProperties": false,
39*dd5c81e9SGunnar Mills            "description": "The port metrics specific to CXL ports.",
40*dd5c81e9SGunnar Mills            "longDescription": "This type shall contain the port metrics specific to CXL ports.",
41*dd5c81e9SGunnar Mills            "patternProperties": {
42*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
43*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
44*dd5c81e9SGunnar Mills                    "type": [
45*dd5c81e9SGunnar Mills                        "array",
46*dd5c81e9SGunnar Mills                        "boolean",
47*dd5c81e9SGunnar Mills                        "integer",
48*dd5c81e9SGunnar Mills                        "number",
49*dd5c81e9SGunnar Mills                        "null",
50*dd5c81e9SGunnar Mills                        "object",
51*dd5c81e9SGunnar Mills                        "string"
52*dd5c81e9SGunnar Mills                    ]
53*dd5c81e9SGunnar Mills                }
54*dd5c81e9SGunnar Mills            },
55*dd5c81e9SGunnar Mills            "properties": {
56*dd5c81e9SGunnar Mills                "BackpressureAveragePercentage": {
57*dd5c81e9SGunnar Mills                    "description": "The average congestion of the port as a percentage.",
58*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain CXL Specification-defined 'Backpressure Average Percentage' as a percentage, typically `0` to `100`.",
59*dd5c81e9SGunnar Mills                    "readonly": true,
60*dd5c81e9SGunnar Mills                    "type": "integer",
61*dd5c81e9SGunnar Mills                    "units": "%",
62*dd5c81e9SGunnar Mills                    "versionAdded": "v1_4_0"
63*dd5c81e9SGunnar Mills                }
64*dd5c81e9SGunnar Mills            },
65*dd5c81e9SGunnar Mills            "type": "object"
66*dd5c81e9SGunnar Mills        },
67*dd5c81e9SGunnar Mills        "FibreChannel": {
68*dd5c81e9SGunnar Mills            "additionalProperties": false,
69*dd5c81e9SGunnar Mills            "description": "The Fibre Channel-specific port metrics for network ports.",
70*dd5c81e9SGunnar Mills            "longDescription": "This type shall describe Fibre Channel-specific metrics for network ports.",
71*dd5c81e9SGunnar Mills            "patternProperties": {
72*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
73*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
74*dd5c81e9SGunnar Mills                    "type": [
75*dd5c81e9SGunnar Mills                        "array",
76*dd5c81e9SGunnar Mills                        "boolean",
77*dd5c81e9SGunnar Mills                        "integer",
78*dd5c81e9SGunnar Mills                        "number",
79*dd5c81e9SGunnar Mills                        "null",
80*dd5c81e9SGunnar Mills                        "object",
81*dd5c81e9SGunnar Mills                        "string"
82*dd5c81e9SGunnar Mills                    ]
83*dd5c81e9SGunnar Mills                }
84*dd5c81e9SGunnar Mills            },
85*dd5c81e9SGunnar Mills            "properties": {
86*dd5c81e9SGunnar Mills                "CorrectableFECErrors": {
87*dd5c81e9SGunnar Mills                    "description": "The total number of correctable forward error correction (FEC) errors.",
88*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of times this port has received traffic with correctable forward error correction (FEC) errors.",
89*dd5c81e9SGunnar Mills                    "readonly": true,
90*dd5c81e9SGunnar Mills                    "type": [
91*dd5c81e9SGunnar Mills                        "integer",
92*dd5c81e9SGunnar Mills                        "null"
93*dd5c81e9SGunnar Mills                    ],
94*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
95*dd5c81e9SGunnar Mills                },
96*dd5c81e9SGunnar Mills                "InvalidCRCs": {
97*dd5c81e9SGunnar Mills                    "description": "The total number of invalid cyclic redundancy checks (CRCs).",
98*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of invalid cyclic redundancy checks (CRCs) observed on this port.",
99*dd5c81e9SGunnar Mills                    "readonly": true,
100*dd5c81e9SGunnar Mills                    "type": [
101*dd5c81e9SGunnar Mills                        "integer",
102*dd5c81e9SGunnar Mills                        "null"
103*dd5c81e9SGunnar Mills                    ],
104*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
105*dd5c81e9SGunnar Mills                },
106*dd5c81e9SGunnar Mills                "InvalidTXWords": {
107*dd5c81e9SGunnar Mills                    "description": "The total number of invalid transmission words.",
108*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of times this port has received invalid transmission words.",
109*dd5c81e9SGunnar Mills                    "readonly": true,
110*dd5c81e9SGunnar Mills                    "type": [
111*dd5c81e9SGunnar Mills                        "integer",
112*dd5c81e9SGunnar Mills                        "null"
113*dd5c81e9SGunnar Mills                    ],
114*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
115*dd5c81e9SGunnar Mills                },
116*dd5c81e9SGunnar Mills                "LinkFailures": {
117*dd5c81e9SGunnar Mills                    "description": "The total number of link failures.",
118*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of link failures observed on this port.",
119*dd5c81e9SGunnar Mills                    "readonly": true,
120*dd5c81e9SGunnar Mills                    "type": [
121*dd5c81e9SGunnar Mills                        "integer",
122*dd5c81e9SGunnar Mills                        "null"
123*dd5c81e9SGunnar Mills                    ],
124*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
125*dd5c81e9SGunnar Mills                },
126*dd5c81e9SGunnar Mills                "LossesOfSignal": {
127*dd5c81e9SGunnar Mills                    "description": "The total number of losses of signal.",
128*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of times this port has lost signal.",
129*dd5c81e9SGunnar Mills                    "readonly": true,
130*dd5c81e9SGunnar Mills                    "type": [
131*dd5c81e9SGunnar Mills                        "integer",
132*dd5c81e9SGunnar Mills                        "null"
133*dd5c81e9SGunnar Mills                    ],
134*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
135*dd5c81e9SGunnar Mills                },
136*dd5c81e9SGunnar Mills                "LossesOfSync": {
137*dd5c81e9SGunnar Mills                    "description": "The total number of losses of sync.",
138*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of times this port has lost sync.",
139*dd5c81e9SGunnar Mills                    "readonly": true,
140*dd5c81e9SGunnar Mills                    "type": [
141*dd5c81e9SGunnar Mills                        "integer",
142*dd5c81e9SGunnar Mills                        "null"
143*dd5c81e9SGunnar Mills                    ],
144*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
145*dd5c81e9SGunnar Mills                },
146*dd5c81e9SGunnar Mills                "RXBBCreditZero": {
147*dd5c81e9SGunnar Mills                    "description": "The number of times the receive buffer-to-buffer credit count transitioned to zero.",
148*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of times the receive buffer-to-buffer credit count transitioned to zero since last counter reset.",
149*dd5c81e9SGunnar Mills                    "readonly": true,
150*dd5c81e9SGunnar Mills                    "type": [
151*dd5c81e9SGunnar Mills                        "integer",
152*dd5c81e9SGunnar Mills                        "null"
153*dd5c81e9SGunnar Mills                    ],
154*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
155*dd5c81e9SGunnar Mills                },
156*dd5c81e9SGunnar Mills                "RXExchanges": {
157*dd5c81e9SGunnar Mills                    "description": "The total number of Fibre Channel exchanges received.",
158*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of Fibre Channel exchanges received.",
159*dd5c81e9SGunnar Mills                    "readonly": true,
160*dd5c81e9SGunnar Mills                    "type": [
161*dd5c81e9SGunnar Mills                        "integer",
162*dd5c81e9SGunnar Mills                        "null"
163*dd5c81e9SGunnar Mills                    ],
164*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
165*dd5c81e9SGunnar Mills                },
166*dd5c81e9SGunnar Mills                "RXSequences": {
167*dd5c81e9SGunnar Mills                    "description": "The total number of Fibre Channel sequences received.",
168*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of Fibre Channel sequences received.",
169*dd5c81e9SGunnar Mills                    "readonly": true,
170*dd5c81e9SGunnar Mills                    "type": [
171*dd5c81e9SGunnar Mills                        "integer",
172*dd5c81e9SGunnar Mills                        "null"
173*dd5c81e9SGunnar Mills                    ],
174*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
175*dd5c81e9SGunnar Mills                },
176*dd5c81e9SGunnar Mills                "TXBBCreditZero": {
177*dd5c81e9SGunnar Mills                    "description": "The number of times the transmit buffer-to-buffer credit count transitioned to zero.",
178*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of times the transmit buffer-to-buffer credit count transitioned to zero since last counter reset.",
179*dd5c81e9SGunnar Mills                    "readonly": true,
180*dd5c81e9SGunnar Mills                    "type": [
181*dd5c81e9SGunnar Mills                        "integer",
182*dd5c81e9SGunnar Mills                        "null"
183*dd5c81e9SGunnar Mills                    ],
184*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
185*dd5c81e9SGunnar Mills                },
186*dd5c81e9SGunnar Mills                "TXBBCreditZeroDurationMilliseconds": {
187*dd5c81e9SGunnar Mills                    "description": "The total amount of time the port has been blocked from transmitting due to lack of buffer credits.",
188*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total amount of time in milliseconds the port has been blocked from transmitting due to lack of buffer credits since the last counter reset.",
189*dd5c81e9SGunnar Mills                    "readonly": true,
190*dd5c81e9SGunnar Mills                    "type": [
191*dd5c81e9SGunnar Mills                        "integer",
192*dd5c81e9SGunnar Mills                        "null"
193*dd5c81e9SGunnar Mills                    ],
194*dd5c81e9SGunnar Mills                    "units": "ms",
195*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
196*dd5c81e9SGunnar Mills                },
197*dd5c81e9SGunnar Mills                "TXBBCredits": {
198*dd5c81e9SGunnar Mills                    "description": "The number of transmit buffer-to-buffer credits the port is configured to use.",
199*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of transmit buffer-to-buffer credits the port is configured to use.",
200*dd5c81e9SGunnar Mills                    "readonly": true,
201*dd5c81e9SGunnar Mills                    "type": [
202*dd5c81e9SGunnar Mills                        "integer",
203*dd5c81e9SGunnar Mills                        "null"
204*dd5c81e9SGunnar Mills                    ],
205*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
206*dd5c81e9SGunnar Mills                },
207*dd5c81e9SGunnar Mills                "TXExchanges": {
208*dd5c81e9SGunnar Mills                    "description": "The total number of Fibre Channel exchanges transmitted.",
209*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of Fibre Channel exchanges transmitted.",
210*dd5c81e9SGunnar Mills                    "readonly": true,
211*dd5c81e9SGunnar Mills                    "type": [
212*dd5c81e9SGunnar Mills                        "integer",
213*dd5c81e9SGunnar Mills                        "null"
214*dd5c81e9SGunnar Mills                    ],
215*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
216*dd5c81e9SGunnar Mills                },
217*dd5c81e9SGunnar Mills                "TXSequences": {
218*dd5c81e9SGunnar Mills                    "description": "The total number of Fibre Channel sequences transmitted.",
219*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of Fibre Channel sequences transmitted.",
220*dd5c81e9SGunnar Mills                    "readonly": true,
221*dd5c81e9SGunnar Mills                    "type": [
222*dd5c81e9SGunnar Mills                        "integer",
223*dd5c81e9SGunnar Mills                        "null"
224*dd5c81e9SGunnar Mills                    ],
225*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
226*dd5c81e9SGunnar Mills                },
227*dd5c81e9SGunnar Mills                "UncorrectableFECErrors": {
228*dd5c81e9SGunnar Mills                    "description": "The total number of uncorrectable forward error correction (FEC) errors.",
229*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of times this port has received traffic with uncorrectable forward error correction (FEC) errors.",
230*dd5c81e9SGunnar Mills                    "readonly": true,
231*dd5c81e9SGunnar Mills                    "type": [
232*dd5c81e9SGunnar Mills                        "integer",
233*dd5c81e9SGunnar Mills                        "null"
234*dd5c81e9SGunnar Mills                    ],
235*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
236*dd5c81e9SGunnar Mills                }
237*dd5c81e9SGunnar Mills            },
238*dd5c81e9SGunnar Mills            "type": "object"
239*dd5c81e9SGunnar Mills        },
240*dd5c81e9SGunnar Mills        "GenZ": {
241*dd5c81e9SGunnar Mills            "additionalProperties": false,
242*dd5c81e9SGunnar Mills            "description": "The port metrics for a Gen-Z interface.",
243*dd5c81e9SGunnar Mills            "longDescription": "This type shall describe the Gen-Z related port metrics.",
244*dd5c81e9SGunnar Mills            "patternProperties": {
245*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
246*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
247*dd5c81e9SGunnar Mills                    "type": [
248*dd5c81e9SGunnar Mills                        "array",
249*dd5c81e9SGunnar Mills                        "boolean",
250*dd5c81e9SGunnar Mills                        "integer",
251*dd5c81e9SGunnar Mills                        "number",
252*dd5c81e9SGunnar Mills                        "null",
253*dd5c81e9SGunnar Mills                        "object",
254*dd5c81e9SGunnar Mills                        "string"
255*dd5c81e9SGunnar Mills                    ]
256*dd5c81e9SGunnar Mills                }
257*dd5c81e9SGunnar Mills            },
258*dd5c81e9SGunnar Mills            "properties": {
259*dd5c81e9SGunnar Mills                "AccessKeyViolations": {
260*dd5c81e9SGunnar Mills                    "description": "The total number of Access Key Violations detected.",
261*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of Access Key Violations detected for packets received or transmitted on this interface.",
262*dd5c81e9SGunnar Mills                    "readonly": true,
263*dd5c81e9SGunnar Mills                    "type": [
264*dd5c81e9SGunnar Mills                        "integer",
265*dd5c81e9SGunnar Mills                        "null"
266*dd5c81e9SGunnar Mills                    ]
267*dd5c81e9SGunnar Mills                },
268*dd5c81e9SGunnar Mills                "EndToEndCRCErrors": {
269*dd5c81e9SGunnar Mills                    "description": "The total number of ECRC transient errors detected.",
270*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain total number of ECRC transient errors detected in received link-local and end-to-end packets.",
271*dd5c81e9SGunnar Mills                    "readonly": true,
272*dd5c81e9SGunnar Mills                    "type": [
273*dd5c81e9SGunnar Mills                        "integer",
274*dd5c81e9SGunnar Mills                        "null"
275*dd5c81e9SGunnar Mills                    ]
276*dd5c81e9SGunnar Mills                },
277*dd5c81e9SGunnar Mills                "LLRRecovery": {
278*dd5c81e9SGunnar Mills                    "description": "The total number of times Link-Level Reliability (LLR) recovery has been initiated.",
279*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of times Link-level Reliability (LLR) recovery has been initiated by this interface.  This is not to be confused with the number of packets retransmitted due to initiating LLR recovery.",
280*dd5c81e9SGunnar Mills                    "readonly": true,
281*dd5c81e9SGunnar Mills                    "type": [
282*dd5c81e9SGunnar Mills                        "integer",
283*dd5c81e9SGunnar Mills                        "null"
284*dd5c81e9SGunnar Mills                    ]
285*dd5c81e9SGunnar Mills                },
286*dd5c81e9SGunnar Mills                "LinkNTE": {
287*dd5c81e9SGunnar Mills                    "description": "The total number of link-local non-transient errors detected.",
288*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of link-local non-transient errors detected on this interface.",
289*dd5c81e9SGunnar Mills                    "readonly": true,
290*dd5c81e9SGunnar Mills                    "type": [
291*dd5c81e9SGunnar Mills                        "integer",
292*dd5c81e9SGunnar Mills                        "null"
293*dd5c81e9SGunnar Mills                    ]
294*dd5c81e9SGunnar Mills                },
295*dd5c81e9SGunnar Mills                "MarkedECN": {
296*dd5c81e9SGunnar Mills                    "description": "The number of packets with the Congestion ECN bit set.",
297*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of packets that the component set the Congestion ECN bit prior to transmission through this interface.",
298*dd5c81e9SGunnar Mills                    "readonly": true,
299*dd5c81e9SGunnar Mills                    "type": [
300*dd5c81e9SGunnar Mills                        "integer",
301*dd5c81e9SGunnar Mills                        "null"
302*dd5c81e9SGunnar Mills                    ]
303*dd5c81e9SGunnar Mills                },
304*dd5c81e9SGunnar Mills                "NonCRCTransientErrors": {
305*dd5c81e9SGunnar Mills                    "description": "The total number transient errors detected that are unrelated to CRC validation.",
306*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of transient errors detected that are unrelated to CRC validation, which covers link-local and end-to-end packets, such as malformed Link Idle packets or PLA signal errors.",
307*dd5c81e9SGunnar Mills                    "readonly": true,
308*dd5c81e9SGunnar Mills                    "type": [
309*dd5c81e9SGunnar Mills                        "integer",
310*dd5c81e9SGunnar Mills                        "null"
311*dd5c81e9SGunnar Mills                    ]
312*dd5c81e9SGunnar Mills                },
313*dd5c81e9SGunnar Mills                "PacketCRCErrors": {
314*dd5c81e9SGunnar Mills                    "description": "The total number of PCRC transient errors detected.",
315*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of PCRC transient errors detected in received link-local and end-to-end packets.",
316*dd5c81e9SGunnar Mills                    "readonly": true,
317*dd5c81e9SGunnar Mills                    "type": [
318*dd5c81e9SGunnar Mills                        "integer",
319*dd5c81e9SGunnar Mills                        "null"
320*dd5c81e9SGunnar Mills                    ]
321*dd5c81e9SGunnar Mills                },
322*dd5c81e9SGunnar Mills                "PacketDeadlineDiscards": {
323*dd5c81e9SGunnar Mills                    "description": "The number of packets discarded due to the Congestion Deadline subfield reaching zero.",
324*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of packets discarded by this interface due to the Congestion Deadline subfield reaching zero prior to packet transmission.",
325*dd5c81e9SGunnar Mills                    "readonly": true,
326*dd5c81e9SGunnar Mills                    "type": [
327*dd5c81e9SGunnar Mills                        "integer",
328*dd5c81e9SGunnar Mills                        "null"
329*dd5c81e9SGunnar Mills                    ]
330*dd5c81e9SGunnar Mills                },
331*dd5c81e9SGunnar Mills                "RXStompedECRC": {
332*dd5c81e9SGunnar Mills                    "description": "The total number of packets received with a stomped ECRC field.",
333*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of packets that this interface received with a stomped ECRC field.",
334*dd5c81e9SGunnar Mills                    "readonly": true,
335*dd5c81e9SGunnar Mills                    "type": [
336*dd5c81e9SGunnar Mills                        "integer",
337*dd5c81e9SGunnar Mills                        "null"
338*dd5c81e9SGunnar Mills                    ]
339*dd5c81e9SGunnar Mills                },
340*dd5c81e9SGunnar Mills                "ReceivedECN": {
341*dd5c81e9SGunnar Mills                    "description": "The number of packets received on this interface with the Congestion ECN bit set.",
342*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of packets received on this interface with the Congestion ECN bit set.",
343*dd5c81e9SGunnar Mills                    "readonly": true,
344*dd5c81e9SGunnar Mills                    "type": [
345*dd5c81e9SGunnar Mills                        "integer",
346*dd5c81e9SGunnar Mills                        "null"
347*dd5c81e9SGunnar Mills                    ]
348*dd5c81e9SGunnar Mills                },
349*dd5c81e9SGunnar Mills                "TXStompedECRC": {
350*dd5c81e9SGunnar Mills                    "description": "The total number of packets that this interface stomped the ECRC field.",
351*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of packets that this interfaced stomped the ECRC field.",
352*dd5c81e9SGunnar Mills                    "readonly": true,
353*dd5c81e9SGunnar Mills                    "type": [
354*dd5c81e9SGunnar Mills                        "integer",
355*dd5c81e9SGunnar Mills                        "null"
356*dd5c81e9SGunnar Mills                    ]
357*dd5c81e9SGunnar Mills                }
358*dd5c81e9SGunnar Mills            },
359*dd5c81e9SGunnar Mills            "type": "object"
360*dd5c81e9SGunnar Mills        },
361*dd5c81e9SGunnar Mills        "Networking": {
362*dd5c81e9SGunnar Mills            "additionalProperties": false,
363*dd5c81e9SGunnar Mills            "description": "The port metrics for network ports, including Ethernet, Fibre Channel, and InfiniBand, that are not specific to one of these protocols.",
364*dd5c81e9SGunnar Mills            "longDescription": "This type shall describe the metrics for network ports, including Ethernet, Fibre Channel, and InfiniBand, that are not specific to one of these protocols.",
365*dd5c81e9SGunnar Mills            "patternProperties": {
366*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
367*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
368*dd5c81e9SGunnar Mills                    "type": [
369*dd5c81e9SGunnar Mills                        "array",
370*dd5c81e9SGunnar Mills                        "boolean",
371*dd5c81e9SGunnar Mills                        "integer",
372*dd5c81e9SGunnar Mills                        "number",
373*dd5c81e9SGunnar Mills                        "null",
374*dd5c81e9SGunnar Mills                        "object",
375*dd5c81e9SGunnar Mills                        "string"
376*dd5c81e9SGunnar Mills                    ]
377*dd5c81e9SGunnar Mills                }
378*dd5c81e9SGunnar Mills            },
379*dd5c81e9SGunnar Mills            "properties": {
380*dd5c81e9SGunnar Mills                "RDMAProtectionErrors": {
381*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA protection errors.",
382*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA protection errors.",
383*dd5c81e9SGunnar Mills                    "readonly": true,
384*dd5c81e9SGunnar Mills                    "type": [
385*dd5c81e9SGunnar Mills                        "integer",
386*dd5c81e9SGunnar Mills                        "null"
387*dd5c81e9SGunnar Mills                    ],
388*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
389*dd5c81e9SGunnar Mills                },
390*dd5c81e9SGunnar Mills                "RDMAProtocolErrors": {
391*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA protocol errors.",
392*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA protocol errors.",
393*dd5c81e9SGunnar Mills                    "readonly": true,
394*dd5c81e9SGunnar Mills                    "type": [
395*dd5c81e9SGunnar Mills                        "integer",
396*dd5c81e9SGunnar Mills                        "null"
397*dd5c81e9SGunnar Mills                    ],
398*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
399*dd5c81e9SGunnar Mills                },
400*dd5c81e9SGunnar Mills                "RDMARXBytes": {
401*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA bytes received on a port since reset.",
402*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA bytes received on a port since reset.",
403*dd5c81e9SGunnar Mills                    "readonly": true,
404*dd5c81e9SGunnar Mills                    "type": [
405*dd5c81e9SGunnar Mills                        "integer",
406*dd5c81e9SGunnar Mills                        "null"
407*dd5c81e9SGunnar Mills                    ],
408*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
409*dd5c81e9SGunnar Mills                },
410*dd5c81e9SGunnar Mills                "RDMARXRequests": {
411*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA requests received on a port since reset.",
412*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA requests received on a port since reset.",
413*dd5c81e9SGunnar Mills                    "readonly": true,
414*dd5c81e9SGunnar Mills                    "type": [
415*dd5c81e9SGunnar Mills                        "integer",
416*dd5c81e9SGunnar Mills                        "null"
417*dd5c81e9SGunnar Mills                    ],
418*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
419*dd5c81e9SGunnar Mills                },
420*dd5c81e9SGunnar Mills                "RDMATXBytes": {
421*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA bytes transmitted on a port since reset.",
422*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA bytes transmitted on a port since reset.",
423*dd5c81e9SGunnar Mills                    "readonly": true,
424*dd5c81e9SGunnar Mills                    "type": [
425*dd5c81e9SGunnar Mills                        "integer",
426*dd5c81e9SGunnar Mills                        "null"
427*dd5c81e9SGunnar Mills                    ],
428*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
429*dd5c81e9SGunnar Mills                },
430*dd5c81e9SGunnar Mills                "RDMATXReadRequests": {
431*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA read requests transmitted on a port since reset.",
432*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA read requests transmitted on a port since reset.",
433*dd5c81e9SGunnar Mills                    "readonly": true,
434*dd5c81e9SGunnar Mills                    "type": [
435*dd5c81e9SGunnar Mills                        "integer",
436*dd5c81e9SGunnar Mills                        "null"
437*dd5c81e9SGunnar Mills                    ],
438*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
439*dd5c81e9SGunnar Mills                },
440*dd5c81e9SGunnar Mills                "RDMATXRequests": {
441*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA requests transmitted on a port since reset.",
442*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA requests transmitted on a port since reset.",
443*dd5c81e9SGunnar Mills                    "readonly": true,
444*dd5c81e9SGunnar Mills                    "type": [
445*dd5c81e9SGunnar Mills                        "integer",
446*dd5c81e9SGunnar Mills                        "null"
447*dd5c81e9SGunnar Mills                    ],
448*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
449*dd5c81e9SGunnar Mills                },
450*dd5c81e9SGunnar Mills                "RDMATXSendRequests": {
451*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA send requests transmitted on a port since reset.",
452*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA send requests transmitted on a port since reset.",
453*dd5c81e9SGunnar Mills                    "readonly": true,
454*dd5c81e9SGunnar Mills                    "type": [
455*dd5c81e9SGunnar Mills                        "integer",
456*dd5c81e9SGunnar Mills                        "null"
457*dd5c81e9SGunnar Mills                    ],
458*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
459*dd5c81e9SGunnar Mills                },
460*dd5c81e9SGunnar Mills                "RDMATXWriteRequests": {
461*dd5c81e9SGunnar Mills                    "description": "The total number of RDMA write requests transmitted on a port since reset.",
462*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of RDMA write requests transmitted on a port since reset.",
463*dd5c81e9SGunnar Mills                    "readonly": true,
464*dd5c81e9SGunnar Mills                    "type": [
465*dd5c81e9SGunnar Mills                        "integer",
466*dd5c81e9SGunnar Mills                        "null"
467*dd5c81e9SGunnar Mills                    ],
468*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
469*dd5c81e9SGunnar Mills                },
470*dd5c81e9SGunnar Mills                "RXBroadcastFrames": {
471*dd5c81e9SGunnar Mills                    "description": "The total number of valid broadcast frames received on a port since reset.",
472*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of valid broadcast frames received on a port since reset, including host and remote management passthrough traffic.",
473*dd5c81e9SGunnar Mills                    "readonly": true,
474*dd5c81e9SGunnar Mills                    "type": [
475*dd5c81e9SGunnar Mills                        "integer",
476*dd5c81e9SGunnar Mills                        "null"
477*dd5c81e9SGunnar Mills                    ],
478*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
479*dd5c81e9SGunnar Mills                },
480*dd5c81e9SGunnar Mills                "RXDiscards": {
481*dd5c81e9SGunnar Mills                    "description": "The total number of frames discarded in a port's receive path since reset.",
482*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames discarded in a port's receive path since reset.",
483*dd5c81e9SGunnar Mills                    "readonly": true,
484*dd5c81e9SGunnar Mills                    "type": [
485*dd5c81e9SGunnar Mills                        "integer",
486*dd5c81e9SGunnar Mills                        "null"
487*dd5c81e9SGunnar Mills                    ],
488*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
489*dd5c81e9SGunnar Mills                },
490*dd5c81e9SGunnar Mills                "RXFCSErrors": {
491*dd5c81e9SGunnar Mills                    "description": "The total number of frames received with frame check sequence (FCS) errors on a port since reset.",
492*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames received with frame check sequence (FCS) errors on a port since reset.",
493*dd5c81e9SGunnar Mills                    "readonly": true,
494*dd5c81e9SGunnar Mills                    "type": [
495*dd5c81e9SGunnar Mills                        "integer",
496*dd5c81e9SGunnar Mills                        "null"
497*dd5c81e9SGunnar Mills                    ],
498*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
499*dd5c81e9SGunnar Mills                },
500*dd5c81e9SGunnar Mills                "RXFalseCarrierErrors": {
501*dd5c81e9SGunnar Mills                    "description": "The total number of false carrier errors received from phy on a port since reset.",
502*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of false carrier errors received from phy on a port since reset.",
503*dd5c81e9SGunnar Mills                    "readonly": true,
504*dd5c81e9SGunnar Mills                    "type": [
505*dd5c81e9SGunnar Mills                        "integer",
506*dd5c81e9SGunnar Mills                        "null"
507*dd5c81e9SGunnar Mills                    ],
508*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
509*dd5c81e9SGunnar Mills                },
510*dd5c81e9SGunnar Mills                "RXFrameAlignmentErrors": {
511*dd5c81e9SGunnar Mills                    "description": "The total number of frames received with alignment errors on a port since reset.",
512*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames received with alignment errors on a port since reset.",
513*dd5c81e9SGunnar Mills                    "readonly": true,
514*dd5c81e9SGunnar Mills                    "type": [
515*dd5c81e9SGunnar Mills                        "integer",
516*dd5c81e9SGunnar Mills                        "null"
517*dd5c81e9SGunnar Mills                    ],
518*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
519*dd5c81e9SGunnar Mills                },
520*dd5c81e9SGunnar Mills                "RXFrames": {
521*dd5c81e9SGunnar Mills                    "description": "The total number of frames received on a port since reset.",
522*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames received on a port since reset.",
523*dd5c81e9SGunnar Mills                    "readonly": true,
524*dd5c81e9SGunnar Mills                    "type": [
525*dd5c81e9SGunnar Mills                        "integer",
526*dd5c81e9SGunnar Mills                        "null"
527*dd5c81e9SGunnar Mills                    ],
528*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
529*dd5c81e9SGunnar Mills                },
530*dd5c81e9SGunnar Mills                "RXMulticastFrames": {
531*dd5c81e9SGunnar Mills                    "description": "The total number of valid multicast frames received on a port since reset.",
532*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of valid multicast frames received on a port since reset, including host and remote management passthrough traffic.",
533*dd5c81e9SGunnar Mills                    "readonly": true,
534*dd5c81e9SGunnar Mills                    "type": [
535*dd5c81e9SGunnar Mills                        "integer",
536*dd5c81e9SGunnar Mills                        "null"
537*dd5c81e9SGunnar Mills                    ],
538*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
539*dd5c81e9SGunnar Mills                },
540*dd5c81e9SGunnar Mills                "RXOversizeFrames": {
541*dd5c81e9SGunnar Mills                    "description": "The total number of frames that exceed the maximum frame size.",
542*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames that exceed the maximum frame size.",
543*dd5c81e9SGunnar Mills                    "readonly": true,
544*dd5c81e9SGunnar Mills                    "type": [
545*dd5c81e9SGunnar Mills                        "integer",
546*dd5c81e9SGunnar Mills                        "null"
547*dd5c81e9SGunnar Mills                    ],
548*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
549*dd5c81e9SGunnar Mills                },
550*dd5c81e9SGunnar Mills                "RXPFCFrames": {
551*dd5c81e9SGunnar Mills                    "description": "The total number of priority flow control (PFC) frames received on a port since reset.",
552*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of priority flow control (PFC) frames received on a port since reset.",
553*dd5c81e9SGunnar Mills                    "readonly": true,
554*dd5c81e9SGunnar Mills                    "type": [
555*dd5c81e9SGunnar Mills                        "integer",
556*dd5c81e9SGunnar Mills                        "null"
557*dd5c81e9SGunnar Mills                    ],
558*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
559*dd5c81e9SGunnar Mills                },
560*dd5c81e9SGunnar Mills                "RXPauseXOFFFrames": {
561*dd5c81e9SGunnar Mills                    "description": "The total number of flow control frames from the network to pause transmission.",
562*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of flow control frames from the network to pause transmission.",
563*dd5c81e9SGunnar Mills                    "readonly": true,
564*dd5c81e9SGunnar Mills                    "type": [
565*dd5c81e9SGunnar Mills                        "integer",
566*dd5c81e9SGunnar Mills                        "null"
567*dd5c81e9SGunnar Mills                    ],
568*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
569*dd5c81e9SGunnar Mills                },
570*dd5c81e9SGunnar Mills                "RXPauseXONFrames": {
571*dd5c81e9SGunnar Mills                    "description": "The total number of flow control frames from the network to resume transmission.",
572*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of flow control frames from the network to resume transmission.",
573*dd5c81e9SGunnar Mills                    "readonly": true,
574*dd5c81e9SGunnar Mills                    "type": [
575*dd5c81e9SGunnar Mills                        "integer",
576*dd5c81e9SGunnar Mills                        "null"
577*dd5c81e9SGunnar Mills                    ],
578*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
579*dd5c81e9SGunnar Mills                },
580*dd5c81e9SGunnar Mills                "RXUndersizeFrames": {
581*dd5c81e9SGunnar Mills                    "description": "The total number of frames that are smaller than the minimum frame size of 64 bytes.",
582*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames that are smaller than the minimum frame size of 64 bytes.",
583*dd5c81e9SGunnar Mills                    "readonly": true,
584*dd5c81e9SGunnar Mills                    "type": [
585*dd5c81e9SGunnar Mills                        "integer",
586*dd5c81e9SGunnar Mills                        "null"
587*dd5c81e9SGunnar Mills                    ],
588*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
589*dd5c81e9SGunnar Mills                },
590*dd5c81e9SGunnar Mills                "RXUnicastFrames": {
591*dd5c81e9SGunnar Mills                    "description": "The total number of valid unicast frames received on a port since reset.",
592*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of valid unicast frames received on a port since reset.",
593*dd5c81e9SGunnar Mills                    "readonly": true,
594*dd5c81e9SGunnar Mills                    "type": [
595*dd5c81e9SGunnar Mills                        "integer",
596*dd5c81e9SGunnar Mills                        "null"
597*dd5c81e9SGunnar Mills                    ],
598*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
599*dd5c81e9SGunnar Mills                },
600*dd5c81e9SGunnar Mills                "TXBroadcastFrames": {
601*dd5c81e9SGunnar Mills                    "description": "The total number of good broadcast frames transmitted on a port since reset.",
602*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of good broadcast frames transmitted on a port since reset, including host and remote management passthrough traffic.",
603*dd5c81e9SGunnar Mills                    "readonly": true,
604*dd5c81e9SGunnar Mills                    "type": [
605*dd5c81e9SGunnar Mills                        "integer",
606*dd5c81e9SGunnar Mills                        "null"
607*dd5c81e9SGunnar Mills                    ],
608*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
609*dd5c81e9SGunnar Mills                },
610*dd5c81e9SGunnar Mills                "TXDiscards": {
611*dd5c81e9SGunnar Mills                    "description": "The total number of frames discarded in a port's transmit path since reset.",
612*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames discarded in a port's transmit path since reset.",
613*dd5c81e9SGunnar Mills                    "readonly": true,
614*dd5c81e9SGunnar Mills                    "type": [
615*dd5c81e9SGunnar Mills                        "integer",
616*dd5c81e9SGunnar Mills                        "null"
617*dd5c81e9SGunnar Mills                    ],
618*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
619*dd5c81e9SGunnar Mills                },
620*dd5c81e9SGunnar Mills                "TXExcessiveCollisions": {
621*dd5c81e9SGunnar Mills                    "description": "The number of times a single transmitted frame encountered more than 15 collisions.",
622*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of times a single transmitted frame encountered more than 15 collisions.",
623*dd5c81e9SGunnar Mills                    "readonly": true,
624*dd5c81e9SGunnar Mills                    "type": [
625*dd5c81e9SGunnar Mills                        "integer",
626*dd5c81e9SGunnar Mills                        "null"
627*dd5c81e9SGunnar Mills                    ],
628*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
629*dd5c81e9SGunnar Mills                },
630*dd5c81e9SGunnar Mills                "TXFrames": {
631*dd5c81e9SGunnar Mills                    "description": "The total number of frames transmitted on a port since reset.",
632*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of frames transmitted on a port since reset.",
633*dd5c81e9SGunnar Mills                    "readonly": true,
634*dd5c81e9SGunnar Mills                    "type": [
635*dd5c81e9SGunnar Mills                        "integer",
636*dd5c81e9SGunnar Mills                        "null"
637*dd5c81e9SGunnar Mills                    ],
638*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
639*dd5c81e9SGunnar Mills                },
640*dd5c81e9SGunnar Mills                "TXLateCollisions": {
641*dd5c81e9SGunnar Mills                    "description": "The total number of collisions that occurred after one slot time as defined by IEEE 802.3.",
642*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of collisions that occurred after one slot time as defined by IEEE 802.3.",
643*dd5c81e9SGunnar Mills                    "readonly": true,
644*dd5c81e9SGunnar Mills                    "type": [
645*dd5c81e9SGunnar Mills                        "integer",
646*dd5c81e9SGunnar Mills                        "null"
647*dd5c81e9SGunnar Mills                    ],
648*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
649*dd5c81e9SGunnar Mills                },
650*dd5c81e9SGunnar Mills                "TXMulticastFrames": {
651*dd5c81e9SGunnar Mills                    "description": "The total number of good multicast frames transmitted on a port since reset.",
652*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of good multicast frames transmitted on a port since reset, including host and remote management passthrough traffic.",
653*dd5c81e9SGunnar Mills                    "readonly": true,
654*dd5c81e9SGunnar Mills                    "type": [
655*dd5c81e9SGunnar Mills                        "integer",
656*dd5c81e9SGunnar Mills                        "null"
657*dd5c81e9SGunnar Mills                    ],
658*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
659*dd5c81e9SGunnar Mills                },
660*dd5c81e9SGunnar Mills                "TXMultipleCollisions": {
661*dd5c81e9SGunnar Mills                    "description": "The times that a transmitted frame encountered 2-15 collisions.",
662*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the times that a transmitted frame encountered 2-15 collisions.",
663*dd5c81e9SGunnar Mills                    "readonly": true,
664*dd5c81e9SGunnar Mills                    "type": [
665*dd5c81e9SGunnar Mills                        "integer",
666*dd5c81e9SGunnar Mills                        "null"
667*dd5c81e9SGunnar Mills                    ],
668*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
669*dd5c81e9SGunnar Mills                },
670*dd5c81e9SGunnar Mills                "TXPFCFrames": {
671*dd5c81e9SGunnar Mills                    "description": "The total number of priority flow control (PFC) frames sent on a port since reset.",
672*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of priority flow control (PFC) frames sent on a port since reset.",
673*dd5c81e9SGunnar Mills                    "readonly": true,
674*dd5c81e9SGunnar Mills                    "type": [
675*dd5c81e9SGunnar Mills                        "integer",
676*dd5c81e9SGunnar Mills                        "null"
677*dd5c81e9SGunnar Mills                    ],
678*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
679*dd5c81e9SGunnar Mills                },
680*dd5c81e9SGunnar Mills                "TXPauseXOFFFrames": {
681*dd5c81e9SGunnar Mills                    "description": "The total number of XOFF frames transmitted to the network.",
682*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of XOFF frames transmitted to the network.",
683*dd5c81e9SGunnar Mills                    "readonly": true,
684*dd5c81e9SGunnar Mills                    "type": [
685*dd5c81e9SGunnar Mills                        "integer",
686*dd5c81e9SGunnar Mills                        "null"
687*dd5c81e9SGunnar Mills                    ],
688*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
689*dd5c81e9SGunnar Mills                },
690*dd5c81e9SGunnar Mills                "TXPauseXONFrames": {
691*dd5c81e9SGunnar Mills                    "description": "The total number of XON frames transmitted to the network.",
692*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of XON frames transmitted to the network.",
693*dd5c81e9SGunnar Mills                    "readonly": true,
694*dd5c81e9SGunnar Mills                    "type": [
695*dd5c81e9SGunnar Mills                        "integer",
696*dd5c81e9SGunnar Mills                        "null"
697*dd5c81e9SGunnar Mills                    ],
698*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
699*dd5c81e9SGunnar Mills                },
700*dd5c81e9SGunnar Mills                "TXSingleCollisions": {
701*dd5c81e9SGunnar Mills                    "description": "The times that a successfully transmitted frame encountered a single collision.",
702*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the times that a successfully transmitted frame encountered a single collision.",
703*dd5c81e9SGunnar Mills                    "readonly": true,
704*dd5c81e9SGunnar Mills                    "type": [
705*dd5c81e9SGunnar Mills                        "integer",
706*dd5c81e9SGunnar Mills                        "null"
707*dd5c81e9SGunnar Mills                    ],
708*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
709*dd5c81e9SGunnar Mills                },
710*dd5c81e9SGunnar Mills                "TXUnicastFrames": {
711*dd5c81e9SGunnar Mills                    "description": "The total number of good unicast frames transmitted on a port since reset.",
712*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of good unicast frames transmitted on a port since reset, including host and remote management passthrough traffic.",
713*dd5c81e9SGunnar Mills                    "readonly": true,
714*dd5c81e9SGunnar Mills                    "type": [
715*dd5c81e9SGunnar Mills                        "integer",
716*dd5c81e9SGunnar Mills                        "null"
717*dd5c81e9SGunnar Mills                    ],
718*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
719*dd5c81e9SGunnar Mills                }
720*dd5c81e9SGunnar Mills            },
721*dd5c81e9SGunnar Mills            "type": "object"
722*dd5c81e9SGunnar Mills        },
723*dd5c81e9SGunnar Mills        "OemActions": {
724*dd5c81e9SGunnar Mills            "additionalProperties": true,
725*dd5c81e9SGunnar Mills            "description": "The available OEM-specific actions for this resource.",
726*dd5c81e9SGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
727*dd5c81e9SGunnar Mills            "patternProperties": {
728*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
729*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
730*dd5c81e9SGunnar Mills                    "type": [
731*dd5c81e9SGunnar Mills                        "array",
732*dd5c81e9SGunnar Mills                        "boolean",
733*dd5c81e9SGunnar Mills                        "integer",
734*dd5c81e9SGunnar Mills                        "number",
735*dd5c81e9SGunnar Mills                        "null",
736*dd5c81e9SGunnar Mills                        "object",
737*dd5c81e9SGunnar Mills                        "string"
738*dd5c81e9SGunnar Mills                    ]
739*dd5c81e9SGunnar Mills                }
740*dd5c81e9SGunnar Mills            },
741*dd5c81e9SGunnar Mills            "properties": {},
742*dd5c81e9SGunnar Mills            "type": "object"
743*dd5c81e9SGunnar Mills        },
744*dd5c81e9SGunnar Mills        "PortMetrics": {
745*dd5c81e9SGunnar Mills            "additionalProperties": false,
746*dd5c81e9SGunnar Mills            "description": "The `PortMetrics` schema contains usage and health statistics for a switch device or component port summary.",
747*dd5c81e9SGunnar Mills            "longDescription": "This resource shall represent the port metrics for a switch device or component port summary in a Redfish implementation.",
748*dd5c81e9SGunnar Mills            "patternProperties": {
749*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
750*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
751*dd5c81e9SGunnar Mills                    "type": [
752*dd5c81e9SGunnar Mills                        "array",
753*dd5c81e9SGunnar Mills                        "boolean",
754*dd5c81e9SGunnar Mills                        "integer",
755*dd5c81e9SGunnar Mills                        "number",
756*dd5c81e9SGunnar Mills                        "null",
757*dd5c81e9SGunnar Mills                        "object",
758*dd5c81e9SGunnar Mills                        "string"
759*dd5c81e9SGunnar Mills                    ]
760*dd5c81e9SGunnar Mills                }
761*dd5c81e9SGunnar Mills            },
762*dd5c81e9SGunnar Mills            "properties": {
763*dd5c81e9SGunnar Mills                "@odata.context": {
764*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
765*dd5c81e9SGunnar Mills                },
766*dd5c81e9SGunnar Mills                "@odata.etag": {
767*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
768*dd5c81e9SGunnar Mills                },
769*dd5c81e9SGunnar Mills                "@odata.id": {
770*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
771*dd5c81e9SGunnar Mills                },
772*dd5c81e9SGunnar Mills                "@odata.type": {
773*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
774*dd5c81e9SGunnar Mills                },
775*dd5c81e9SGunnar Mills                "Actions": {
776*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/Actions",
777*dd5c81e9SGunnar Mills                    "description": "The available actions for this resource.",
778*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
779*dd5c81e9SGunnar Mills                },
780*dd5c81e9SGunnar Mills                "CXL": {
781*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/CXL",
782*dd5c81e9SGunnar Mills                    "description": "The port metrics specific to CXL ports.",
783*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the port metrics specific to CXL ports.",
784*dd5c81e9SGunnar Mills                    "versionAdded": "v1_4_0"
785*dd5c81e9SGunnar Mills                },
786*dd5c81e9SGunnar Mills                "Description": {
787*dd5c81e9SGunnar Mills                    "anyOf": [
788*dd5c81e9SGunnar Mills                        {
789*dd5c81e9SGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
790*dd5c81e9SGunnar Mills                        },
791*dd5c81e9SGunnar Mills                        {
792*dd5c81e9SGunnar Mills                            "type": "null"
793*dd5c81e9SGunnar Mills                        }
794*dd5c81e9SGunnar Mills                    ],
795*dd5c81e9SGunnar Mills                    "readonly": true
796*dd5c81e9SGunnar Mills                },
797*dd5c81e9SGunnar Mills                "FibreChannel": {
798*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/FibreChannel",
799*dd5c81e9SGunnar Mills                    "description": "The Fibre Channel-specific port metrics for network ports.",
800*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain Fibre Channel-specific port metrics for network ports.",
801*dd5c81e9SGunnar Mills                    "versionAdded": "v1_2_0"
802*dd5c81e9SGunnar Mills                },
803*dd5c81e9SGunnar Mills                "GenZ": {
804*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/GenZ",
805*dd5c81e9SGunnar Mills                    "description": "The port metrics specific to Gen-Z ports.",
806*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the port metrics specific to Gen-Z ports."
807*dd5c81e9SGunnar Mills                },
808*dd5c81e9SGunnar Mills                "Id": {
809*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
810*dd5c81e9SGunnar Mills                    "readonly": true
811*dd5c81e9SGunnar Mills                },
812*dd5c81e9SGunnar Mills                "Name": {
813*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
814*dd5c81e9SGunnar Mills                    "readonly": true
815*dd5c81e9SGunnar Mills                },
816*dd5c81e9SGunnar Mills                "Networking": {
817*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/Networking",
818*dd5c81e9SGunnar Mills                    "description": "The port metrics for network ports, including Ethernet, Fibre Channel, and InfiniBand, that are not specific to one of these protocols.",
819*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain port metrics for network ports, including Ethernet, Fibre Channel, and InfiniBand, that are not specific to one of these protocols.",
820*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
821*dd5c81e9SGunnar Mills                },
822*dd5c81e9SGunnar Mills                "Oem": {
823*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
824*dd5c81e9SGunnar Mills                    "description": "The OEM extension property.",
825*dd5c81e9SGunnar 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."
826*dd5c81e9SGunnar Mills                },
827*dd5c81e9SGunnar Mills                "PCIeErrors": {
828*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeErrors",
829*dd5c81e9SGunnar Mills                    "description": "The PCIe errors associated with this port.",
830*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the PCIe errors associated with this port.",
831*dd5c81e9SGunnar Mills                    "versionAdded": "v1_3_0"
832*dd5c81e9SGunnar Mills                },
833*dd5c81e9SGunnar Mills                "RXBytes": {
834*dd5c81e9SGunnar Mills                    "description": "The total number of bytes received on a port since reset.",
835*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of bytes received on a port since reset, including host and remote management passthrough traffic, and inclusive of all protocol overhead.",
836*dd5c81e9SGunnar Mills                    "readonly": true,
837*dd5c81e9SGunnar Mills                    "type": [
838*dd5c81e9SGunnar Mills                        "integer",
839*dd5c81e9SGunnar Mills                        "null"
840*dd5c81e9SGunnar Mills                    ],
841*dd5c81e9SGunnar Mills                    "units": "By",
842*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
843*dd5c81e9SGunnar Mills                },
844*dd5c81e9SGunnar Mills                "RXErrors": {
845*dd5c81e9SGunnar Mills                    "description": "The total number of received errors on a port since reset.",
846*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of received errors on a port since reset.",
847*dd5c81e9SGunnar Mills                    "readonly": true,
848*dd5c81e9SGunnar Mills                    "type": [
849*dd5c81e9SGunnar Mills                        "integer",
850*dd5c81e9SGunnar Mills                        "null"
851*dd5c81e9SGunnar Mills                    ],
852*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
853*dd5c81e9SGunnar Mills                },
854*dd5c81e9SGunnar Mills                "SAS": {
855*dd5c81e9SGunnar Mills                    "description": "The physical (phy) metrics for Serial Attached SCSI (SAS).  Each member represents a single phy.",
856*dd5c81e9SGunnar Mills                    "items": {
857*dd5c81e9SGunnar Mills                        "$ref": "#/definitions/SAS"
858*dd5c81e9SGunnar Mills                    },
859*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain an array of physical-related metrics for Serial Attached SCSI (SAS).  Each member in the array shall represent a single phy.",
860*dd5c81e9SGunnar Mills                    "type": "array",
861*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
862*dd5c81e9SGunnar Mills                },
863*dd5c81e9SGunnar Mills                "TXBytes": {
864*dd5c81e9SGunnar Mills                    "description": "The total number of bytes transmitted on a port since reset.",
865*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of bytes transmitted on a port since reset, including host and remote management passthrough traffic, and inclusive of all protocol overhead.",
866*dd5c81e9SGunnar Mills                    "readonly": true,
867*dd5c81e9SGunnar Mills                    "type": [
868*dd5c81e9SGunnar Mills                        "integer",
869*dd5c81e9SGunnar Mills                        "null"
870*dd5c81e9SGunnar Mills                    ],
871*dd5c81e9SGunnar Mills                    "units": "By",
872*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
873*dd5c81e9SGunnar Mills                },
874*dd5c81e9SGunnar Mills                "TXErrors": {
875*dd5c81e9SGunnar Mills                    "description": "The total number of transmission errors on a port since reset.",
876*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the total number of transmission errors on a port since reset.",
877*dd5c81e9SGunnar Mills                    "readonly": true,
878*dd5c81e9SGunnar Mills                    "type": [
879*dd5c81e9SGunnar Mills                        "integer",
880*dd5c81e9SGunnar Mills                        "null"
881*dd5c81e9SGunnar Mills                    ],
882*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
883*dd5c81e9SGunnar Mills                },
884*dd5c81e9SGunnar Mills                "Transceivers": {
885*dd5c81e9SGunnar Mills                    "description": "The metrics for the transceivers in this port.  Each member represents a single transceiver.",
886*dd5c81e9SGunnar Mills                    "items": {
887*dd5c81e9SGunnar Mills                        "$ref": "#/definitions/Transceiver"
888*dd5c81e9SGunnar Mills                    },
889*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain an array of transceiver-related metrics for this port.  Each member in the array shall represent a single transceiver.",
890*dd5c81e9SGunnar Mills                    "type": "array",
891*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
892*dd5c81e9SGunnar Mills                }
893*dd5c81e9SGunnar Mills            },
894*dd5c81e9SGunnar Mills            "required": [
895*dd5c81e9SGunnar Mills                "@odata.id",
896*dd5c81e9SGunnar Mills                "@odata.type",
897*dd5c81e9SGunnar Mills                "Id",
898*dd5c81e9SGunnar Mills                "Name"
899*dd5c81e9SGunnar Mills            ],
900*dd5c81e9SGunnar Mills            "type": "object"
901*dd5c81e9SGunnar Mills        },
902*dd5c81e9SGunnar Mills        "ResetMetrics": {
903*dd5c81e9SGunnar Mills            "additionalProperties": false,
904*dd5c81e9SGunnar Mills            "description": "This action resets the summary metrics related to this device.",
905*dd5c81e9SGunnar Mills            "longDescription": "This action shall reset any time intervals or counted values for this device.",
906*dd5c81e9SGunnar Mills            "parameters": {},
907*dd5c81e9SGunnar Mills            "patternProperties": {
908*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
909*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
910*dd5c81e9SGunnar Mills                    "type": [
911*dd5c81e9SGunnar Mills                        "array",
912*dd5c81e9SGunnar Mills                        "boolean",
913*dd5c81e9SGunnar Mills                        "integer",
914*dd5c81e9SGunnar Mills                        "number",
915*dd5c81e9SGunnar Mills                        "null",
916*dd5c81e9SGunnar Mills                        "object",
917*dd5c81e9SGunnar Mills                        "string"
918*dd5c81e9SGunnar Mills                    ]
919*dd5c81e9SGunnar Mills                }
920*dd5c81e9SGunnar Mills            },
921*dd5c81e9SGunnar Mills            "properties": {
922*dd5c81e9SGunnar Mills                "target": {
923*dd5c81e9SGunnar Mills                    "description": "Link to invoke action",
924*dd5c81e9SGunnar Mills                    "format": "uri-reference",
925*dd5c81e9SGunnar Mills                    "type": "string"
926*dd5c81e9SGunnar Mills                },
927*dd5c81e9SGunnar Mills                "title": {
928*dd5c81e9SGunnar Mills                    "description": "Friendly action name",
929*dd5c81e9SGunnar Mills                    "type": "string"
930*dd5c81e9SGunnar Mills                }
931*dd5c81e9SGunnar Mills            },
932*dd5c81e9SGunnar Mills            "type": "object",
933*dd5c81e9SGunnar Mills            "versionAdded": "v1_6_0"
934*dd5c81e9SGunnar Mills        },
935*dd5c81e9SGunnar Mills        "SAS": {
936*dd5c81e9SGunnar Mills            "additionalProperties": false,
937*dd5c81e9SGunnar Mills            "description": "The physical metrics for Serial Attached SCSI (SAS).",
938*dd5c81e9SGunnar Mills            "longDescription": "This type shall describe physical (phy) related metrics for Serial Attached SCSI (SAS).",
939*dd5c81e9SGunnar Mills            "patternProperties": {
940*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
941*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
942*dd5c81e9SGunnar Mills                    "type": [
943*dd5c81e9SGunnar Mills                        "array",
944*dd5c81e9SGunnar Mills                        "boolean",
945*dd5c81e9SGunnar Mills                        "integer",
946*dd5c81e9SGunnar Mills                        "number",
947*dd5c81e9SGunnar Mills                        "null",
948*dd5c81e9SGunnar Mills                        "object",
949*dd5c81e9SGunnar Mills                        "string"
950*dd5c81e9SGunnar Mills                    ]
951*dd5c81e9SGunnar Mills                }
952*dd5c81e9SGunnar Mills            },
953*dd5c81e9SGunnar Mills            "properties": {
954*dd5c81e9SGunnar Mills                "InvalidDwordCount": {
955*dd5c81e9SGunnar Mills                    "description": "The number of invalid dwords that have been received by the phy outside of phy reset sequences.",
956*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of invalid dwords that have been received by the phy outside of phy reset sequences.",
957*dd5c81e9SGunnar Mills                    "readonly": true,
958*dd5c81e9SGunnar Mills                    "type": [
959*dd5c81e9SGunnar Mills                        "integer",
960*dd5c81e9SGunnar Mills                        "null"
961*dd5c81e9SGunnar Mills                    ],
962*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
963*dd5c81e9SGunnar Mills                },
964*dd5c81e9SGunnar Mills                "LossOfDwordSynchronizationCount": {
965*dd5c81e9SGunnar Mills                    "description": "The number of times the phy has restarted the link reset sequence because it lost dword synchronization.",
966*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of times the phy has restarted the link reset sequence because it lost dword synchronization.",
967*dd5c81e9SGunnar Mills                    "readonly": true,
968*dd5c81e9SGunnar Mills                    "type": [
969*dd5c81e9SGunnar Mills                        "integer",
970*dd5c81e9SGunnar Mills                        "null"
971*dd5c81e9SGunnar Mills                    ],
972*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
973*dd5c81e9SGunnar Mills                },
974*dd5c81e9SGunnar Mills                "PhyResetProblemCount": {
975*dd5c81e9SGunnar Mills                    "description": "The number of times a phy reset problem has occurred.",
976*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of times a phy reset problem has occurred.",
977*dd5c81e9SGunnar Mills                    "readonly": true,
978*dd5c81e9SGunnar Mills                    "type": [
979*dd5c81e9SGunnar Mills                        "integer",
980*dd5c81e9SGunnar Mills                        "null"
981*dd5c81e9SGunnar Mills                    ],
982*dd5c81e9SGunnar Mills                    "versionAdded": "v1_5_0"
983*dd5c81e9SGunnar Mills                },
984*dd5c81e9SGunnar Mills                "RunningDisparityErrorCount": {
985*dd5c81e9SGunnar Mills                    "description": "The number of dwords containing running disparity errors that have been received by the phy outside of phy reset sequences.",
986*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the number of dwords containing running disparity errors that have been received by the phy outside of phy reset sequences.",
987*dd5c81e9SGunnar Mills                    "readonly": true,
988*dd5c81e9SGunnar Mills                    "type": [
989*dd5c81e9SGunnar Mills                        "integer",
990*dd5c81e9SGunnar Mills                        "null"
991*dd5c81e9SGunnar Mills                    ],
992*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
993*dd5c81e9SGunnar Mills                }
994*dd5c81e9SGunnar Mills            },
995*dd5c81e9SGunnar Mills            "type": "object"
996*dd5c81e9SGunnar Mills        },
997*dd5c81e9SGunnar Mills        "Transceiver": {
998*dd5c81e9SGunnar Mills            "additionalProperties": false,
999*dd5c81e9SGunnar Mills            "description": "The transceiver metrics.",
1000*dd5c81e9SGunnar Mills            "longDescription": "This type shall describe the transceiver-related metrics.",
1001*dd5c81e9SGunnar Mills            "patternProperties": {
1002*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1003*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1004*dd5c81e9SGunnar Mills                    "type": [
1005*dd5c81e9SGunnar Mills                        "array",
1006*dd5c81e9SGunnar Mills                        "boolean",
1007*dd5c81e9SGunnar Mills                        "integer",
1008*dd5c81e9SGunnar Mills                        "number",
1009*dd5c81e9SGunnar Mills                        "null",
1010*dd5c81e9SGunnar Mills                        "object",
1011*dd5c81e9SGunnar Mills                        "string"
1012*dd5c81e9SGunnar Mills                    ]
1013*dd5c81e9SGunnar Mills                }
1014*dd5c81e9SGunnar Mills            },
1015*dd5c81e9SGunnar Mills            "properties": {
1016*dd5c81e9SGunnar Mills                "RXInputPowerMilliWatts": {
1017*dd5c81e9SGunnar Mills                    "description": "The RX input power value of a small form-factor pluggable (SFP) transceiver.",
1018*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the RX input power value of a small form-factor pluggable (SFP) transceiver.",
1019*dd5c81e9SGunnar Mills                    "minimum": 0,
1020*dd5c81e9SGunnar Mills                    "readonly": true,
1021*dd5c81e9SGunnar Mills                    "type": [
1022*dd5c81e9SGunnar Mills                        "number",
1023*dd5c81e9SGunnar Mills                        "null"
1024*dd5c81e9SGunnar Mills                    ],
1025*dd5c81e9SGunnar Mills                    "units": "mW",
1026*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
1027*dd5c81e9SGunnar Mills                },
1028*dd5c81e9SGunnar Mills                "SupplyVoltage": {
1029*dd5c81e9SGunnar Mills                    "description": "The supply voltage of a small form-factor pluggable (SFP) transceiver.",
1030*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the supply voltage of a small form-factor pluggable (SFP) transceiver.",
1031*dd5c81e9SGunnar Mills                    "readonly": true,
1032*dd5c81e9SGunnar Mills                    "type": [
1033*dd5c81e9SGunnar Mills                        "number",
1034*dd5c81e9SGunnar Mills                        "null"
1035*dd5c81e9SGunnar Mills                    ],
1036*dd5c81e9SGunnar Mills                    "units": "V",
1037*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
1038*dd5c81e9SGunnar Mills                },
1039*dd5c81e9SGunnar Mills                "TXBiasCurrentMilliAmps": {
1040*dd5c81e9SGunnar Mills                    "description": "The TX bias current value of a small form-factor pluggable (SFP) transceiver.",
1041*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the TX bias current value of a small form-factor pluggable (SFP) transceiver.",
1042*dd5c81e9SGunnar Mills                    "minimum": 0,
1043*dd5c81e9SGunnar Mills                    "readonly": true,
1044*dd5c81e9SGunnar Mills                    "type": [
1045*dd5c81e9SGunnar Mills                        "number",
1046*dd5c81e9SGunnar Mills                        "null"
1047*dd5c81e9SGunnar Mills                    ],
1048*dd5c81e9SGunnar Mills                    "units": "mA",
1049*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
1050*dd5c81e9SGunnar Mills                },
1051*dd5c81e9SGunnar Mills                "TXOutputPowerMilliWatts": {
1052*dd5c81e9SGunnar Mills                    "description": "The TX output power value of a small form-factor pluggable (SFP) transceiver.",
1053*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the TX output power value of a small form-factor pluggable (SFP) transceiver.",
1054*dd5c81e9SGunnar Mills                    "minimum": 0,
1055*dd5c81e9SGunnar Mills                    "readonly": true,
1056*dd5c81e9SGunnar Mills                    "type": [
1057*dd5c81e9SGunnar Mills                        "number",
1058*dd5c81e9SGunnar Mills                        "null"
1059*dd5c81e9SGunnar Mills                    ],
1060*dd5c81e9SGunnar Mills                    "units": "mW",
1061*dd5c81e9SGunnar Mills                    "versionAdded": "v1_1_0"
1062*dd5c81e9SGunnar Mills                },
1063*dd5c81e9SGunnar Mills                "WavelengthNanometers": {
1064*dd5c81e9SGunnar Mills                    "description": "The laser wavelength, in nanometers, for a small form-factor pluggable (SFP) transceiver.",
1065*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the laser wavelength, in nanometers, for a small form-factor pluggable (SFP) transceiver.  This property shall not be present for non-optic SFP mediums.",
1066*dd5c81e9SGunnar Mills                    "readonly": true,
1067*dd5c81e9SGunnar Mills                    "type": [
1068*dd5c81e9SGunnar Mills                        "string",
1069*dd5c81e9SGunnar Mills                        "null"
1070*dd5c81e9SGunnar Mills                    ],
1071*dd5c81e9SGunnar Mills                    "units": "nm",
1072*dd5c81e9SGunnar Mills                    "versionAdded": "v1_7_0"
1073*dd5c81e9SGunnar Mills                }
1074*dd5c81e9SGunnar Mills            },
1075*dd5c81e9SGunnar Mills            "type": "object"
1076*dd5c81e9SGunnar Mills        }
1077*dd5c81e9SGunnar Mills    },
1078*dd5c81e9SGunnar Mills    "language": "en",
1079*dd5c81e9SGunnar Mills    "owningEntity": "DMTF",
1080*dd5c81e9SGunnar Mills    "release": "2024.3",
1081*dd5c81e9SGunnar Mills    "title": "#PortMetrics.v1_7_0.PortMetrics"
1082*dd5c81e9SGunnar Mills}