xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/NetworkDeviceFunction.v1_11_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1*c6d7a45dSGunnar Mills{
2*c6d7a45dSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.v1_11_0.json",
3*c6d7a45dSGunnar Mills    "$ref": "#/definitions/NetworkDeviceFunction",
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                    "versionAdded": "v1_1_0"
31*c6d7a45dSGunnar Mills                }
32*c6d7a45dSGunnar Mills            },
33*c6d7a45dSGunnar Mills            "type": "object"
34*c6d7a45dSGunnar Mills        },
35*c6d7a45dSGunnar Mills        "AuthenticationMethod": {
36*c6d7a45dSGunnar Mills            "enum": [
37*c6d7a45dSGunnar Mills                "None",
38*c6d7a45dSGunnar Mills                "CHAP",
39*c6d7a45dSGunnar Mills                "MutualCHAP"
40*c6d7a45dSGunnar Mills            ],
41*c6d7a45dSGunnar Mills            "enumDescriptions": {
42*c6d7a45dSGunnar Mills                "CHAP": "iSCSI Challenge Handshake Authentication Protocol (CHAP) authentication is used.",
43*c6d7a45dSGunnar Mills                "MutualCHAP": "iSCSI Mutual Challenge Handshake Authentication Protocol (CHAP) authentication is used.",
44*c6d7a45dSGunnar Mills                "None": "No iSCSI authentication is used."
45*c6d7a45dSGunnar Mills            },
46*c6d7a45dSGunnar Mills            "type": "string"
47*c6d7a45dSGunnar Mills        },
48*c6d7a45dSGunnar Mills        "BootMode": {
49*c6d7a45dSGunnar Mills            "enum": [
50*c6d7a45dSGunnar Mills                "Disabled",
51*c6d7a45dSGunnar Mills                "PXE",
52*c6d7a45dSGunnar Mills                "iSCSI",
53*c6d7a45dSGunnar Mills                "FibreChannel",
54*c6d7a45dSGunnar Mills                "FibreChannelOverEthernet",
55*c6d7a45dSGunnar Mills                "HTTP"
56*c6d7a45dSGunnar Mills            ],
57*c6d7a45dSGunnar Mills            "enumDescriptions": {
58*c6d7a45dSGunnar Mills                "Disabled": "Do not indicate to UEFI/BIOS that this device is bootable.",
59*c6d7a45dSGunnar Mills                "FibreChannel": "Boot this device by using the embedded Fibre Channel support and configuration.  Only applicable if the `NetDevFuncType` is `FibreChannel`.",
60*c6d7a45dSGunnar Mills                "FibreChannelOverEthernet": "Boot this device by using the embedded Fibre Channel over Ethernet (FCoE) boot support and configuration.  Only applicable if the `NetDevFuncType` is `FibreChannelOverEthernet`.",
61*c6d7a45dSGunnar Mills                "HTTP": "Boot this device by using the embedded HTTP/HTTPS support.  Only applicable if the `NetDevFuncType` is `Ethernet`.",
62*c6d7a45dSGunnar Mills                "PXE": "Boot this device by using the embedded PXE support.  Only applicable if the `NetDevFuncType` is `Ethernet` or `InfiniBand`.",
63*c6d7a45dSGunnar Mills                "iSCSI": "Boot this device by using the embedded iSCSI boot support and configuration.  Only applicable if the `NetDevFuncType` is `iSCSI` or `Ethernet`."
64*c6d7a45dSGunnar Mills            },
65*c6d7a45dSGunnar Mills            "enumVersionAdded": {
66*c6d7a45dSGunnar Mills                "HTTP": "v1_9_0"
67*c6d7a45dSGunnar Mills            },
68*c6d7a45dSGunnar Mills            "type": "string"
69*c6d7a45dSGunnar Mills        },
70*c6d7a45dSGunnar Mills        "BootTargets": {
71*c6d7a45dSGunnar Mills            "additionalProperties": false,
72*c6d7a45dSGunnar Mills            "description": "A Fibre Channel boot target configured for a network device function.",
73*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe a Fibre Channel boot target configured for a network device function.",
74*c6d7a45dSGunnar Mills            "patternProperties": {
75*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
76*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
77*c6d7a45dSGunnar Mills                    "type": [
78*c6d7a45dSGunnar Mills                        "array",
79*c6d7a45dSGunnar Mills                        "boolean",
80*c6d7a45dSGunnar Mills                        "integer",
81*c6d7a45dSGunnar Mills                        "number",
82*c6d7a45dSGunnar Mills                        "null",
83*c6d7a45dSGunnar Mills                        "object",
84*c6d7a45dSGunnar Mills                        "string"
85*c6d7a45dSGunnar Mills                    ]
86*c6d7a45dSGunnar Mills                }
87*c6d7a45dSGunnar Mills            },
88*c6d7a45dSGunnar Mills            "properties": {
89*c6d7a45dSGunnar Mills                "BootPriority": {
90*c6d7a45dSGunnar Mills                    "description": "The relative priority for this entry in the boot targets array.",
91*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the relative priority for this entry in the boot targets array.  Lower numbers shall represent higher priority, with zero being the highest priority.  The `BootPriority` shall be unique for all entries of the `BootTargets` array.",
92*c6d7a45dSGunnar Mills                    "readonly": false,
93*c6d7a45dSGunnar Mills                    "type": [
94*c6d7a45dSGunnar Mills                        "integer",
95*c6d7a45dSGunnar Mills                        "null"
96*c6d7a45dSGunnar Mills                    ]
97*c6d7a45dSGunnar Mills                },
98*c6d7a45dSGunnar Mills                "LUNID": {
99*c6d7a45dSGunnar Mills                    "description": "The logical unit number (LUN) ID from which to boot on the device to which the corresponding WWPN refers.",
100*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the logical unit number (LUN) ID from which to boot on the device to which the corresponding WWPN refers.",
101*c6d7a45dSGunnar Mills                    "readonly": false,
102*c6d7a45dSGunnar Mills                    "type": [
103*c6d7a45dSGunnar Mills                        "string",
104*c6d7a45dSGunnar Mills                        "null"
105*c6d7a45dSGunnar Mills                    ]
106*c6d7a45dSGunnar Mills                },
107*c6d7a45dSGunnar Mills                "WWPN": {
108*c6d7a45dSGunnar Mills                    "description": "The World Wide Port Name (WWPN) from which to boot.",
109*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain World Wide Port Name (WWPN) from which to boot.",
110*c6d7a45dSGunnar Mills                    "readonly": false,
111*c6d7a45dSGunnar Mills                    "type": [
112*c6d7a45dSGunnar Mills                        "string",
113*c6d7a45dSGunnar Mills                        "null"
114*c6d7a45dSGunnar Mills                    ]
115*c6d7a45dSGunnar Mills                }
116*c6d7a45dSGunnar Mills            },
117*c6d7a45dSGunnar Mills            "type": "object"
118*c6d7a45dSGunnar Mills        },
119*c6d7a45dSGunnar Mills        "DataDirection": {
120*c6d7a45dSGunnar Mills            "enum": [
121*c6d7a45dSGunnar Mills                "None",
122*c6d7a45dSGunnar Mills                "Ingress",
123*c6d7a45dSGunnar Mills                "Egress"
124*c6d7a45dSGunnar Mills            ],
125*c6d7a45dSGunnar Mills            "enumDescriptions": {
126*c6d7a45dSGunnar Mills                "Egress": "Indicates that this limit is enforced on packets and bytes transmitted by the network device function.",
127*c6d7a45dSGunnar Mills                "Ingress": "Indicates that this limit is enforced on packets and bytes received by the network device function.",
128*c6d7a45dSGunnar Mills                "None": "Indicates that this limit not enforced."
129*c6d7a45dSGunnar Mills            },
130*c6d7a45dSGunnar Mills            "type": "string"
131*c6d7a45dSGunnar Mills        },
132*c6d7a45dSGunnar Mills        "Ethernet": {
133*c6d7a45dSGunnar Mills            "additionalProperties": false,
134*c6d7a45dSGunnar Mills            "description": "This type describes Ethernet capabilities, status, and configuration for a network device function.",
135*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe the Ethernet capabilities, status, and configuration values for a network device function.",
136*c6d7a45dSGunnar Mills            "patternProperties": {
137*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
138*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
139*c6d7a45dSGunnar Mills                    "type": [
140*c6d7a45dSGunnar Mills                        "array",
141*c6d7a45dSGunnar Mills                        "boolean",
142*c6d7a45dSGunnar Mills                        "integer",
143*c6d7a45dSGunnar Mills                        "number",
144*c6d7a45dSGunnar Mills                        "null",
145*c6d7a45dSGunnar Mills                        "object",
146*c6d7a45dSGunnar Mills                        "string"
147*c6d7a45dSGunnar Mills                    ]
148*c6d7a45dSGunnar Mills                }
149*c6d7a45dSGunnar Mills            },
150*c6d7a45dSGunnar Mills            "properties": {
151*c6d7a45dSGunnar Mills                "AdditionalProtocols": {
152*c6d7a45dSGunnar Mills                    "description": "The protocols supported by the hardware or firmware on the device.",
153*c6d7a45dSGunnar Mills                    "items": {
154*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
155*c6d7a45dSGunnar Mills                    },
156*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the list of protocols supported by the hardware or firmware on the device.",
157*c6d7a45dSGunnar Mills                    "readonly": true,
158*c6d7a45dSGunnar Mills                    "type": "array",
159*c6d7a45dSGunnar Mills                    "versionAdded": "v1_10_0"
160*c6d7a45dSGunnar Mills                },
161*c6d7a45dSGunnar Mills                "EthernetInterfaces": {
162*c6d7a45dSGunnar Mills                    "anyOf": [
163*c6d7a45dSGunnar Mills                        {
164*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterfaceCollection.json#/definitions/EthernetInterfaceCollection"
165*c6d7a45dSGunnar Mills                        },
166*c6d7a45dSGunnar Mills                        {
167*c6d7a45dSGunnar Mills                            "type": "null"
168*c6d7a45dSGunnar Mills                        }
169*c6d7a45dSGunnar Mills                    ],
170*c6d7a45dSGunnar Mills                    "description": "The Ethernet interface collection that contains the interfaces on this network device function.",
171*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a collection of type `EthernetInterfaceCollection` that represent the Ethernet interfaces present on this network device function.  This property shall only be present if this NetworkDeviceFunction is not associated with a ComputerSystem, such as when in a ResourcePool or representing an Ethernet based storage device.",
172*c6d7a45dSGunnar Mills                    "readonly": true,
173*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
174*c6d7a45dSGunnar Mills                },
175*c6d7a45dSGunnar Mills                "MACAddress": {
176*c6d7a45dSGunnar Mills                    "description": "The currently configured MAC address.",
177*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the effective current MAC address of this network device function.  If an assignable MAC address is not supported, this is a read-only alias of the `PermanentMACAddress`.",
178*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
179*c6d7a45dSGunnar Mills                    "readonly": false,
180*c6d7a45dSGunnar Mills                    "type": [
181*c6d7a45dSGunnar Mills                        "string",
182*c6d7a45dSGunnar Mills                        "null"
183*c6d7a45dSGunnar Mills                    ]
184*c6d7a45dSGunnar Mills                },
185*c6d7a45dSGunnar Mills                "MTUSize": {
186*c6d7a45dSGunnar Mills                    "description": "The hardware maximum transmission unit (MTU) configured for this network device function.",
187*c6d7a45dSGunnar Mills                    "longDescription": "The hardware maximum transmission unit (MTU) configured for this network device function.  This value serves as a default for the OS driver when booting, but may be overridden by the OS.  After the OS boots and while the driver is loaded, the effective MTU size may be found in the associated `EthernetInterface` resource.",
188*c6d7a45dSGunnar Mills                    "readonly": false,
189*c6d7a45dSGunnar Mills                    "type": [
190*c6d7a45dSGunnar Mills                        "integer",
191*c6d7a45dSGunnar Mills                        "null"
192*c6d7a45dSGunnar Mills                    ]
193*c6d7a45dSGunnar Mills                },
194*c6d7a45dSGunnar Mills                "MTUSizeMaximum": {
195*c6d7a45dSGunnar Mills                    "description": "The largest maximum transmission unit (MTU) size supported for this network device function.",
196*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the largest maximum transmission unit (MTU) size supported for this network device function.",
197*c6d7a45dSGunnar Mills                    "readonly": true,
198*c6d7a45dSGunnar Mills                    "type": [
199*c6d7a45dSGunnar Mills                        "integer",
200*c6d7a45dSGunnar Mills                        "null"
201*c6d7a45dSGunnar Mills                    ],
202*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
203*c6d7a45dSGunnar Mills                },
204*c6d7a45dSGunnar Mills                "PermanentMACAddress": {
205*c6d7a45dSGunnar Mills                    "description": "The permanent MAC address assigned to this function.",
206*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the permanent MAC Address of this function.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
207*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
208*c6d7a45dSGunnar Mills                    "readonly": true,
209*c6d7a45dSGunnar Mills                    "type": [
210*c6d7a45dSGunnar Mills                        "string",
211*c6d7a45dSGunnar Mills                        "null"
212*c6d7a45dSGunnar Mills                    ]
213*c6d7a45dSGunnar Mills                },
214*c6d7a45dSGunnar Mills                "VLAN": {
215*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.json#/definitions/VLAN",
216*c6d7a45dSGunnar Mills                    "description": "The VLAN information for this interface.  If this network interface supports more than one VLAN, this property is not present.",
217*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the VLAN for this interface.  If this interface supports more than one VLAN, the `VLAN` property shall not be present and the `VLANs` property shall be present instead.",
218*c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
219*c6d7a45dSGunnar Mills                },
220*c6d7a45dSGunnar Mills                "VLANs": {
221*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterfaceCollection.json#/definitions/VLanNetworkInterfaceCollection",
222*c6d7a45dSGunnar Mills                    "deprecated": "This property has been deprecated in favor of representing multiple VLANs as `EthernetInterface` resources.",
223*c6d7a45dSGunnar Mills                    "description": "The link to a collection of VLANs.  This property is used only if the interface supports more than one VLAN.",
224*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `VLanNetworkInterfaceCollection`.  If this property is used, the VLANEnabled and VLAN Id property shall not be used.",
225*c6d7a45dSGunnar Mills                    "readonly": true,
226*c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0",
227*c6d7a45dSGunnar Mills                    "versionDeprecated": "v1_7_0"
228*c6d7a45dSGunnar Mills                }
229*c6d7a45dSGunnar Mills            },
230*c6d7a45dSGunnar Mills            "type": "object"
231*c6d7a45dSGunnar Mills        },
232*c6d7a45dSGunnar Mills        "FibreChannel": {
233*c6d7a45dSGunnar Mills            "additionalProperties": false,
234*c6d7a45dSGunnar Mills            "description": "This type describes Fibre Channel capabilities, status, and configuration for a network device function.",
235*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe the Fibre Channel capabilities, status, and configuration values for a network device function.",
236*c6d7a45dSGunnar Mills            "patternProperties": {
237*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
238*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
239*c6d7a45dSGunnar Mills                    "type": [
240*c6d7a45dSGunnar Mills                        "array",
241*c6d7a45dSGunnar Mills                        "boolean",
242*c6d7a45dSGunnar Mills                        "integer",
243*c6d7a45dSGunnar Mills                        "number",
244*c6d7a45dSGunnar Mills                        "null",
245*c6d7a45dSGunnar Mills                        "object",
246*c6d7a45dSGunnar Mills                        "string"
247*c6d7a45dSGunnar Mills                    ]
248*c6d7a45dSGunnar Mills                }
249*c6d7a45dSGunnar Mills            },
250*c6d7a45dSGunnar Mills            "properties": {
251*c6d7a45dSGunnar Mills                "AllowFIPVLANDiscovery": {
252*c6d7a45dSGunnar Mills                    "description": "An indication of whether the FCoE Initialization Protocol (FIP) populates the FCoE VLAN ID.",
253*c6d7a45dSGunnar Mills                    "longDescription": "For FCoE connections, this boolean property shall indicate whether the FIP VLAN Discovery Protocol determines the FCoE VLAN ID selected by the network device function for the FCoE connection.  If `true` and the FIP VLAN discovery succeeds, the `FCoEActiveVLANId` property shall reflect the FCoE VLAN ID to use for all FCoE traffic.  If `false` or if the FIP VLAN Discovery protocol fails, the `FCoELocalVLANId` shall be used for all FCoE traffic and the `FCoEActiveVLANId` shall reflect the `FCoELocalVLANId`.",
254*c6d7a45dSGunnar Mills                    "readonly": false,
255*c6d7a45dSGunnar Mills                    "type": [
256*c6d7a45dSGunnar Mills                        "boolean",
257*c6d7a45dSGunnar Mills                        "null"
258*c6d7a45dSGunnar Mills                    ]
259*c6d7a45dSGunnar Mills                },
260*c6d7a45dSGunnar Mills                "BootTargets": {
261*c6d7a45dSGunnar Mills                    "description": "An array of Fibre Channel boot targets configured for this network device function.",
262*c6d7a45dSGunnar Mills                    "items": {
263*c6d7a45dSGunnar Mills                        "anyOf": [
264*c6d7a45dSGunnar Mills                            {
265*c6d7a45dSGunnar Mills                                "$ref": "#/definitions/BootTargets"
266*c6d7a45dSGunnar Mills                            },
267*c6d7a45dSGunnar Mills                            {
268*c6d7a45dSGunnar Mills                                "type": "null"
269*c6d7a45dSGunnar Mills                            }
270*c6d7a45dSGunnar Mills                        ]
271*c6d7a45dSGunnar Mills                    },
272*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of Fibre Channel boot targets configured for this network device function.",
273*c6d7a45dSGunnar Mills                    "type": "array"
274*c6d7a45dSGunnar Mills                },
275*c6d7a45dSGunnar Mills                "FCoEActiveVLANId": {
276*c6d7a45dSGunnar Mills                    "description": "The active FCoE VLAN ID.",
277*c6d7a45dSGunnar Mills                    "longDescription": "For FCoE connections, this property shall contain `null` or a VLAN ID currently being used for FCoE traffic.  When the FCoE link is down this value shall be `null`.  When the FCoE link is up this value shall be either the `FCoELocalVLANId` property or a VLAN discovered through the FIP protocol.",
278*c6d7a45dSGunnar Mills                    "maximum": 4094,
279*c6d7a45dSGunnar Mills                    "minimum": 0,
280*c6d7a45dSGunnar Mills                    "readonly": true,
281*c6d7a45dSGunnar Mills                    "type": [
282*c6d7a45dSGunnar Mills                        "integer",
283*c6d7a45dSGunnar Mills                        "null"
284*c6d7a45dSGunnar Mills                    ]
285*c6d7a45dSGunnar Mills                },
286*c6d7a45dSGunnar Mills                "FCoELocalVLANId": {
287*c6d7a45dSGunnar Mills                    "description": "The locally configured FCoE VLAN ID.",
288*c6d7a45dSGunnar Mills                    "longDescription": "For FCoE connections, this property shall contain the VLAN ID configured locally by setting this property.  This value shall be used for FCoE traffic to this network device function during boot unless AllowFIPVLANDiscovery is `true` and a valid FCoE VLAN ID is found through the FIP VLAN Discovery Protocol.",
289*c6d7a45dSGunnar Mills                    "maximum": 4094,
290*c6d7a45dSGunnar Mills                    "minimum": 0,
291*c6d7a45dSGunnar Mills                    "readonly": false,
292*c6d7a45dSGunnar Mills                    "type": [
293*c6d7a45dSGunnar Mills                        "integer",
294*c6d7a45dSGunnar Mills                        "null"
295*c6d7a45dSGunnar Mills                    ]
296*c6d7a45dSGunnar Mills                },
297*c6d7a45dSGunnar Mills                "FibreChannelId": {
298*c6d7a45dSGunnar Mills                    "description": "The Fibre Channel ID that the switch assigns for this interface.",
299*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate the Fibre Channel ID that the switch assigns for this interface.",
300*c6d7a45dSGunnar Mills                    "readonly": true,
301*c6d7a45dSGunnar Mills                    "type": [
302*c6d7a45dSGunnar Mills                        "string",
303*c6d7a45dSGunnar Mills                        "null"
304*c6d7a45dSGunnar Mills                    ],
305*c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
306*c6d7a45dSGunnar Mills                },
307*c6d7a45dSGunnar Mills                "PermanentWWNN": {
308*c6d7a45dSGunnar Mills                    "description": "The permanent World Wide Node Name (WWNN) address assigned to this function.",
309*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the permanent World Wide Node Name (WWNN) of this function.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
310*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$",
311*c6d7a45dSGunnar Mills                    "readonly": true,
312*c6d7a45dSGunnar Mills                    "type": [
313*c6d7a45dSGunnar Mills                        "string",
314*c6d7a45dSGunnar Mills                        "null"
315*c6d7a45dSGunnar Mills                    ]
316*c6d7a45dSGunnar Mills                },
317*c6d7a45dSGunnar Mills                "PermanentWWPN": {
318*c6d7a45dSGunnar Mills                    "description": "The permanent World Wide Port Name (WWPN) address assigned to this function.",
319*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the permanent World Wide Port Name (WWPN) of this function.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
320*c6d7a45dSGunnar Mills                    "readonly": true,
321*c6d7a45dSGunnar Mills                    "type": [
322*c6d7a45dSGunnar Mills                        "string",
323*c6d7a45dSGunnar Mills                        "null"
324*c6d7a45dSGunnar Mills                    ]
325*c6d7a45dSGunnar Mills                },
326*c6d7a45dSGunnar Mills                "WWNN": {
327*c6d7a45dSGunnar Mills                    "description": "The currently configured World Wide Node Name (WWNN) address of this function.",
328*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the effective current World Wide Node Name (WWNN) of this function.  If an assignable WWNN is not supported, this is a read-only alias of the permanent WWNN.",
329*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$",
330*c6d7a45dSGunnar Mills                    "readonly": false,
331*c6d7a45dSGunnar Mills                    "type": [
332*c6d7a45dSGunnar Mills                        "string",
333*c6d7a45dSGunnar Mills                        "null"
334*c6d7a45dSGunnar Mills                    ]
335*c6d7a45dSGunnar Mills                },
336*c6d7a45dSGunnar Mills                "WWNSource": {
337*c6d7a45dSGunnar Mills                    "anyOf": [
338*c6d7a45dSGunnar Mills                        {
339*c6d7a45dSGunnar Mills                            "$ref": "#/definitions/WWNSource"
340*c6d7a45dSGunnar Mills                        },
341*c6d7a45dSGunnar Mills                        {
342*c6d7a45dSGunnar Mills                            "type": "null"
343*c6d7a45dSGunnar Mills                        }
344*c6d7a45dSGunnar Mills                    ],
345*c6d7a45dSGunnar Mills                    "description": "The configuration source of the World Wide Names (WWN) for this World Wide Node Name (WWNN) and World Wide Port Name (WWPN) connection.",
346*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the configuration source of the World Wide Name (WWN) for this World Wide Node Name (WWNN) and World Wide Port Name (WWPN) connection.",
347*c6d7a45dSGunnar Mills                    "readonly": false
348*c6d7a45dSGunnar Mills                },
349*c6d7a45dSGunnar Mills                "WWPN": {
350*c6d7a45dSGunnar Mills                    "description": "The currently configured World Wide Port Name (WWPN) address of this function.",
351*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the effective current World Wide Port Name (WWPN) of this function.  If an assignable WWPN is not supported, this is a read-only alias of the permanent WWPN.",
352*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$",
353*c6d7a45dSGunnar Mills                    "readonly": false,
354*c6d7a45dSGunnar Mills                    "type": [
355*c6d7a45dSGunnar Mills                        "string",
356*c6d7a45dSGunnar Mills                        "null"
357*c6d7a45dSGunnar Mills                    ]
358*c6d7a45dSGunnar Mills                }
359*c6d7a45dSGunnar Mills            },
360*c6d7a45dSGunnar Mills            "type": "object"
361*c6d7a45dSGunnar Mills        },
362*c6d7a45dSGunnar Mills        "HTTPBoot": {
363*c6d7a45dSGunnar Mills            "additionalProperties": false,
364*c6d7a45dSGunnar Mills            "description": "The HTTP and HTTPS boot capabilities, status, and configuration for a network device function.",
365*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe the HTTP and HTTPS boot capabilities, status, and configuration values for a network device function.",
366*c6d7a45dSGunnar Mills            "patternProperties": {
367*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
368*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
369*c6d7a45dSGunnar Mills                    "type": [
370*c6d7a45dSGunnar Mills                        "array",
371*c6d7a45dSGunnar Mills                        "boolean",
372*c6d7a45dSGunnar Mills                        "integer",
373*c6d7a45dSGunnar Mills                        "number",
374*c6d7a45dSGunnar Mills                        "null",
375*c6d7a45dSGunnar Mills                        "object",
376*c6d7a45dSGunnar Mills                        "string"
377*c6d7a45dSGunnar Mills                    ]
378*c6d7a45dSGunnar Mills                }
379*c6d7a45dSGunnar Mills            },
380*c6d7a45dSGunnar Mills            "properties": {
381*c6d7a45dSGunnar Mills                "BootMediaURI": {
382*c6d7a45dSGunnar Mills                    "description": "The URI of the boot media loaded with this network device function.",
383*c6d7a45dSGunnar Mills                    "format": "uri-reference",
384*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the URI of the boot media loaded with this network device function.  An empty string shall indicate no boot media is configured.  All other values shall begin with `http://` or `https://`.",
385*c6d7a45dSGunnar Mills                    "readonly": false,
386*c6d7a45dSGunnar Mills                    "type": [
387*c6d7a45dSGunnar Mills                        "string",
388*c6d7a45dSGunnar Mills                        "null"
389*c6d7a45dSGunnar Mills                    ],
390*c6d7a45dSGunnar Mills                    "versionAdded": "v1_9_0"
391*c6d7a45dSGunnar Mills                }
392*c6d7a45dSGunnar Mills            },
393*c6d7a45dSGunnar Mills            "type": "object"
394*c6d7a45dSGunnar Mills        },
395*c6d7a45dSGunnar Mills        "IPAddressType": {
396*c6d7a45dSGunnar Mills            "enum": [
397*c6d7a45dSGunnar Mills                "IPv4",
398*c6d7a45dSGunnar Mills                "IPv6"
399*c6d7a45dSGunnar Mills            ],
400*c6d7a45dSGunnar Mills            "enumDescriptions": {
401*c6d7a45dSGunnar Mills                "IPv4": "IPv4 addressing is used for all IP-fields in this object.",
402*c6d7a45dSGunnar Mills                "IPv6": "IPv6 addressing is used for all IP-fields in this object."
403*c6d7a45dSGunnar Mills            },
404*c6d7a45dSGunnar Mills            "type": "string"
405*c6d7a45dSGunnar Mills        },
406*c6d7a45dSGunnar Mills        "InfiniBand": {
407*c6d7a45dSGunnar Mills            "additionalProperties": false,
408*c6d7a45dSGunnar Mills            "description": "This type describes InfiniBand capabilities, status, and configuration of a network device function.",
409*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe the InfiniBand capabilities, status, and configuration values for a network device function.",
410*c6d7a45dSGunnar Mills            "patternProperties": {
411*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
412*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
413*c6d7a45dSGunnar Mills                    "type": [
414*c6d7a45dSGunnar Mills                        "array",
415*c6d7a45dSGunnar Mills                        "boolean",
416*c6d7a45dSGunnar Mills                        "integer",
417*c6d7a45dSGunnar Mills                        "number",
418*c6d7a45dSGunnar Mills                        "null",
419*c6d7a45dSGunnar Mills                        "object",
420*c6d7a45dSGunnar Mills                        "string"
421*c6d7a45dSGunnar Mills                    ]
422*c6d7a45dSGunnar Mills                }
423*c6d7a45dSGunnar Mills            },
424*c6d7a45dSGunnar Mills            "properties": {
425*c6d7a45dSGunnar Mills                "MTUSize": {
426*c6d7a45dSGunnar Mills                    "description": "The maximum transmission unit (MTU) configured for this network device function.",
427*c6d7a45dSGunnar Mills                    "longDescription": "The maximum transmission unit (MTU) configured for this network device function.",
428*c6d7a45dSGunnar Mills                    "readonly": false,
429*c6d7a45dSGunnar Mills                    "type": [
430*c6d7a45dSGunnar Mills                        "integer",
431*c6d7a45dSGunnar Mills                        "null"
432*c6d7a45dSGunnar Mills                    ],
433*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
434*c6d7a45dSGunnar Mills                },
435*c6d7a45dSGunnar Mills                "NodeGUID": {
436*c6d7a45dSGunnar Mills                    "description": "This is the currently configured node GUID of the network device function.",
437*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the effective current node GUID of this virtual port of this network device function.  If an assignable node GUID is not supported, this is a read-only alias of the PermanentNodeGUID.",
438*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
439*c6d7a45dSGunnar Mills                    "readonly": true,
440*c6d7a45dSGunnar Mills                    "type": [
441*c6d7a45dSGunnar Mills                        "string",
442*c6d7a45dSGunnar Mills                        "null"
443*c6d7a45dSGunnar Mills                    ],
444*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
445*c6d7a45dSGunnar Mills                },
446*c6d7a45dSGunnar Mills                "PermanentNodeGUID": {
447*c6d7a45dSGunnar Mills                    "description": "The permanent node GUID assigned to this network device function.",
448*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the permanent node GUID of this network device function.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
449*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
450*c6d7a45dSGunnar Mills                    "readonly": true,
451*c6d7a45dSGunnar Mills                    "type": [
452*c6d7a45dSGunnar Mills                        "string",
453*c6d7a45dSGunnar Mills                        "null"
454*c6d7a45dSGunnar Mills                    ],
455*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
456*c6d7a45dSGunnar Mills                },
457*c6d7a45dSGunnar Mills                "PermanentPortGUID": {
458*c6d7a45dSGunnar Mills                    "description": "The permanent port GUID assigned to this network device function.",
459*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the permanent port GUID of this network device function.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
460*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
461*c6d7a45dSGunnar Mills                    "readonly": true,
462*c6d7a45dSGunnar Mills                    "type": [
463*c6d7a45dSGunnar Mills                        "string",
464*c6d7a45dSGunnar Mills                        "null"
465*c6d7a45dSGunnar Mills                    ],
466*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
467*c6d7a45dSGunnar Mills                },
468*c6d7a45dSGunnar Mills                "PermanentSystemGUID": {
469*c6d7a45dSGunnar Mills                    "description": "The permanent system GUID assigned to this network device function.",
470*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the permanent system GUID of this network device function.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
471*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
472*c6d7a45dSGunnar Mills                    "readonly": true,
473*c6d7a45dSGunnar Mills                    "type": [
474*c6d7a45dSGunnar Mills                        "string",
475*c6d7a45dSGunnar Mills                        "null"
476*c6d7a45dSGunnar Mills                    ],
477*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
478*c6d7a45dSGunnar Mills                },
479*c6d7a45dSGunnar Mills                "PortGUID": {
480*c6d7a45dSGunnar Mills                    "description": "The currently configured port GUID of the network device function.",
481*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the effective current virtual port GUID of this network device function.  If an assignable port GUID is not supported, this is a read-only alias of the PermanentPortGUID.",
482*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
483*c6d7a45dSGunnar Mills                    "readonly": true,
484*c6d7a45dSGunnar Mills                    "type": [
485*c6d7a45dSGunnar Mills                        "string",
486*c6d7a45dSGunnar Mills                        "null"
487*c6d7a45dSGunnar Mills                    ],
488*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
489*c6d7a45dSGunnar Mills                },
490*c6d7a45dSGunnar Mills                "SupportedMTUSizes": {
491*c6d7a45dSGunnar Mills                    "description": "The maximum transmission unit (MTU) sizes supported for this network device function.",
492*c6d7a45dSGunnar Mills                    "items": {
493*c6d7a45dSGunnar Mills                        "type": [
494*c6d7a45dSGunnar Mills                            "integer",
495*c6d7a45dSGunnar Mills                            "null"
496*c6d7a45dSGunnar Mills                        ]
497*c6d7a45dSGunnar Mills                    },
498*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of the maximum transmission unit (MTU) sizes supported for this network device function.",
499*c6d7a45dSGunnar Mills                    "readonly": true,
500*c6d7a45dSGunnar Mills                    "type": "array",
501*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
502*c6d7a45dSGunnar Mills                },
503*c6d7a45dSGunnar Mills                "SystemGUID": {
504*c6d7a45dSGunnar Mills                    "description": "This is the currently configured system GUID of the network device function.",
505*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the effective current system GUID of this virtual port of this network device function.  If an assignable system GUID is not supported, this is a read-only alias of the PermanentSystemGUID.",
506*c6d7a45dSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{4}[:-]){3}([0-9A-Fa-f]{4})$",
507*c6d7a45dSGunnar Mills                    "readonly": true,
508*c6d7a45dSGunnar Mills                    "type": [
509*c6d7a45dSGunnar Mills                        "string",
510*c6d7a45dSGunnar Mills                        "null"
511*c6d7a45dSGunnar Mills                    ],
512*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
513*c6d7a45dSGunnar Mills                }
514*c6d7a45dSGunnar Mills            },
515*c6d7a45dSGunnar Mills            "type": "object"
516*c6d7a45dSGunnar Mills        },
517*c6d7a45dSGunnar Mills        "Limit": {
518*c6d7a45dSGunnar Mills            "additionalProperties": false,
519*c6d7a45dSGunnar Mills            "description": "This type describes the packet and byte limit of a network device function.",
520*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe a single array element of the packet and byte limits of a network device function.",
521*c6d7a45dSGunnar Mills            "patternProperties": {
522*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
523*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
524*c6d7a45dSGunnar Mills                    "type": [
525*c6d7a45dSGunnar Mills                        "array",
526*c6d7a45dSGunnar Mills                        "boolean",
527*c6d7a45dSGunnar Mills                        "integer",
528*c6d7a45dSGunnar Mills                        "number",
529*c6d7a45dSGunnar Mills                        "null",
530*c6d7a45dSGunnar Mills                        "object",
531*c6d7a45dSGunnar Mills                        "string"
532*c6d7a45dSGunnar Mills                    ]
533*c6d7a45dSGunnar Mills                }
534*c6d7a45dSGunnar Mills            },
535*c6d7a45dSGunnar Mills            "properties": {
536*c6d7a45dSGunnar Mills                "BurstBytesPerSecond": {
537*c6d7a45dSGunnar Mills                    "description": "The maximum number of bytes per second in a burst for this network device function.",
538*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the maximum number of bytes per second in a burst allowed for this network device function.",
539*c6d7a45dSGunnar Mills                    "readonly": false,
540*c6d7a45dSGunnar Mills                    "type": [
541*c6d7a45dSGunnar Mills                        "integer",
542*c6d7a45dSGunnar Mills                        "null"
543*c6d7a45dSGunnar Mills                    ],
544*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
545*c6d7a45dSGunnar Mills                },
546*c6d7a45dSGunnar Mills                "BurstPacketsPerSecond": {
547*c6d7a45dSGunnar Mills                    "description": "The maximum number of packets per second in a burst for this network device function.",
548*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the maximum number of packets per second in a burst allowed for this network device function.",
549*c6d7a45dSGunnar Mills                    "readonly": false,
550*c6d7a45dSGunnar Mills                    "type": [
551*c6d7a45dSGunnar Mills                        "integer",
552*c6d7a45dSGunnar Mills                        "null"
553*c6d7a45dSGunnar Mills                    ],
554*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
555*c6d7a45dSGunnar Mills                },
556*c6d7a45dSGunnar Mills                "Direction": {
557*c6d7a45dSGunnar Mills                    "anyOf": [
558*c6d7a45dSGunnar Mills                        {
559*c6d7a45dSGunnar Mills                            "$ref": "#/definitions/DataDirection"
560*c6d7a45dSGunnar Mills                        },
561*c6d7a45dSGunnar Mills                        {
562*c6d7a45dSGunnar Mills                            "type": "null"
563*c6d7a45dSGunnar Mills                        }
564*c6d7a45dSGunnar Mills                    ],
565*c6d7a45dSGunnar Mills                    "description": "Indicates the direction of the data to which this limit applies.",
566*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate the direction of the data to which this limit applies for this network device function.",
567*c6d7a45dSGunnar Mills                    "readonly": false,
568*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
569*c6d7a45dSGunnar Mills                },
570*c6d7a45dSGunnar Mills                "SustainedBytesPerSecond": {
571*c6d7a45dSGunnar Mills                    "description": "The maximum number of sustained bytes per second for this network device function.",
572*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the maximum number of sustained bytes per second allowed for this network device function.",
573*c6d7a45dSGunnar Mills                    "readonly": false,
574*c6d7a45dSGunnar Mills                    "type": [
575*c6d7a45dSGunnar Mills                        "integer",
576*c6d7a45dSGunnar Mills                        "null"
577*c6d7a45dSGunnar Mills                    ],
578*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
579*c6d7a45dSGunnar Mills                },
580*c6d7a45dSGunnar Mills                "SustainedPacketsPerSecond": {
581*c6d7a45dSGunnar Mills                    "description": "The maximum number of sustained packets per second for this network device function.",
582*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the maximum number of sustained packets per second allowed for this network device function.",
583*c6d7a45dSGunnar Mills                    "readonly": false,
584*c6d7a45dSGunnar Mills                    "type": [
585*c6d7a45dSGunnar Mills                        "integer",
586*c6d7a45dSGunnar Mills                        "null"
587*c6d7a45dSGunnar Mills                    ],
588*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
589*c6d7a45dSGunnar Mills                }
590*c6d7a45dSGunnar Mills            },
591*c6d7a45dSGunnar Mills            "type": "object"
592*c6d7a45dSGunnar Mills        },
593*c6d7a45dSGunnar Mills        "Links": {
594*c6d7a45dSGunnar Mills            "additionalProperties": false,
595*c6d7a45dSGunnar Mills            "description": "The links to other resources that are related to this resource.",
596*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.",
597*c6d7a45dSGunnar Mills            "patternProperties": {
598*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
599*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
600*c6d7a45dSGunnar Mills                    "type": [
601*c6d7a45dSGunnar Mills                        "array",
602*c6d7a45dSGunnar Mills                        "boolean",
603*c6d7a45dSGunnar Mills                        "integer",
604*c6d7a45dSGunnar Mills                        "number",
605*c6d7a45dSGunnar Mills                        "null",
606*c6d7a45dSGunnar Mills                        "object",
607*c6d7a45dSGunnar Mills                        "string"
608*c6d7a45dSGunnar Mills                    ]
609*c6d7a45dSGunnar Mills                }
610*c6d7a45dSGunnar Mills            },
611*c6d7a45dSGunnar Mills            "properties": {
612*c6d7a45dSGunnar Mills                "Endpoints": {
613*c6d7a45dSGunnar Mills                    "description": "An array of links to endpoints associated with this network device function.",
614*c6d7a45dSGunnar Mills                    "items": {
615*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
616*c6d7a45dSGunnar Mills                    },
617*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that are associated with this network device function.",
618*c6d7a45dSGunnar Mills                    "readonly": true,
619*c6d7a45dSGunnar Mills                    "type": "array",
620*c6d7a45dSGunnar Mills                    "versionAdded": "v1_2_0"
621*c6d7a45dSGunnar Mills                },
622*c6d7a45dSGunnar Mills                "Endpoints@odata.count": {
623*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
624*c6d7a45dSGunnar Mills                },
625*c6d7a45dSGunnar Mills                "EthernetInterface": {
626*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface",
627*c6d7a45dSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `EthernetInterfaces` as each `NetworkDeviceFunction` could have more than one `EthernetInterface`.",
628*c6d7a45dSGunnar Mills                    "description": "The link to a virtual Ethernet interface that was created when one of the network device function VLANs is represented as a virtual NIC for the purpose of showing the IP address associated with that VLAN.",
629*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `EthernetInterface` that represents a virtual interface that was created when one of the network device function VLANs is represented as a virtual NIC for the purpose of showing the IP address associated with that VLAN.  The `EthernetInterfaceType` property of that resource shall contain the value `Virtual`.",
630*c6d7a45dSGunnar Mills                    "versionAdded": "v1_4_0",
631*c6d7a45dSGunnar Mills                    "versionDeprecated": "v1_7_0"
632*c6d7a45dSGunnar Mills                },
633*c6d7a45dSGunnar Mills                "EthernetInterfaces": {
634*c6d7a45dSGunnar Mills                    "description": "The system Ethernet interfaces that use this network device function.  This includes physical Ethernet interfaces or VLANs.  Each member of this property is subordinate a `ComputerSystem` resource.",
635*c6d7a45dSGunnar Mills                    "items": {
636*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
637*c6d7a45dSGunnar Mills                    },
638*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `EthernetInterface` that represent physical or VLAN Ethernet interfaces for systems that use this network device funciton.  The members shall be subordinate to a `ComputerSystem` resource.",
639*c6d7a45dSGunnar Mills                    "type": "array",
640*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
641*c6d7a45dSGunnar Mills                },
642*c6d7a45dSGunnar Mills                "EthernetInterfaces@odata.count": {
643*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
644*c6d7a45dSGunnar Mills                },
645*c6d7a45dSGunnar Mills                "Oem": {
646*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
647*c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
648*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."
649*c6d7a45dSGunnar Mills                },
650*c6d7a45dSGunnar Mills                "OffloadProcessors": {
651*c6d7a45dSGunnar Mills                    "description": "The processors that perform offload computation for this network function, such as with a SmartNIC.",
652*c6d7a45dSGunnar Mills                    "items": {
653*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.json#/definitions/Processor"
654*c6d7a45dSGunnar Mills                    },
655*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Processor` that represent the processors that performs offload computation for this network function, such as with a SmartNIC.  This property shall not be present if `OffloadSystem` is present.",
656*c6d7a45dSGunnar Mills                    "readonly": true,
657*c6d7a45dSGunnar Mills                    "type": "array",
658*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
659*c6d7a45dSGunnar Mills                },
660*c6d7a45dSGunnar Mills                "OffloadProcessors@odata.count": {
661*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
662*c6d7a45dSGunnar Mills                },
663*c6d7a45dSGunnar Mills                "OffloadSystem": {
664*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/ComputerSystem",
665*c6d7a45dSGunnar Mills                    "description": "The system that performs offload computation for this network function, such as with a SmartNIC.",
666*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `ComputerSystem` that represents the system that performs offload computation for this network function, such as with a SmartNIC.  The `SystemType` property contained in the referenced `ComputerSystem` resource should contain the value `DPU`.  This property shall not be present if OffloadProcessors is present.",
667*c6d7a45dSGunnar Mills                    "readonly": true,
668*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
669*c6d7a45dSGunnar Mills                },
670*c6d7a45dSGunnar Mills                "PCIeFunction": {
671*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction",
672*c6d7a45dSGunnar Mills                    "description": "The link to the PCIe function associated with this network device function.",
673*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `PCIeFunction` that represents the PCIe function associated with this network device function.",
674*c6d7a45dSGunnar Mills                    "readonly": true
675*c6d7a45dSGunnar Mills                },
676*c6d7a45dSGunnar Mills                "PhysicalNetworkPortAssignment": {
677*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port",
678*c6d7a45dSGunnar Mills                    "description": "The physical port to which this network device function is currently assigned.",
679*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Port` to which this network device function is currently assigned.  This value shall be one of the `AssignablePhysicalPorts` array members.",
680*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
681*c6d7a45dSGunnar Mills                },
682*c6d7a45dSGunnar Mills                "PhysicalPortAssignment": {
683*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.json#/definitions/NetworkPort",
684*c6d7a45dSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the `PhysicalNetworkPortAssignment` property.",
685*c6d7a45dSGunnar Mills                    "description": "The physical port to which this network device function is currently assigned.",
686*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `NetworkPort` to which this network device function is currently assigned.  This value shall be one of the AssignablePhysicalPorts array members.",
687*c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0",
688*c6d7a45dSGunnar Mills                    "versionDeprecated": "v1_5_0"
689*c6d7a45dSGunnar Mills                }
690*c6d7a45dSGunnar Mills            },
691*c6d7a45dSGunnar Mills            "type": "object"
692*c6d7a45dSGunnar Mills        },
693*c6d7a45dSGunnar Mills        "NetworkDeviceFunction": {
694*c6d7a45dSGunnar Mills            "additionalProperties": false,
695*c6d7a45dSGunnar Mills            "description": "The `NetworkDeviceFunction` schema represents a logical interface that a network adapter exposes.",
696*c6d7a45dSGunnar Mills            "longDescription": "This resource shall represent a logical interface that a network adapter exposes in a Redfish implementation.",
697*c6d7a45dSGunnar Mills            "patternProperties": {
698*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
699*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
700*c6d7a45dSGunnar Mills                    "type": [
701*c6d7a45dSGunnar Mills                        "array",
702*c6d7a45dSGunnar Mills                        "boolean",
703*c6d7a45dSGunnar Mills                        "integer",
704*c6d7a45dSGunnar Mills                        "number",
705*c6d7a45dSGunnar Mills                        "null",
706*c6d7a45dSGunnar Mills                        "object",
707*c6d7a45dSGunnar Mills                        "string"
708*c6d7a45dSGunnar Mills                    ]
709*c6d7a45dSGunnar Mills                }
710*c6d7a45dSGunnar Mills            },
711*c6d7a45dSGunnar Mills            "properties": {
712*c6d7a45dSGunnar Mills                "@odata.context": {
713*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
714*c6d7a45dSGunnar Mills                },
715*c6d7a45dSGunnar Mills                "@odata.etag": {
716*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
717*c6d7a45dSGunnar Mills                },
718*c6d7a45dSGunnar Mills                "@odata.id": {
719*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
720*c6d7a45dSGunnar Mills                },
721*c6d7a45dSGunnar Mills                "@odata.type": {
722*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
723*c6d7a45dSGunnar Mills                },
724*c6d7a45dSGunnar Mills                "Actions": {
725*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Actions",
726*c6d7a45dSGunnar Mills                    "description": "The available actions for this resource.",
727*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource.",
728*c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
729*c6d7a45dSGunnar Mills                },
730*c6d7a45dSGunnar Mills                "AllowDeny": {
731*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/AllowDenyCollection.json#/definitions/AllowDenyCollection",
732*c6d7a45dSGunnar Mills                    "description": "The link to the collection of allow and deny permissions for packets leaving and arriving to this network device function.",
733*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `AllowDenyCollection` that contains the permissions for packets leaving and arriving to this network device function.",
734*c6d7a45dSGunnar Mills                    "readonly": true,
735*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
736*c6d7a45dSGunnar Mills                },
737*c6d7a45dSGunnar Mills                "AssignablePhysicalNetworkPorts": {
738*c6d7a45dSGunnar Mills                    "description": "An array of physical ports to which this network device function can be assigned.",
739*c6d7a45dSGunnar Mills                    "items": {
740*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
741*c6d7a45dSGunnar Mills                    },
742*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Port` that are the physical ports to which this network device function can be assigned.",
743*c6d7a45dSGunnar Mills                    "readonly": true,
744*c6d7a45dSGunnar Mills                    "type": "array",
745*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
746*c6d7a45dSGunnar Mills                },
747*c6d7a45dSGunnar Mills                "AssignablePhysicalNetworkPorts@odata.count": {
748*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
749*c6d7a45dSGunnar Mills                },
750*c6d7a45dSGunnar Mills                "AssignablePhysicalPorts": {
751*c6d7a45dSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the `AssignablePhysicalNetworkPorts` property.",
752*c6d7a45dSGunnar Mills                    "description": "An array of physical ports to which this network device function can be assigned.",
753*c6d7a45dSGunnar Mills                    "items": {
754*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.json#/definitions/NetworkPort"
755*c6d7a45dSGunnar Mills                    },
756*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `NetworkPort` that are the physical ports to which this network device function can be assigned.",
757*c6d7a45dSGunnar Mills                    "readonly": true,
758*c6d7a45dSGunnar Mills                    "type": "array",
759*c6d7a45dSGunnar Mills                    "versionDeprecated": "v1_5_0"
760*c6d7a45dSGunnar Mills                },
761*c6d7a45dSGunnar Mills                "AssignablePhysicalPorts@odata.count": {
762*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
763*c6d7a45dSGunnar Mills                },
764*c6d7a45dSGunnar Mills                "BootMode": {
765*c6d7a45dSGunnar Mills                    "anyOf": [
766*c6d7a45dSGunnar Mills                        {
767*c6d7a45dSGunnar Mills                            "$ref": "#/definitions/BootMode"
768*c6d7a45dSGunnar Mills                        },
769*c6d7a45dSGunnar Mills                        {
770*c6d7a45dSGunnar Mills                            "type": "null"
771*c6d7a45dSGunnar Mills                        }
772*c6d7a45dSGunnar Mills                    ],
773*c6d7a45dSGunnar Mills                    "description": "The boot mode configured for this network device function.",
774*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the boot mode configured for this network device function.  If the value is not `Disabled`, this network device function shall be configured for boot by using the specified technology.",
775*c6d7a45dSGunnar Mills                    "readonly": false
776*c6d7a45dSGunnar Mills                },
777*c6d7a45dSGunnar Mills                "Description": {
778*c6d7a45dSGunnar Mills                    "anyOf": [
779*c6d7a45dSGunnar Mills                        {
780*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
781*c6d7a45dSGunnar Mills                        },
782*c6d7a45dSGunnar Mills                        {
783*c6d7a45dSGunnar Mills                            "type": "null"
784*c6d7a45dSGunnar Mills                        }
785*c6d7a45dSGunnar Mills                    ],
786*c6d7a45dSGunnar Mills                    "readonly": true
787*c6d7a45dSGunnar Mills                },
788*c6d7a45dSGunnar Mills                "DeviceEnabled": {
789*c6d7a45dSGunnar Mills                    "description": "An indication of whether the network device function is enabled.",
790*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether the network device function is enabled.  The operating system shall not enumerate or see disabled network device functions.",
791*c6d7a45dSGunnar Mills                    "readonly": false,
792*c6d7a45dSGunnar Mills                    "type": [
793*c6d7a45dSGunnar Mills                        "boolean",
794*c6d7a45dSGunnar Mills                        "null"
795*c6d7a45dSGunnar Mills                    ]
796*c6d7a45dSGunnar Mills                },
797*c6d7a45dSGunnar Mills                "Ethernet": {
798*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Ethernet",
799*c6d7a45dSGunnar Mills                    "description": "The Ethernet capabilities, status, and configuration values for this network device function.",
800*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain Ethernet capabilities, status, and configuration values for this network device function."
801*c6d7a45dSGunnar Mills                },
802*c6d7a45dSGunnar Mills                "FibreChannel": {
803*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/FibreChannel",
804*c6d7a45dSGunnar Mills                    "description": "The Fibre Channel capabilities, status, and configuration values for this network device function.",
805*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain Fibre Channel capabilities, status, and configuration values for this network device function."
806*c6d7a45dSGunnar Mills                },
807*c6d7a45dSGunnar Mills                "HTTPBoot": {
808*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/HTTPBoot",
809*c6d7a45dSGunnar Mills                    "description": "The HTTP and HTTPS boot capabilities, status, and configuration values for this network device function.",
810*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain HTTP and HTTPS boot capabilities, status, and configuration values for this network device function.",
811*c6d7a45dSGunnar Mills                    "versionAdded": "v1_9_0"
812*c6d7a45dSGunnar Mills                },
813*c6d7a45dSGunnar Mills                "Id": {
814*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
815*c6d7a45dSGunnar Mills                    "readonly": true
816*c6d7a45dSGunnar Mills                },
817*c6d7a45dSGunnar Mills                "InfiniBand": {
818*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/InfiniBand",
819*c6d7a45dSGunnar Mills                    "description": "The InfiniBand capabilities, status, and configuration values for this network device function.",
820*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain InfiniBand capabilities, status, and configuration values for this network device function.",
821*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
822*c6d7a45dSGunnar Mills                },
823*c6d7a45dSGunnar Mills                "Limits": {
824*c6d7a45dSGunnar Mills                    "description": "The byte and packet limits for this network device function.",
825*c6d7a45dSGunnar Mills                    "items": {
826*c6d7a45dSGunnar Mills                        "anyOf": [
827*c6d7a45dSGunnar Mills                            {
828*c6d7a45dSGunnar Mills                                "$ref": "#/definitions/Limit"
829*c6d7a45dSGunnar Mills                            },
830*c6d7a45dSGunnar Mills                            {
831*c6d7a45dSGunnar Mills                                "type": "null"
832*c6d7a45dSGunnar Mills                            }
833*c6d7a45dSGunnar Mills                        ]
834*c6d7a45dSGunnar Mills                    },
835*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of byte and packet limits for this network device function.",
836*c6d7a45dSGunnar Mills                    "type": "array",
837*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
838*c6d7a45dSGunnar Mills                },
839*c6d7a45dSGunnar Mills                "Links": {
840*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Links",
841*c6d7a45dSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
842*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
843*c6d7a45dSGunnar Mills                },
844*c6d7a45dSGunnar Mills                "MaxVirtualFunctions": {
845*c6d7a45dSGunnar Mills                    "description": "The number of virtual functions that are available for this network device function.",
846*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the number of virtual functions that are available for this network device function.",
847*c6d7a45dSGunnar Mills                    "readonly": true,
848*c6d7a45dSGunnar Mills                    "type": [
849*c6d7a45dSGunnar Mills                        "integer",
850*c6d7a45dSGunnar Mills                        "null"
851*c6d7a45dSGunnar Mills                    ]
852*c6d7a45dSGunnar Mills                },
853*c6d7a45dSGunnar Mills                "Metrics": {
854*c6d7a45dSGunnar Mills                    "anyOf": [
855*c6d7a45dSGunnar Mills                        {
856*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunctionMetrics.json#/definitions/NetworkDeviceFunctionMetrics"
857*c6d7a45dSGunnar Mills                        },
858*c6d7a45dSGunnar Mills                        {
859*c6d7a45dSGunnar Mills                            "type": "null"
860*c6d7a45dSGunnar Mills                        }
861*c6d7a45dSGunnar Mills                    ],
862*c6d7a45dSGunnar Mills                    "description": "The link to the metrics associated with this network function.",
863*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `NetworkDeviceFunctionMetrics` that contains the metrics associated with this network function.",
864*c6d7a45dSGunnar Mills                    "readonly": true,
865*c6d7a45dSGunnar Mills                    "versionAdded": "v1_6_0"
866*c6d7a45dSGunnar Mills                },
867*c6d7a45dSGunnar Mills                "Name": {
868*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
869*c6d7a45dSGunnar Mills                    "readonly": true
870*c6d7a45dSGunnar Mills                },
871*c6d7a45dSGunnar Mills                "NetDevFuncCapabilities": {
872*c6d7a45dSGunnar Mills                    "description": "An array of capabilities for this network device function.",
873*c6d7a45dSGunnar Mills                    "items": {
874*c6d7a45dSGunnar Mills                        "anyOf": [
875*c6d7a45dSGunnar Mills                            {
876*c6d7a45dSGunnar Mills                                "$ref": "#/definitions/NetworkDeviceTechnology"
877*c6d7a45dSGunnar Mills                            },
878*c6d7a45dSGunnar Mills                            {
879*c6d7a45dSGunnar Mills                                "type": "null"
880*c6d7a45dSGunnar Mills                            }
881*c6d7a45dSGunnar Mills                        ]
882*c6d7a45dSGunnar Mills                    },
883*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of capabilities for this network device function.",
884*c6d7a45dSGunnar Mills                    "readonly": true,
885*c6d7a45dSGunnar Mills                    "type": "array"
886*c6d7a45dSGunnar Mills                },
887*c6d7a45dSGunnar Mills                "NetDevFuncType": {
888*c6d7a45dSGunnar Mills                    "anyOf": [
889*c6d7a45dSGunnar Mills                        {
890*c6d7a45dSGunnar Mills                            "$ref": "#/definitions/NetworkDeviceTechnology"
891*c6d7a45dSGunnar Mills                        },
892*c6d7a45dSGunnar Mills                        {
893*c6d7a45dSGunnar Mills                            "type": "null"
894*c6d7a45dSGunnar Mills                        }
895*c6d7a45dSGunnar Mills                    ],
896*c6d7a45dSGunnar Mills                    "description": "The configured capability of this network device function.",
897*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the configured capability of this network device function.",
898*c6d7a45dSGunnar Mills                    "readonly": false
899*c6d7a45dSGunnar Mills                },
900*c6d7a45dSGunnar Mills                "Oem": {
901*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
902*c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
903*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."
904*c6d7a45dSGunnar Mills                },
905*c6d7a45dSGunnar Mills                "PhysicalNetworkPortAssignment": {
906*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port",
907*c6d7a45dSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `PhysicalNetworkPortAssignment` within `Links` to avoid loops on expand.",
908*c6d7a45dSGunnar Mills                    "description": "The physical port to which this network device function is currently assigned.",
909*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Port` that is the physical port to which this network device function is currently assigned.  This value shall be one of the `AssignablePhysicalNetworkPorts` array members.",
910*c6d7a45dSGunnar Mills                    "readonly": true,
911*c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0",
912*c6d7a45dSGunnar Mills                    "versionDeprecated": "v1_8_0"
913*c6d7a45dSGunnar Mills                },
914*c6d7a45dSGunnar Mills                "PhysicalPortAssignment": {
915*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.json#/definitions/NetworkPort",
916*c6d7a45dSGunnar Mills                    "deprecated": "This property has been deprecated and moved to the `Links` property to avoid loops on expand.",
917*c6d7a45dSGunnar Mills                    "description": "The physical port to which this network device function is currently assigned.",
918*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `NetworkPort` that is the physical port to which this network device function is currently assigned.  This value shall be one of the `AssignablePhysicalPorts` array members.",
919*c6d7a45dSGunnar Mills                    "readonly": true,
920*c6d7a45dSGunnar Mills                    "versionDeprecated": "v1_3_0"
921*c6d7a45dSGunnar Mills                },
922*c6d7a45dSGunnar Mills                "SAVIEnabled": {
923*c6d7a45dSGunnar Mills                    "description": "Indicates if Source Address Validation Improvement (SAVI) is enabled for this network device function.",
924*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate if the RFC7039-defined Source Address Validation Improvement (SAVI) is enabled for this network device function.",
925*c6d7a45dSGunnar Mills                    "readonly": false,
926*c6d7a45dSGunnar Mills                    "type": [
927*c6d7a45dSGunnar Mills                        "boolean",
928*c6d7a45dSGunnar Mills                        "null"
929*c6d7a45dSGunnar Mills                    ],
930*c6d7a45dSGunnar Mills                    "versionAdded": "v1_7_0"
931*c6d7a45dSGunnar Mills                },
932*c6d7a45dSGunnar Mills                "Status": {
933*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
934*c6d7a45dSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
935*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
936*c6d7a45dSGunnar Mills                },
937*c6d7a45dSGunnar Mills                "VirtualFunctionAllocation": {
938*c6d7a45dSGunnar Mills                    "description": "The number of virtual functions allocated to this device.",
939*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the number virtual functions allocated to this device.  This property should contain a value that is a multiple of the value contained by the `MinAssignmentGroupSize` property of the corresponding `Controllers` array member within the parent `NetworkAdapter` resource.  The value shall not exceed the value contained in the `MaxVirtualFunctions` property.",
940*c6d7a45dSGunnar Mills                    "readonly": false,
941*c6d7a45dSGunnar Mills                    "type": "integer",
942*c6d7a45dSGunnar Mills                    "versionAdded": "v1_11_0"
943*c6d7a45dSGunnar Mills                },
944*c6d7a45dSGunnar Mills                "VirtualFunctionsEnabled": {
945*c6d7a45dSGunnar Mills                    "description": "An indication of whether single root input/output virtualization (SR-IOV) virtual functions are enabled for this network device function.",
946*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether single root input/output virtualization (SR-IOV) virtual functions are enabled for this network device function.",
947*c6d7a45dSGunnar Mills                    "readonly": true,
948*c6d7a45dSGunnar Mills                    "type": [
949*c6d7a45dSGunnar Mills                        "boolean",
950*c6d7a45dSGunnar Mills                        "null"
951*c6d7a45dSGunnar Mills                    ]
952*c6d7a45dSGunnar Mills                },
953*c6d7a45dSGunnar Mills                "iSCSIBoot": {
954*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/iSCSIBoot",
955*c6d7a45dSGunnar Mills                    "description": "The iSCSI boot capabilities, status, and configuration values for this network device function.",
956*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain iSCSI boot capabilities, status, and configuration values for this network device function."
957*c6d7a45dSGunnar Mills                }
958*c6d7a45dSGunnar Mills            },
959*c6d7a45dSGunnar Mills            "required": [
960*c6d7a45dSGunnar Mills                "@odata.id",
961*c6d7a45dSGunnar Mills                "@odata.type",
962*c6d7a45dSGunnar Mills                "Id",
963*c6d7a45dSGunnar Mills                "Name"
964*c6d7a45dSGunnar Mills            ],
965*c6d7a45dSGunnar Mills            "type": "object"
966*c6d7a45dSGunnar Mills        },
967*c6d7a45dSGunnar Mills        "NetworkDeviceTechnology": {
968*c6d7a45dSGunnar Mills            "enum": [
969*c6d7a45dSGunnar Mills                "Disabled",
970*c6d7a45dSGunnar Mills                "Ethernet",
971*c6d7a45dSGunnar Mills                "FibreChannel",
972*c6d7a45dSGunnar Mills                "iSCSI",
973*c6d7a45dSGunnar Mills                "FibreChannelOverEthernet",
974*c6d7a45dSGunnar Mills                "InfiniBand"
975*c6d7a45dSGunnar Mills            ],
976*c6d7a45dSGunnar Mills            "enumDescriptions": {
977*c6d7a45dSGunnar Mills                "Disabled": "Neither enumerated nor visible to the operating system.",
978*c6d7a45dSGunnar Mills                "Ethernet": "Appears to the operating system as an Ethernet device.",
979*c6d7a45dSGunnar Mills                "FibreChannel": "Appears to the operating system as a Fibre Channel device.",
980*c6d7a45dSGunnar Mills                "FibreChannelOverEthernet": "Appears to the operating system as an FCoE device.",
981*c6d7a45dSGunnar Mills                "InfiniBand": "Appears to the operating system as an InfiniBand device.",
982*c6d7a45dSGunnar Mills                "iSCSI": "Appears to the operating system as an iSCSI device."
983*c6d7a45dSGunnar Mills            },
984*c6d7a45dSGunnar Mills            "enumVersionAdded": {
985*c6d7a45dSGunnar Mills                "InfiniBand": "v1_5_0"
986*c6d7a45dSGunnar Mills            },
987*c6d7a45dSGunnar Mills            "type": "string"
988*c6d7a45dSGunnar Mills        },
989*c6d7a45dSGunnar Mills        "OemActions": {
990*c6d7a45dSGunnar Mills            "additionalProperties": true,
991*c6d7a45dSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
992*c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
993*c6d7a45dSGunnar Mills            "patternProperties": {
994*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
995*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
996*c6d7a45dSGunnar Mills                    "type": [
997*c6d7a45dSGunnar Mills                        "array",
998*c6d7a45dSGunnar Mills                        "boolean",
999*c6d7a45dSGunnar Mills                        "integer",
1000*c6d7a45dSGunnar Mills                        "number",
1001*c6d7a45dSGunnar Mills                        "null",
1002*c6d7a45dSGunnar Mills                        "object",
1003*c6d7a45dSGunnar Mills                        "string"
1004*c6d7a45dSGunnar Mills                    ]
1005*c6d7a45dSGunnar Mills                }
1006*c6d7a45dSGunnar Mills            },
1007*c6d7a45dSGunnar Mills            "properties": {},
1008*c6d7a45dSGunnar Mills            "type": "object"
1009*c6d7a45dSGunnar Mills        },
1010*c6d7a45dSGunnar Mills        "WWNSource": {
1011*c6d7a45dSGunnar Mills            "enum": [
1012*c6d7a45dSGunnar Mills                "ConfiguredLocally",
1013*c6d7a45dSGunnar Mills                "ProvidedByFabric"
1014*c6d7a45dSGunnar Mills            ],
1015*c6d7a45dSGunnar Mills            "enumDescriptions": {
1016*c6d7a45dSGunnar Mills                "ConfiguredLocally": "The set of FC/FCoE boot targets was applied locally through API or UI.",
1017*c6d7a45dSGunnar Mills                "ProvidedByFabric": "The set of FC/FCoE boot targets was applied by the Fibre Channel fabric."
1018*c6d7a45dSGunnar Mills            },
1019*c6d7a45dSGunnar Mills            "type": "string"
1020*c6d7a45dSGunnar Mills        },
1021*c6d7a45dSGunnar Mills        "iSCSIBoot": {
1022*c6d7a45dSGunnar Mills            "additionalProperties": false,
1023*c6d7a45dSGunnar Mills            "description": "The iSCSI boot capabilities, status, and configuration for a network device function.",
1024*c6d7a45dSGunnar Mills            "longDescription": "This type shall describe the iSCSI boot capabilities, status, and configuration values for a network device function.",
1025*c6d7a45dSGunnar Mills            "patternProperties": {
1026*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1027*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1028*c6d7a45dSGunnar Mills                    "type": [
1029*c6d7a45dSGunnar Mills                        "array",
1030*c6d7a45dSGunnar Mills                        "boolean",
1031*c6d7a45dSGunnar Mills                        "integer",
1032*c6d7a45dSGunnar Mills                        "number",
1033*c6d7a45dSGunnar Mills                        "null",
1034*c6d7a45dSGunnar Mills                        "object",
1035*c6d7a45dSGunnar Mills                        "string"
1036*c6d7a45dSGunnar Mills                    ]
1037*c6d7a45dSGunnar Mills                }
1038*c6d7a45dSGunnar Mills            },
1039*c6d7a45dSGunnar Mills            "properties": {
1040*c6d7a45dSGunnar Mills                "AuthenticationMethod": {
1041*c6d7a45dSGunnar Mills                    "anyOf": [
1042*c6d7a45dSGunnar Mills                        {
1043*c6d7a45dSGunnar Mills                            "$ref": "#/definitions/AuthenticationMethod"
1044*c6d7a45dSGunnar Mills                        },
1045*c6d7a45dSGunnar Mills                        {
1046*c6d7a45dSGunnar Mills                            "type": "null"
1047*c6d7a45dSGunnar Mills                        }
1048*c6d7a45dSGunnar Mills                    ],
1049*c6d7a45dSGunnar Mills                    "description": "The iSCSI boot authentication method for this network device function.",
1050*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the iSCSI boot authentication method for this network device function.",
1051*c6d7a45dSGunnar Mills                    "readonly": false
1052*c6d7a45dSGunnar Mills                },
1053*c6d7a45dSGunnar Mills                "CHAPSecret": {
1054*c6d7a45dSGunnar Mills                    "description": "The shared secret for CHAP authentication.",
1055*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the shared secret for CHAP authentication.",
1056*c6d7a45dSGunnar Mills                    "readonly": false,
1057*c6d7a45dSGunnar Mills                    "type": [
1058*c6d7a45dSGunnar Mills                        "string",
1059*c6d7a45dSGunnar Mills                        "null"
1060*c6d7a45dSGunnar Mills                    ]
1061*c6d7a45dSGunnar Mills                },
1062*c6d7a45dSGunnar Mills                "CHAPUsername": {
1063*c6d7a45dSGunnar Mills                    "description": "The username for CHAP authentication.",
1064*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the username for CHAP authentication.",
1065*c6d7a45dSGunnar Mills                    "readonly": false,
1066*c6d7a45dSGunnar Mills                    "type": [
1067*c6d7a45dSGunnar Mills                        "string",
1068*c6d7a45dSGunnar Mills                        "null"
1069*c6d7a45dSGunnar Mills                    ]
1070*c6d7a45dSGunnar Mills                },
1071*c6d7a45dSGunnar Mills                "IPAddressType": {
1072*c6d7a45dSGunnar Mills                    "anyOf": [
1073*c6d7a45dSGunnar Mills                        {
1074*c6d7a45dSGunnar Mills                            "$ref": "#/definitions/IPAddressType"
1075*c6d7a45dSGunnar Mills                        },
1076*c6d7a45dSGunnar Mills                        {
1077*c6d7a45dSGunnar Mills                            "type": "null"
1078*c6d7a45dSGunnar Mills                        }
1079*c6d7a45dSGunnar Mills                    ],
1080*c6d7a45dSGunnar Mills                    "description": "The type of IP address being populated in the iSCSIBoot IP address fields.",
1081*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the type of IP address being populated in the iSCSIBoot IP address fields.  Mixing IPv6 and IPv4 addresses on the same network device function shall not be permissible.",
1082*c6d7a45dSGunnar Mills                    "readonly": false
1083*c6d7a45dSGunnar Mills                },
1084*c6d7a45dSGunnar Mills                "IPMaskDNSViaDHCP": {
1085*c6d7a45dSGunnar Mills                    "description": "An indication of whether the iSCSI boot initiator uses DHCP to obtain the initiator name, IP address, and netmask.",
1086*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether the iSCSI boot initiator uses DHCP to obtain the initiator name, IP address, and netmask.",
1087*c6d7a45dSGunnar Mills                    "readonly": false,
1088*c6d7a45dSGunnar Mills                    "type": [
1089*c6d7a45dSGunnar Mills                        "boolean",
1090*c6d7a45dSGunnar Mills                        "null"
1091*c6d7a45dSGunnar Mills                    ]
1092*c6d7a45dSGunnar Mills                },
1093*c6d7a45dSGunnar Mills                "InitiatorDefaultGateway": {
1094*c6d7a45dSGunnar Mills                    "description": "The IPv6 or IPv4 iSCSI boot default gateway.",
1095*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv6 or IPv4 iSCSI boot default gateway.",
1096*c6d7a45dSGunnar Mills                    "readonly": false,
1097*c6d7a45dSGunnar Mills                    "type": [
1098*c6d7a45dSGunnar Mills                        "string",
1099*c6d7a45dSGunnar Mills                        "null"
1100*c6d7a45dSGunnar Mills                    ]
1101*c6d7a45dSGunnar Mills                },
1102*c6d7a45dSGunnar Mills                "InitiatorIPAddress": {
1103*c6d7a45dSGunnar Mills                    "description": "The IPv6 or IPv4 address of the iSCSI initiator.",
1104*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv6 or IPv4 address of the iSCSI boot initiator.",
1105*c6d7a45dSGunnar Mills                    "readonly": false,
1106*c6d7a45dSGunnar Mills                    "type": [
1107*c6d7a45dSGunnar Mills                        "string",
1108*c6d7a45dSGunnar Mills                        "null"
1109*c6d7a45dSGunnar Mills                    ]
1110*c6d7a45dSGunnar Mills                },
1111*c6d7a45dSGunnar Mills                "InitiatorName": {
1112*c6d7a45dSGunnar Mills                    "description": "The iSCSI initiator name.",
1113*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the iSCSI boot initiator name.  This property should match formats defined in RFC3720 or RFC3721.",
1114*c6d7a45dSGunnar Mills                    "readonly": false,
1115*c6d7a45dSGunnar Mills                    "type": [
1116*c6d7a45dSGunnar Mills                        "string",
1117*c6d7a45dSGunnar Mills                        "null"
1118*c6d7a45dSGunnar Mills                    ]
1119*c6d7a45dSGunnar Mills                },
1120*c6d7a45dSGunnar Mills                "InitiatorNetmask": {
1121*c6d7a45dSGunnar Mills                    "description": "The IPv6 or IPv4 netmask of the iSCSI boot initiator.",
1122*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv6 or IPv4 netmask of the iSCSI boot initiator.",
1123*c6d7a45dSGunnar Mills                    "readonly": false,
1124*c6d7a45dSGunnar Mills                    "type": [
1125*c6d7a45dSGunnar Mills                        "string",
1126*c6d7a45dSGunnar Mills                        "null"
1127*c6d7a45dSGunnar Mills                    ]
1128*c6d7a45dSGunnar Mills                },
1129*c6d7a45dSGunnar Mills                "MutualCHAPSecret": {
1130*c6d7a45dSGunnar Mills                    "description": "The CHAP secret for two-way CHAP authentication.",
1131*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the CHAP secret for two-way CHAP authentication.",
1132*c6d7a45dSGunnar Mills                    "readonly": false,
1133*c6d7a45dSGunnar Mills                    "type": [
1134*c6d7a45dSGunnar Mills                        "string",
1135*c6d7a45dSGunnar Mills                        "null"
1136*c6d7a45dSGunnar Mills                    ]
1137*c6d7a45dSGunnar Mills                },
1138*c6d7a45dSGunnar Mills                "MutualCHAPUsername": {
1139*c6d7a45dSGunnar Mills                    "description": "The CHAP username for two-way CHAP authentication.",
1140*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the CHAP username for two-way CHAP authentication.",
1141*c6d7a45dSGunnar Mills                    "readonly": false,
1142*c6d7a45dSGunnar Mills                    "type": [
1143*c6d7a45dSGunnar Mills                        "string",
1144*c6d7a45dSGunnar Mills                        "null"
1145*c6d7a45dSGunnar Mills                    ]
1146*c6d7a45dSGunnar Mills                },
1147*c6d7a45dSGunnar Mills                "PrimaryDNS": {
1148*c6d7a45dSGunnar Mills                    "description": "The IPv6 or IPv4 address of the primary DNS server for the iSCSI boot initiator.",
1149*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv6 or IPv4 address of the primary DNS server for the iSCSI boot initiator.",
1150*c6d7a45dSGunnar Mills                    "readonly": false,
1151*c6d7a45dSGunnar Mills                    "type": [
1152*c6d7a45dSGunnar Mills                        "string",
1153*c6d7a45dSGunnar Mills                        "null"
1154*c6d7a45dSGunnar Mills                    ]
1155*c6d7a45dSGunnar Mills                },
1156*c6d7a45dSGunnar Mills                "PrimaryLUN": {
1157*c6d7a45dSGunnar Mills                    "description": "The logical unit number (LUN) for the primary iSCSI boot target.",
1158*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the logical unit number (LUN) for the primary iSCSI boot target.",
1159*c6d7a45dSGunnar Mills                    "readonly": false,
1160*c6d7a45dSGunnar Mills                    "type": [
1161*c6d7a45dSGunnar Mills                        "integer",
1162*c6d7a45dSGunnar Mills                        "null"
1163*c6d7a45dSGunnar Mills                    ]
1164*c6d7a45dSGunnar Mills                },
1165*c6d7a45dSGunnar Mills                "PrimaryTargetIPAddress": {
1166*c6d7a45dSGunnar Mills                    "description": "The IPv4 or IPv6 address for the primary iSCSI boot target.",
1167*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv4 or IPv6 address for the primary iSCSI boot target.",
1168*c6d7a45dSGunnar Mills                    "readonly": false,
1169*c6d7a45dSGunnar Mills                    "type": [
1170*c6d7a45dSGunnar Mills                        "string",
1171*c6d7a45dSGunnar Mills                        "null"
1172*c6d7a45dSGunnar Mills                    ]
1173*c6d7a45dSGunnar Mills                },
1174*c6d7a45dSGunnar Mills                "PrimaryTargetName": {
1175*c6d7a45dSGunnar Mills                    "description": "The name of the iSCSI primary boot target.",
1176*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the name of the primary iSCSI boot target.  This property should match formats defined in RFC3720 or RFC3721.",
1177*c6d7a45dSGunnar Mills                    "readonly": false,
1178*c6d7a45dSGunnar Mills                    "type": [
1179*c6d7a45dSGunnar Mills                        "string",
1180*c6d7a45dSGunnar Mills                        "null"
1181*c6d7a45dSGunnar Mills                    ]
1182*c6d7a45dSGunnar Mills                },
1183*c6d7a45dSGunnar Mills                "PrimaryTargetTCPPort": {
1184*c6d7a45dSGunnar Mills                    "description": "The TCP port for the primary iSCSI boot target.",
1185*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the TCP port for the primary iSCSI boot target.",
1186*c6d7a45dSGunnar Mills                    "readonly": false,
1187*c6d7a45dSGunnar Mills                    "type": [
1188*c6d7a45dSGunnar Mills                        "integer",
1189*c6d7a45dSGunnar Mills                        "null"
1190*c6d7a45dSGunnar Mills                    ]
1191*c6d7a45dSGunnar Mills                },
1192*c6d7a45dSGunnar Mills                "PrimaryVLANEnable": {
1193*c6d7a45dSGunnar Mills                    "description": "An indication of whether the primary VLAN is enabled.",
1194*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether this VLAN is enabled for the primary iSCSI boot target.",
1195*c6d7a45dSGunnar Mills                    "readonly": false,
1196*c6d7a45dSGunnar Mills                    "type": [
1197*c6d7a45dSGunnar Mills                        "boolean",
1198*c6d7a45dSGunnar Mills                        "null"
1199*c6d7a45dSGunnar Mills                    ]
1200*c6d7a45dSGunnar Mills                },
1201*c6d7a45dSGunnar Mills                "PrimaryVLANId": {
1202*c6d7a45dSGunnar Mills                    "description": "The 802.1q VLAN ID to use for iSCSI boot from the primary target.",
1203*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the 802.1q VLAN ID to use for iSCSI boot from the primary target.  This VLAN ID is only used if `PrimaryVLANEnable` is `true`.",
1204*c6d7a45dSGunnar Mills                    "maximum": 4094,
1205*c6d7a45dSGunnar Mills                    "minimum": 0,
1206*c6d7a45dSGunnar Mills                    "readonly": false,
1207*c6d7a45dSGunnar Mills                    "type": [
1208*c6d7a45dSGunnar Mills                        "integer",
1209*c6d7a45dSGunnar Mills                        "null"
1210*c6d7a45dSGunnar Mills                    ]
1211*c6d7a45dSGunnar Mills                },
1212*c6d7a45dSGunnar Mills                "RouterAdvertisementEnabled": {
1213*c6d7a45dSGunnar Mills                    "description": "An indication of whether IPv6 router advertisement is enabled for the iSCSI boot target.",
1214*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether IPv6 router advertisement is enabled for the iSCSI boot target.  This setting shall apply to only IPv6 configurations.",
1215*c6d7a45dSGunnar Mills                    "readonly": false,
1216*c6d7a45dSGunnar Mills                    "type": [
1217*c6d7a45dSGunnar Mills                        "boolean",
1218*c6d7a45dSGunnar Mills                        "null"
1219*c6d7a45dSGunnar Mills                    ]
1220*c6d7a45dSGunnar Mills                },
1221*c6d7a45dSGunnar Mills                "SecondaryDNS": {
1222*c6d7a45dSGunnar Mills                    "description": "The IPv6 or IPv4 address of the secondary DNS server for the iSCSI boot initiator.",
1223*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv6 or IPv4 address of the secondary DNS server for the iSCSI boot initiator.",
1224*c6d7a45dSGunnar Mills                    "readonly": false,
1225*c6d7a45dSGunnar Mills                    "type": [
1226*c6d7a45dSGunnar Mills                        "string",
1227*c6d7a45dSGunnar Mills                        "null"
1228*c6d7a45dSGunnar Mills                    ]
1229*c6d7a45dSGunnar Mills                },
1230*c6d7a45dSGunnar Mills                "SecondaryLUN": {
1231*c6d7a45dSGunnar Mills                    "description": "The logical unit number (LUN) for the secondary iSCSI boot target.",
1232*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the logical unit number (LUN) for the secondary iSCSI boot target.",
1233*c6d7a45dSGunnar Mills                    "readonly": false,
1234*c6d7a45dSGunnar Mills                    "type": [
1235*c6d7a45dSGunnar Mills                        "integer",
1236*c6d7a45dSGunnar Mills                        "null"
1237*c6d7a45dSGunnar Mills                    ]
1238*c6d7a45dSGunnar Mills                },
1239*c6d7a45dSGunnar Mills                "SecondaryTargetIPAddress": {
1240*c6d7a45dSGunnar Mills                    "description": "The IPv4 or IPv6 address for the secondary iSCSI boot target.",
1241*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the IPv4 or IPv6 address for the secondary iSCSI boot target.",
1242*c6d7a45dSGunnar Mills                    "readonly": false,
1243*c6d7a45dSGunnar Mills                    "type": [
1244*c6d7a45dSGunnar Mills                        "string",
1245*c6d7a45dSGunnar Mills                        "null"
1246*c6d7a45dSGunnar Mills                    ]
1247*c6d7a45dSGunnar Mills                },
1248*c6d7a45dSGunnar Mills                "SecondaryTargetName": {
1249*c6d7a45dSGunnar Mills                    "description": "The name of the iSCSI secondary boot target.",
1250*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the name of the secondary iSCSI boot target.  This property should match formats defined in RFC3720 or RFC3721.",
1251*c6d7a45dSGunnar Mills                    "readonly": false,
1252*c6d7a45dSGunnar Mills                    "type": [
1253*c6d7a45dSGunnar Mills                        "string",
1254*c6d7a45dSGunnar Mills                        "null"
1255*c6d7a45dSGunnar Mills                    ]
1256*c6d7a45dSGunnar Mills                },
1257*c6d7a45dSGunnar Mills                "SecondaryTargetTCPPort": {
1258*c6d7a45dSGunnar Mills                    "description": "The TCP port for the secondary iSCSI boot target.",
1259*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the TCP port for the secondary iSCSI boot target.",
1260*c6d7a45dSGunnar Mills                    "readonly": false,
1261*c6d7a45dSGunnar Mills                    "type": [
1262*c6d7a45dSGunnar Mills                        "integer",
1263*c6d7a45dSGunnar Mills                        "null"
1264*c6d7a45dSGunnar Mills                    ]
1265*c6d7a45dSGunnar Mills                },
1266*c6d7a45dSGunnar Mills                "SecondaryVLANEnable": {
1267*c6d7a45dSGunnar Mills                    "description": "An indication of whether the secondary VLAN is enabled.",
1268*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether this VLAN is enabled for the secondary iSCSI boot target.",
1269*c6d7a45dSGunnar Mills                    "readonly": false,
1270*c6d7a45dSGunnar Mills                    "type": [
1271*c6d7a45dSGunnar Mills                        "boolean",
1272*c6d7a45dSGunnar Mills                        "null"
1273*c6d7a45dSGunnar Mills                    ]
1274*c6d7a45dSGunnar Mills                },
1275*c6d7a45dSGunnar Mills                "SecondaryVLANId": {
1276*c6d7a45dSGunnar Mills                    "description": "The 802.1q VLAN ID to use for iSCSI boot from the secondary target.",
1277*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the 802.1q VLAN ID to use for iSCSI boot from the secondary target.  This VLAN ID is only used if `SecondaryVLANEnable` is `true`.",
1278*c6d7a45dSGunnar Mills                    "maximum": 4094,
1279*c6d7a45dSGunnar Mills                    "minimum": 0,
1280*c6d7a45dSGunnar Mills                    "readonly": false,
1281*c6d7a45dSGunnar Mills                    "type": [
1282*c6d7a45dSGunnar Mills                        "integer",
1283*c6d7a45dSGunnar Mills                        "null"
1284*c6d7a45dSGunnar Mills                    ]
1285*c6d7a45dSGunnar Mills                },
1286*c6d7a45dSGunnar Mills                "TargetInfoViaDHCP": {
1287*c6d7a45dSGunnar Mills                    "description": "An indication of whether the iSCSI boot target name, LUN, IP address, and netmask should be obtained from DHCP.",
1288*c6d7a45dSGunnar Mills                    "longDescription": "This property shall indicate whether the iSCSI boot target name, LUN, IP address, and netmask should be obtained from DHCP.",
1289*c6d7a45dSGunnar Mills                    "readonly": false,
1290*c6d7a45dSGunnar Mills                    "type": [
1291*c6d7a45dSGunnar Mills                        "boolean",
1292*c6d7a45dSGunnar Mills                        "null"
1293*c6d7a45dSGunnar Mills                    ]
1294*c6d7a45dSGunnar Mills                }
1295*c6d7a45dSGunnar Mills            },
1296*c6d7a45dSGunnar Mills            "type": "object"
1297*c6d7a45dSGunnar Mills        }
1298*c6d7a45dSGunnar Mills    },
1299*c6d7a45dSGunnar Mills    "language": "en",
1300*c6d7a45dSGunnar Mills    "owningEntity": "DMTF",
1301*c6d7a45dSGunnar Mills    "release": "2025.2",
1302*c6d7a45dSGunnar Mills    "title": "#NetworkDeviceFunction.v1_11_0.NetworkDeviceFunction"
1303*c6d7a45dSGunnar Mills}