1{ 2 "$id": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_7_0.json", 3 "$ref": "#/definitions/PCIeFunction", 4 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", 5 "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", 6 "definitions": { 7 "Actions": { 8 "additionalProperties": false, 9 "description": "The available actions for this resource.", 10 "longDescription": "This type shall contain the available actions for this resource.", 11 "patternProperties": { 12 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 13 "description": "This property shall specify a valid odata or Redfish property.", 14 "type": [ 15 "array", 16 "boolean", 17 "integer", 18 "number", 19 "null", 20 "object", 21 "string" 22 ] 23 } 24 }, 25 "properties": { 26 "Oem": { 27 "$ref": "#/definitions/OemActions", 28 "description": "The available OEM-specific actions for this resource.", 29 "longDescription": "This property shall contain the available OEM-specific actions for this resource.", 30 "versionAdded": "v1_1_0" 31 } 32 }, 33 "type": "object" 34 }, 35 "DeviceClass": { 36 "enum": [ 37 "UnclassifiedDevice", 38 "MassStorageController", 39 "NetworkController", 40 "DisplayController", 41 "MultimediaController", 42 "MemoryController", 43 "Bridge", 44 "CommunicationController", 45 "GenericSystemPeripheral", 46 "InputDeviceController", 47 "DockingStation", 48 "Processor", 49 "SerialBusController", 50 "WirelessController", 51 "IntelligentController", 52 "SatelliteCommunicationsController", 53 "EncryptionController", 54 "SignalProcessingController", 55 "ProcessingAccelerators", 56 "NonEssentialInstrumentation", 57 "Coprocessor", 58 "UnassignedClass", 59 "Other" 60 ], 61 "enumDescriptions": { 62 "Bridge": "A bridge.", 63 "CommunicationController": "A communication controller.", 64 "Coprocessor": "A coprocessor.", 65 "DisplayController": "A display controller.", 66 "DockingStation": "A docking station.", 67 "EncryptionController": "An encryption controller.", 68 "GenericSystemPeripheral": "A generic system peripheral.", 69 "InputDeviceController": "An input device controller.", 70 "IntelligentController": "An intelligent controller.", 71 "MassStorageController": "A mass storage controller.", 72 "MemoryController": "A memory controller.", 73 "MultimediaController": "A multimedia controller.", 74 "NetworkController": "A network controller.", 75 "NonEssentialInstrumentation": "A non-essential instrumentation.", 76 "Other": "Other class. The function Class Code needs to be verified.", 77 "ProcessingAccelerators": "A processing accelerators.", 78 "Processor": "A processor.", 79 "SatelliteCommunicationsController": "A satellite communications controller.", 80 "SerialBusController": "A serial bus controller.", 81 "SignalProcessingController": "A signal processing controller.", 82 "UnassignedClass": "An unassigned class.", 83 "UnclassifiedDevice": "An unclassified device.", 84 "WirelessController": "A wireless controller." 85 }, 86 "type": "string" 87 }, 88 "FunctionProtocol": { 89 "enum": [ 90 "PCIe", 91 "CXL" 92 ], 93 "enumDescriptions": { 94 "CXL": "A PCIe function supporting CXL extensions.", 95 "PCIe": "A standard PCIe function." 96 }, 97 "type": "string" 98 }, 99 "FunctionType": { 100 "enum": [ 101 "Physical", 102 "Virtual" 103 ], 104 "enumDescriptions": { 105 "Physical": "A physical PCIe function.", 106 "Virtual": "A virtual PCIe function." 107 }, 108 "type": "string" 109 }, 110 "Links": { 111 "additionalProperties": false, 112 "description": "The links to other resources that are related to this resource.", 113 "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.", 114 "patternProperties": { 115 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 116 "description": "This property shall specify a valid odata or Redfish property.", 117 "type": [ 118 "array", 119 "boolean", 120 "integer", 121 "number", 122 "null", 123 "object", 124 "string" 125 ] 126 } 127 }, 128 "properties": { 129 "CXLLogicalDevice": { 130 "anyOf": [ 131 { 132 "$ref": "http://redfish.dmtf.org/schemas/v1/CXLLogicalDevice.json#/definitions/CXLLogicalDevice" 133 }, 134 { 135 "type": "null" 136 } 137 ], 138 "description": "The link to the CXL logical device to which this function is assigned.", 139 "longDescription": "This property shall contain a link to a resource of type `CXLLogicalDevice` that represents the CXL logical device to which this PCIe function is assigned.", 140 "readonly": true, 141 "versionAdded": "v1_5_0" 142 }, 143 "Drives": { 144 "description": "An array of links to the drives that this PCIe function produces.", 145 "items": { 146 "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive" 147 }, 148 "longDescription": "This property shall contain an array of links to resources of type `Drive` that represent the drives associated with this PCIe function.", 149 "readonly": true, 150 "type": "array" 151 }, 152 "Drives@odata.count": { 153 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 154 }, 155 "EthernetInterfaces": { 156 "description": "An array of links to the Ethernet interfaces that this PCIe function produces.", 157 "items": { 158 "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface" 159 }, 160 "longDescription": "This property shall contain an array of links to resources of type `EthernetInterface` that represent the network interfaces associated with this PCIe function.", 161 "readonly": true, 162 "type": "array" 163 }, 164 "EthernetInterfaces@odata.count": { 165 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 166 }, 167 "MemoryDomains": { 168 "description": "An array of links to the memory domains that the PCIe function produces.", 169 "items": { 170 "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.json#/definitions/MemoryDomain" 171 }, 172 "longDescription": "This property shall contain an array of links to resources of type `MemoryDomain` that represent the memory domains associated with this PCIe function.", 173 "readonly": true, 174 "type": "array", 175 "versionAdded": "v1_5_0" 176 }, 177 "MemoryDomains@odata.count": { 178 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 179 }, 180 "NetworkDeviceFunctions": { 181 "description": "An array of links to the network device functions that the PCIe function produces.", 182 "items": { 183 "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction" 184 }, 185 "longDescription": "This property shall contain an array of links to resources of type `NetworkDeviceFunction` that represent the network device functions associated with this PCIe function.", 186 "readonly": true, 187 "type": "array", 188 "versionAdded": "v1_2_0" 189 }, 190 "NetworkDeviceFunctions@odata.count": { 191 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 192 }, 193 "Oem": { 194 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 195 "description": "The OEM extension property.", 196 "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements." 197 }, 198 "PCIeDevice": { 199 "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice", 200 "description": "The link to the PCIe device on which this function resides.", 201 "longDescription": "This property shall contain a link to a resource of type `PCIeDevice` that represents the PCIe devices on which this function resides.", 202 "readonly": true 203 }, 204 "Processor": { 205 "anyOf": [ 206 { 207 "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.json#/definitions/Processor" 208 }, 209 { 210 "type": "null" 211 } 212 ], 213 "description": "The link to a processor that is hosted on this PCIe function.", 214 "longDescription": "This property shall link to a resource of type `Processor` that represents the processor that is hosted on this PCIe function.", 215 "readonly": true, 216 "versionAdded": "v1_4_0" 217 }, 218 "StorageControllers": { 219 "description": "An array of links to the storage controllers that this PCIe function produces.", 220 "items": { 221 "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController" 222 }, 223 "longDescription": "This property shall contain an array of links to referenceable members of type `StorageController` that represent the storage controllers associated with this PCIe function.", 224 "readonly": true, 225 "type": "array" 226 }, 227 "StorageControllers@odata.count": { 228 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 229 } 230 }, 231 "type": "object" 232 }, 233 "OemActions": { 234 "additionalProperties": true, 235 "description": "The available OEM-specific actions for this resource.", 236 "longDescription": "This type shall contain the available OEM-specific actions for this resource.", 237 "patternProperties": { 238 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 239 "description": "This property shall specify a valid odata or Redfish property.", 240 "type": [ 241 "array", 242 "boolean", 243 "integer", 244 "number", 245 "null", 246 "object", 247 "string" 248 ] 249 } 250 }, 251 "properties": {}, 252 "type": "object" 253 }, 254 "PCIeFunction": { 255 "additionalProperties": false, 256 "description": "The `PCIeFunction` schema describes the properties of a PCIe function that is attached to a system.", 257 "longDescription": "This resource shall represent a PCIe function in a Redfish implementation.", 258 "patternProperties": { 259 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 260 "description": "This property shall specify a valid odata or Redfish property.", 261 "type": [ 262 "array", 263 "boolean", 264 "integer", 265 "number", 266 "null", 267 "object", 268 "string" 269 ] 270 } 271 }, 272 "properties": { 273 "@odata.context": { 274 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" 275 }, 276 "@odata.etag": { 277 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" 278 }, 279 "@odata.id": { 280 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" 281 }, 282 "@odata.type": { 283 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" 284 }, 285 "ARIFunctionNumber": { 286 "description": "The ARI (Alternative Routing-ID Interpretation) function number of this PCIe function.", 287 "longDescription": "This property shall contain the PCIe ARI (Alternative Routing-ID Interpretation) function number of the PCIe device function. This property shall not be present if `ARIModeEnabled` contains `false` or is not supported. This property shall not be present if the PCIe device function is fabric-attached or is shared with multiple systems.", 288 "pattern": "^0[xX][0-9a-fA-F]{2}$", 289 "readonly": true, 290 "type": [ 291 "string", 292 "null" 293 ], 294 "versionAdded": "v1_7_0" 295 }, 296 "ARIModeEnabled": { 297 "description": "An indication of whether PCIe ARI (Alternative Routing-ID Interpretation) is enabled for this PCIe function.", 298 "longDescription": "This property shall indicate whether PCIe ARI (Alternative Routing-ID Interpretation) is enabled for this PCIe function. This property shall not be present if the PCIe device function is fabric-attached or is shared with multiple systems.", 299 "readonly": true, 300 "type": [ 301 "boolean", 302 "null" 303 ], 304 "versionAdded": "v1_7_0" 305 }, 306 "Actions": { 307 "$ref": "#/definitions/Actions", 308 "description": "The available actions for this resource.", 309 "longDescription": "This property shall contain the available actions for this resource.", 310 "versionAdded": "v1_1_0" 311 }, 312 "BusNumber": { 313 "description": "The bus number of this PCIe function.", 314 "longDescription": "This property shall contain the PCIe bus number of the PCIe device function. This property shall not be present if the PCIe device function is fabric-attached or is shared with multiple systems.", 315 "pattern": "^0[xX][0-9a-fA-F]{2}$", 316 "readonly": true, 317 "type": [ 318 "string", 319 "null" 320 ], 321 "versionAdded": "v1_6_0" 322 }, 323 "ClassCode": { 324 "description": "The Class Code of this PCIe function.", 325 "longDescription": "This property shall contain the PCI Class Code, Subclass, and Programming Interface of the PCIe device function in the order listed.", 326 "pattern": "^0[xX]([0-9A-Fa-f]{2}){3}$", 327 "readonly": true, 328 "type": [ 329 "string", 330 "null" 331 ] 332 }, 333 "Description": { 334 "anyOf": [ 335 { 336 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" 337 }, 338 { 339 "type": "null" 340 } 341 ], 342 "readonly": true 343 }, 344 "DeviceClass": { 345 "$ref": "#/definitions/DeviceClass", 346 "description": "The class for this PCIe function.", 347 "longDescription": "This property shall contain the device class of the PCIe device function, such as storage, network, or memory.", 348 "readonly": true 349 }, 350 "DeviceId": { 351 "description": "The Device ID of this PCIe function.", 352 "longDescription": "This property shall contain the PCI Device ID of the PCIe device function with the most significant byte shown first.", 353 "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$", 354 "readonly": true, 355 "type": [ 356 "string", 357 "null" 358 ] 359 }, 360 "DeviceNumber": { 361 "description": "The device number of this PCIe function.", 362 "longDescription": "This property shall contain the PCIe device number of the PCIe device function. If `ARIModeEnabled` contains `true`, this property shall contain the value of the `ARIFunctionNumber` property shifted right three bits. This property shall not be present if the PCIe device function is fabric-attached or is shared with multiple systems.", 363 "pattern": "^0[xX][0-1][0-9a-fA-F]{1}$", 364 "readonly": true, 365 "type": [ 366 "string", 367 "null" 368 ], 369 "versionAdded": "v1_6_0" 370 }, 371 "Enabled": { 372 "description": "An indication of whether this PCIe device function is enabled.", 373 "longDescription": "The value of this property shall indicate if this PCIe device function is enabled.", 374 "readonly": false, 375 "type": "boolean", 376 "versionAdded": "v1_3_0" 377 }, 378 "FunctionId": { 379 "description": "The PCIe function number.", 380 "longDescription": "This property shall contain the PCIe function number within a given PCIe device.", 381 "readonly": true, 382 "type": [ 383 "integer", 384 "null" 385 ] 386 }, 387 "FunctionNumber": { 388 "description": "The function number of this PCIe function.", 389 "longDescription": "This property shall contain the PCIe function number of the PCIe device function. If `ARIModeEnabled` contains `true`, this property shall contain the lower three bits of the value of the `ARIFunctionNumber` property. This property shall not be present if the PCIe device function is fabric-attached or is shared with multiple systems.", 390 "pattern": "^0[xX][0-7]$", 391 "readonly": true, 392 "type": [ 393 "string", 394 "null" 395 ], 396 "versionAdded": "v1_6_0" 397 }, 398 "FunctionProtocol": { 399 "anyOf": [ 400 { 401 "$ref": "#/definitions/FunctionProtocol" 402 }, 403 { 404 "type": "null" 405 } 406 ], 407 "description": "The PCIe function protocol.", 408 "longDescription": "This property shall contain the protocol supported by this PCIe function.", 409 "readonly": true, 410 "versionAdded": "v1_5_0" 411 }, 412 "FunctionType": { 413 "$ref": "#/definitions/FunctionType", 414 "description": "The type of the PCIe function.", 415 "longDescription": "This property shall contain the function type of the PCIe device function such as physical or virtual.", 416 "readonly": true 417 }, 418 "Id": { 419 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", 420 "readonly": true 421 }, 422 "Links": { 423 "$ref": "#/definitions/Links", 424 "description": "The links to other resources that are related to this resource.", 425 "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource." 426 }, 427 "Name": { 428 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", 429 "readonly": true 430 }, 431 "Oem": { 432 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 433 "description": "The OEM extension property.", 434 "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements." 435 }, 436 "RevisionId": { 437 "description": "The Revision ID of this PCIe function.", 438 "longDescription": "This property shall contain the PCI Revision ID of the PCIe device function.", 439 "pattern": "^0[xX]([0-9A-Fa-f]{2}){1}$", 440 "readonly": true, 441 "type": [ 442 "string", 443 "null" 444 ] 445 }, 446 "SegmentNumber": { 447 "description": "The segment number of this PCIe function.", 448 "longDescription": "This property shall contain the PCIe segment number of the PCIe device function. This property shall not be present if the PCIe device function is fabric-attached or is shared with multiple systems.", 449 "pattern": "^0[xX][0-9a-fA-F]{4}$", 450 "readonly": true, 451 "type": [ 452 "string", 453 "null" 454 ], 455 "versionAdded": "v1_6_0" 456 }, 457 "Status": { 458 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status", 459 "description": "The status and health of the resource and its subordinate or dependent resources.", 460 "longDescription": "This property shall contain any status or health properties of the resource." 461 }, 462 "SubsystemId": { 463 "description": "The Subsystem ID of this PCIe function.", 464 "longDescription": "This property shall contain the PCI Subsystem ID of the PCIe device function with the most significant byte shown first.", 465 "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$", 466 "readonly": true, 467 "type": [ 468 "string", 469 "null" 470 ] 471 }, 472 "SubsystemVendorId": { 473 "description": "The Subsystem Vendor ID of this PCIe function.", 474 "longDescription": "This property shall contain the PCI Subsystem Vendor ID of the PCIe device function with the most significant byte shown first.", 475 "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$", 476 "readonly": true, 477 "type": [ 478 "string", 479 "null" 480 ] 481 }, 482 "VendorId": { 483 "description": "The Vendor ID of this PCIe function.", 484 "longDescription": "This property shall contain the PCI Vendor ID of the PCIe device function with the most significant byte shown first.", 485 "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$", 486 "readonly": true, 487 "type": [ 488 "string", 489 "null" 490 ] 491 } 492 }, 493 "required": [ 494 "@odata.id", 495 "@odata.type", 496 "Id", 497 "Name" 498 ], 499 "type": "object" 500 } 501 }, 502 "language": "en", 503 "owningEntity": "DMTF", 504 "release": "2025.4", 505 "title": "#PCIeFunction.v1_7_0.PCIeFunction" 506}