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