1*c6d7a45dSGunnar Mills{ 2*c6d7a45dSGunnar Mills "$id": "http://redfish.dmtf.org/schemas/v1/VirtualPCI2PCIBridge.v1_0_0.json", 3*c6d7a45dSGunnar Mills "$ref": "#/definitions/VirtualPCI2PCIBridge", 4*c6d7a45dSGunnar Mills "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", 5*c6d7a45dSGunnar Mills "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", 6*c6d7a45dSGunnar Mills "definitions": { 7*c6d7a45dSGunnar Mills "Actions": { 8*c6d7a45dSGunnar Mills "additionalProperties": false, 9*c6d7a45dSGunnar Mills "description": "The available actions for this resource.", 10*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the available actions for this resource.", 11*c6d7a45dSGunnar Mills "patternProperties": { 12*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 13*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 14*c6d7a45dSGunnar Mills "type": [ 15*c6d7a45dSGunnar Mills "array", 16*c6d7a45dSGunnar Mills "boolean", 17*c6d7a45dSGunnar Mills "integer", 18*c6d7a45dSGunnar Mills "number", 19*c6d7a45dSGunnar Mills "null", 20*c6d7a45dSGunnar Mills "object", 21*c6d7a45dSGunnar Mills "string" 22*c6d7a45dSGunnar Mills ] 23*c6d7a45dSGunnar Mills } 24*c6d7a45dSGunnar Mills }, 25*c6d7a45dSGunnar Mills "properties": { 26*c6d7a45dSGunnar Mills "Oem": { 27*c6d7a45dSGunnar Mills "$ref": "#/definitions/OemActions", 28*c6d7a45dSGunnar Mills "description": "The available OEM-specific actions for this resource.", 29*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the available OEM-specific actions for this resource." 30*c6d7a45dSGunnar Mills } 31*c6d7a45dSGunnar Mills }, 32*c6d7a45dSGunnar Mills "type": "object" 33*c6d7a45dSGunnar Mills }, 34*c6d7a45dSGunnar Mills "Links": { 35*c6d7a45dSGunnar Mills "additionalProperties": false, 36*c6d7a45dSGunnar Mills "description": "The links to other resources that are related to this resource.", 37*c6d7a45dSGunnar Mills "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.", 38*c6d7a45dSGunnar Mills "patternProperties": { 39*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 40*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 41*c6d7a45dSGunnar Mills "type": [ 42*c6d7a45dSGunnar Mills "array", 43*c6d7a45dSGunnar Mills "boolean", 44*c6d7a45dSGunnar Mills "integer", 45*c6d7a45dSGunnar Mills "number", 46*c6d7a45dSGunnar Mills "null", 47*c6d7a45dSGunnar Mills "object", 48*c6d7a45dSGunnar Mills "string" 49*c6d7a45dSGunnar Mills ] 50*c6d7a45dSGunnar Mills } 51*c6d7a45dSGunnar Mills }, 52*c6d7a45dSGunnar Mills "properties": { 53*c6d7a45dSGunnar Mills "Endpoints": { 54*c6d7a45dSGunnar Mills "description": "The links to the endpoints associated with this vPPB.", 55*c6d7a45dSGunnar Mills "items": { 56*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint" 57*c6d7a45dSGunnar Mills }, 58*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints associated with this vPPB.", 59*c6d7a45dSGunnar Mills "readonly": true, 60*c6d7a45dSGunnar Mills "type": "array" 61*c6d7a45dSGunnar Mills }, 62*c6d7a45dSGunnar Mills "Endpoints@odata.count": { 63*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 64*c6d7a45dSGunnar Mills }, 65*c6d7a45dSGunnar Mills "Oem": { 66*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 67*c6d7a45dSGunnar Mills "description": "The OEM extension property.", 68*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements." 69*c6d7a45dSGunnar Mills }, 70*c6d7a45dSGunnar Mills "Port": { 71*c6d7a45dSGunnar Mills "anyOf": [ 72*c6d7a45dSGunnar Mills { 73*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port" 74*c6d7a45dSGunnar Mills }, 75*c6d7a45dSGunnar Mills { 76*c6d7a45dSGunnar Mills "type": "null" 77*c6d7a45dSGunnar Mills } 78*c6d7a45dSGunnar Mills ], 79*c6d7a45dSGunnar Mills "description": "The link to the port associated with this vPPB.", 80*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a link to a resource of type `Port` that represents the port associated with this vPPB.", 81*c6d7a45dSGunnar Mills "readonly": false 82*c6d7a45dSGunnar Mills } 83*c6d7a45dSGunnar Mills }, 84*c6d7a45dSGunnar Mills "type": "object" 85*c6d7a45dSGunnar Mills }, 86*c6d7a45dSGunnar Mills "OemActions": { 87*c6d7a45dSGunnar Mills "additionalProperties": true, 88*c6d7a45dSGunnar Mills "description": "The available OEM-specific actions for this resource.", 89*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the available OEM-specific actions for this resource.", 90*c6d7a45dSGunnar Mills "patternProperties": { 91*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 92*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 93*c6d7a45dSGunnar Mills "type": [ 94*c6d7a45dSGunnar Mills "array", 95*c6d7a45dSGunnar Mills "boolean", 96*c6d7a45dSGunnar Mills "integer", 97*c6d7a45dSGunnar Mills "number", 98*c6d7a45dSGunnar Mills "null", 99*c6d7a45dSGunnar Mills "object", 100*c6d7a45dSGunnar Mills "string" 101*c6d7a45dSGunnar Mills ] 102*c6d7a45dSGunnar Mills } 103*c6d7a45dSGunnar Mills }, 104*c6d7a45dSGunnar Mills "properties": {}, 105*c6d7a45dSGunnar Mills "type": "object" 106*c6d7a45dSGunnar Mills }, 107*c6d7a45dSGunnar Mills "VirtualPCI2PCIBridge": { 108*c6d7a45dSGunnar Mills "additionalProperties": false, 109*c6d7a45dSGunnar Mills "description": "The `VirtualPCI2PCIBridge` schema describes Virtual PCI-to-PCI Bridge (vPPB) inside a CXL switch that is owned by the host.", 110*c6d7a45dSGunnar Mills "longDescription": "This resource shall represent a Virtual PCI-to-PCI Bridge (vPPB) inside a CXL switch that is host-owned. This can be bound to a port that is either disconnected, connected to a PCIe component, or connected to a CXL component.", 111*c6d7a45dSGunnar Mills "patternProperties": { 112*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 113*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 114*c6d7a45dSGunnar Mills "type": [ 115*c6d7a45dSGunnar Mills "array", 116*c6d7a45dSGunnar Mills "boolean", 117*c6d7a45dSGunnar Mills "integer", 118*c6d7a45dSGunnar Mills "number", 119*c6d7a45dSGunnar Mills "null", 120*c6d7a45dSGunnar Mills "object", 121*c6d7a45dSGunnar Mills "string" 122*c6d7a45dSGunnar Mills ] 123*c6d7a45dSGunnar Mills } 124*c6d7a45dSGunnar Mills }, 125*c6d7a45dSGunnar Mills "properties": { 126*c6d7a45dSGunnar Mills "@odata.context": { 127*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" 128*c6d7a45dSGunnar Mills }, 129*c6d7a45dSGunnar Mills "@odata.etag": { 130*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" 131*c6d7a45dSGunnar Mills }, 132*c6d7a45dSGunnar Mills "@odata.id": { 133*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" 134*c6d7a45dSGunnar Mills }, 135*c6d7a45dSGunnar Mills "@odata.type": { 136*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" 137*c6d7a45dSGunnar Mills }, 138*c6d7a45dSGunnar Mills "Actions": { 139*c6d7a45dSGunnar Mills "$ref": "#/definitions/Actions", 140*c6d7a45dSGunnar Mills "description": "The available actions for this resource.", 141*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the available actions for this resource." 142*c6d7a45dSGunnar Mills }, 143*c6d7a45dSGunnar Mills "BindingStatus": { 144*c6d7a45dSGunnar Mills "$ref": "#/definitions/vPPBStatusTypes", 145*c6d7a45dSGunnar Mills "description": "The binding status of the vPPB.", 146*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the binding status of the vPPB.", 147*c6d7a45dSGunnar Mills "readonly": true 148*c6d7a45dSGunnar Mills }, 149*c6d7a45dSGunnar Mills "BoundLDId": { 150*c6d7a45dSGunnar Mills "description": "The identifier of the bound local logical device.", 151*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the identifier of the bound local logical device bound to this vPPB. This property shall only be present if `BindingStatus` contains `BoundLD`.", 152*c6d7a45dSGunnar Mills "readonly": true, 153*c6d7a45dSGunnar Mills "type": "integer" 154*c6d7a45dSGunnar Mills }, 155*c6d7a45dSGunnar Mills "BoundPBRId": { 156*c6d7a45dSGunnar Mills "description": "The identifier of the bound PBR.", 157*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the identifier of PBR bound to this vPPB. This property shall only be present if `BindingStatus` contains `BoundPID`.", 158*c6d7a45dSGunnar Mills "readonly": true, 159*c6d7a45dSGunnar Mills "type": "integer" 160*c6d7a45dSGunnar Mills }, 161*c6d7a45dSGunnar Mills "BoundPortId": { 162*c6d7a45dSGunnar Mills "description": "The physical port number of the bound port.", 163*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the physical port number of the port bound to this vPPB. This property shall only be present if `BindingStatus` contains `BoundPhysicalPort` or `BoundLD`.", 164*c6d7a45dSGunnar Mills "readonly": true, 165*c6d7a45dSGunnar Mills "type": "integer" 166*c6d7a45dSGunnar Mills }, 167*c6d7a45dSGunnar Mills "Description": { 168*c6d7a45dSGunnar Mills "anyOf": [ 169*c6d7a45dSGunnar Mills { 170*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" 171*c6d7a45dSGunnar Mills }, 172*c6d7a45dSGunnar Mills { 173*c6d7a45dSGunnar Mills "type": "null" 174*c6d7a45dSGunnar Mills } 175*c6d7a45dSGunnar Mills ], 176*c6d7a45dSGunnar Mills "readonly": true 177*c6d7a45dSGunnar Mills }, 178*c6d7a45dSGunnar Mills "GCXLID": { 179*c6d7a45dSGunnar Mills "description": "The GCXLID for the CXL logical device bound to this vPPB.", 180*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the globally unique CXL logical device identifier (GCXLID) for the CXL logical device that is bound to this vPPB.", 181*c6d7a45dSGunnar Mills "pattern": "^([0-9A-Fa-f]{2}-){7}[0-9A-Fa-f]{2}:([0-9A-Fa-f]{4})$", 182*c6d7a45dSGunnar Mills "readonly": true, 183*c6d7a45dSGunnar Mills "type": [ 184*c6d7a45dSGunnar Mills "string", 185*c6d7a45dSGunnar Mills "null" 186*c6d7a45dSGunnar Mills ] 187*c6d7a45dSGunnar Mills }, 188*c6d7a45dSGunnar Mills "Id": { 189*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", 190*c6d7a45dSGunnar Mills "readonly": true 191*c6d7a45dSGunnar Mills }, 192*c6d7a45dSGunnar Mills "Links": { 193*c6d7a45dSGunnar Mills "$ref": "#/definitions/Links", 194*c6d7a45dSGunnar Mills "description": "The links to other resources that are related to this resource.", 195*c6d7a45dSGunnar Mills "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource." 196*c6d7a45dSGunnar Mills }, 197*c6d7a45dSGunnar Mills "Name": { 198*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", 199*c6d7a45dSGunnar Mills "readonly": true 200*c6d7a45dSGunnar Mills }, 201*c6d7a45dSGunnar Mills "Oem": { 202*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 203*c6d7a45dSGunnar Mills "description": "The OEM extension property.", 204*c6d7a45dSGunnar 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." 205*c6d7a45dSGunnar Mills }, 206*c6d7a45dSGunnar Mills "Status": { 207*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status", 208*c6d7a45dSGunnar Mills "description": "The status and health of the resource and its subordinate or dependent resources.", 209*c6d7a45dSGunnar Mills "longDescription": "This property shall contain any status or health properties of the resource." 210*c6d7a45dSGunnar Mills }, 211*c6d7a45dSGunnar Mills "VPPBId": { 212*c6d7a45dSGunnar Mills "description": "The Virtual PCI-PCI Bridge identifier.", 213*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the identifier of the vPPB. This property shall contain the same value as the `Id` property.", 214*c6d7a45dSGunnar Mills "readonly": true, 215*c6d7a45dSGunnar Mills "type": [ 216*c6d7a45dSGunnar Mills "string", 217*c6d7a45dSGunnar Mills "null" 218*c6d7a45dSGunnar Mills ] 219*c6d7a45dSGunnar Mills } 220*c6d7a45dSGunnar Mills }, 221*c6d7a45dSGunnar Mills "required": [ 222*c6d7a45dSGunnar Mills "@odata.id", 223*c6d7a45dSGunnar Mills "@odata.type", 224*c6d7a45dSGunnar Mills "Id", 225*c6d7a45dSGunnar Mills "Name" 226*c6d7a45dSGunnar Mills ], 227*c6d7a45dSGunnar Mills "type": "object" 228*c6d7a45dSGunnar Mills }, 229*c6d7a45dSGunnar Mills "vPPBStatusTypes": { 230*c6d7a45dSGunnar Mills "enum": [ 231*c6d7a45dSGunnar Mills "Unbound", 232*c6d7a45dSGunnar Mills "Busy", 233*c6d7a45dSGunnar Mills "BoundPhysicalPort", 234*c6d7a45dSGunnar Mills "BoundLD", 235*c6d7a45dSGunnar Mills "BoundPID" 236*c6d7a45dSGunnar Mills ], 237*c6d7a45dSGunnar Mills "enumDescriptions": { 238*c6d7a45dSGunnar Mills "BoundLD": "This vPPB is bound to a CXL logical device.", 239*c6d7a45dSGunnar Mills "BoundPID": "This vPPB is bound to a PBR ID.", 240*c6d7a45dSGunnar Mills "BoundPhysicalPort": "This vPPB is bound to a physical port.", 241*c6d7a45dSGunnar Mills "Busy": "Binding or unbinding is in progress for this vPPB.", 242*c6d7a45dSGunnar Mills "Unbound": "This vPPB is in unbound state." 243*c6d7a45dSGunnar Mills }, 244*c6d7a45dSGunnar Mills "enumLongDescriptions": { 245*c6d7a45dSGunnar Mills "BoundLD": "This value shall indicate the CXL Specification-defined 'Bound LD' state for the vPPB.", 246*c6d7a45dSGunnar Mills "BoundPID": "This value shall indicate the CXL Specification-defined 'Bound PBR Id' state for the vPPB.", 247*c6d7a45dSGunnar Mills "BoundPhysicalPort": "This value shall indicate the CXL Specification-defined 'Bound Physical Port' state for the vPPB.", 248*c6d7a45dSGunnar Mills "Busy": "This value shall indicate the CXL Specification-defined 'Binding or Unbinding' state for the vPPB.", 249*c6d7a45dSGunnar Mills "Unbound": "This value shall indicate the CXL Specification-defined 'Unbound' state for the vPPB." 250*c6d7a45dSGunnar Mills }, 251*c6d7a45dSGunnar Mills "type": "string" 252*c6d7a45dSGunnar Mills } 253*c6d7a45dSGunnar Mills }, 254*c6d7a45dSGunnar Mills "owningEntity": "DMTF", 255*c6d7a45dSGunnar Mills "release": "2025.2", 256*c6d7a45dSGunnar Mills "title": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge" 257*c6d7a45dSGunnar Mills}