1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.v1_12_1.json",
3    "$ref": "#/definitions/EthernetInterface",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
30                    "versionAdded": "v1_3_0"
31                }
32            },
33            "type": "object"
34        },
35        "DHCPFallback": {
36            "enum": [
37                "Static",
38                "AutoConfig",
39                "None"
40            ],
41            "enumDescriptions": {
42                "AutoConfig": "Fall back to an autoconfigured address.",
43                "None": "Continue attempting DHCP without a fallback address.",
44                "Static": "Fall back to a static address specified by `IPv4StaticAddresses`."
45            },
46            "enumLongDescriptions": {
47                "AutoConfig": "DHCP shall fall back to an address generated by the implementation.",
48                "None": "DHCP shall continue trying to obtain an address without falling back to a fixed address.",
49                "Static": "DHCP shall fall back to a static address specified by `IPv4StaticAddresses`."
50            },
51            "type": "string"
52        },
53        "DHCPv4Configuration": {
54            "additionalProperties": false,
55            "description": "DHCPv4 configuration for this interface.",
56            "longDescription": "This type shall describe the configuration of DHCP v4.",
57            "patternProperties": {
58                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
59                    "description": "This property shall specify a valid odata or Redfish property.",
60                    "type": [
61                        "array",
62                        "boolean",
63                        "integer",
64                        "number",
65                        "null",
66                        "object",
67                        "string"
68                    ]
69                }
70            },
71            "properties": {
72                "DHCPEnabled": {
73                    "description": "An indication of whether DHCP v4 is enabled on this Ethernet interface.",
74                    "longDescription": "This property shall indicate whether DHCP v4 is enabled for this Ethernet interface.",
75                    "readonly": false,
76                    "type": [
77                        "boolean",
78                        "null"
79                    ],
80                    "versionAdded": "v1_4_0"
81                },
82                "FallbackAddress": {
83                    "anyOf": [
84                        {
85                            "$ref": "#/definitions/DHCPFallback"
86                        },
87                        {
88                            "type": "null"
89                        }
90                    ],
91                    "description": "DHCPv4 fallback address method for this interface.",
92                    "longDescription": "This property shall contain the fallback address method of DHCPv4.",
93                    "readonly": false,
94                    "versionAdded": "v1_5_0"
95                },
96                "UseDNSServers": {
97                    "description": "An indication of whether this interface uses DHCP v4-supplied DNS servers.",
98                    "longDescription": "This property shall indicate whether the interface uses DHCP v4-supplied DNS servers.",
99                    "readonly": false,
100                    "type": [
101                        "boolean",
102                        "null"
103                    ],
104                    "versionAdded": "v1_4_0"
105                },
106                "UseDomainName": {
107                    "description": "An indication of whether this interface uses a DHCP v4-supplied domain name.",
108                    "longDescription": "This property shall indicate whether the interface uses a DHCP v4-supplied domain name.",
109                    "readonly": false,
110                    "type": [
111                        "boolean",
112                        "null"
113                    ],
114                    "versionAdded": "v1_4_0"
115                },
116                "UseGateway": {
117                    "description": "An indication of whether this interface uses a DHCP v4-supplied gateway.",
118                    "longDescription": "This property shall indicate whether the interface uses a DHCP v4-supplied gateway.",
119                    "readonly": false,
120                    "type": [
121                        "boolean",
122                        "null"
123                    ],
124                    "versionAdded": "v1_4_0"
125                },
126                "UseNTPServers": {
127                    "description": "An indication of whether the interface uses DHCP v4-supplied NTP servers.",
128                    "longDescription": "This property shall indicate whether the interface uses DHCP v4-supplied NTP servers.",
129                    "readonly": false,
130                    "type": [
131                        "boolean",
132                        "null"
133                    ],
134                    "versionAdded": "v1_4_0"
135                },
136                "UseStaticRoutes": {
137                    "description": "An indication of whether the interface uses DHCP v4-supplied static routes.",
138                    "longDescription": "This property shall indicate whether the interface uses a DHCP v4-supplied static routes.",
139                    "readonly": false,
140                    "type": [
141                        "boolean",
142                        "null"
143                    ],
144                    "versionAdded": "v1_4_0"
145                }
146            },
147            "type": "object"
148        },
149        "DHCPv6Configuration": {
150            "additionalProperties": false,
151            "description": "DHCPv6 configuration for this interface.",
152            "longDescription": "This type shall describe the configuration of DHCP v6.",
153            "patternProperties": {
154                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
155                    "description": "This property shall specify a valid odata or Redfish property.",
156                    "type": [
157                        "array",
158                        "boolean",
159                        "integer",
160                        "number",
161                        "null",
162                        "object",
163                        "string"
164                    ]
165                }
166            },
167            "properties": {
168                "OperatingMode": {
169                    "anyOf": [
170                        {
171                            "$ref": "#/definitions/DHCPv6OperatingMode"
172                        },
173                        {
174                            "type": "null"
175                        }
176                    ],
177                    "description": "Determines the DHCPv6 operating mode for this interface.",
178                    "longDescription": "This property shall control the operating mode of DHCPv6 on this interface.",
179                    "readonly": false,
180                    "versionAdded": "v1_4_0"
181                },
182                "UseDNSServers": {
183                    "description": "An indication of whether the interface uses DHCP v6-supplied DNS servers.",
184                    "longDescription": "This property shall indicate whether the interface uses DHCP v6-supplied DNS servers.",
185                    "readonly": false,
186                    "type": [
187                        "boolean",
188                        "null"
189                    ],
190                    "versionAdded": "v1_4_0"
191                },
192                "UseDomainName": {
193                    "description": "An indication of whether this interface uses a DHCP v6-supplied domain name.",
194                    "longDescription": "This property shall indicate whether the interface uses a DHCP v6-supplied domain name.",
195                    "readonly": false,
196                    "type": [
197                        "boolean",
198                        "null"
199                    ],
200                    "versionAdded": "v1_4_0"
201                },
202                "UseNTPServers": {
203                    "description": "An indication of whether the interface uses DHCP v6-supplied NTP servers.",
204                    "longDescription": "This property shall indicate whether the interface uses DHCP v6-supplied NTP servers.",
205                    "readonly": false,
206                    "type": [
207                        "boolean",
208                        "null"
209                    ],
210                    "versionAdded": "v1_4_0"
211                },
212                "UseRapidCommit": {
213                    "description": "An indication of whether the interface uses DHCP v6 rapid commit mode for stateful mode address assignments.  Do not enable this option in networks where more than one DHCP v6 server is configured to provide address assignments.",
214                    "longDescription": "This property shall indicate whether the interface uses DHCP v6 rapid commit mode for stateful mode address assignments.",
215                    "readonly": false,
216                    "type": [
217                        "boolean",
218                        "null"
219                    ],
220                    "versionAdded": "v1_4_0"
221                }
222            },
223            "type": "object"
224        },
225        "DHCPv6OperatingMode": {
226            "enum": [
227                "Stateful",
228                "Stateless",
229                "Disabled",
230                "Enabled"
231            ],
232            "enumDeprecated": {
233                "Stateful": "This property has been deprecated in favor of `Enabled`.  The control between 'stateful' and 'stateless' is managed by the DHCP server and not the client.",
234                "Stateless": "This property has been deprecated in favor of `Enabled`.  The control between 'stateful' and 'stateless' is managed by the DHCP server and not the client."
235            },
236            "enumDescriptions": {
237                "Disabled": "DHCPv6 is disabled.",
238                "Enabled": "DHCPv6 is enabled.",
239                "Stateful": "DHCPv6 stateful mode.",
240                "Stateless": "DHCPv6 stateless mode."
241            },
242            "enumLongDescriptions": {
243                "Disabled": "DHCPv6 shall be disabled for this interface.",
244                "Enabled": "DHCPv6 shall be enabled for this interface.",
245                "Stateful": "DHCPv6 shall operate in stateful mode on this interface.  DHCPv6 stateful mode configures addresses, and when it is enabled, stateless mode is also implicitly enabled.  Services may replace this value with `Enabled`.",
246                "Stateless": "DHCPv6 shall operate in stateless mode on this interface.  DHCPv6 stateless mode allows configuring the interface using DHCP options but does not configure addresses.  It is always enabled by default whenever DHCPv6 stateful mode is also enabled.  Services may replace this value with `Enabled`."
247            },
248            "enumVersionAdded": {
249                "Enabled": "v1_8_0"
250            },
251            "enumVersionDeprecated": {
252                "Stateful": "v1_8_0",
253                "Stateless": "v1_8_0"
254            },
255            "type": "string"
256        },
257        "EthernetDeviceType": {
258            "enum": [
259                "Physical",
260                "Virtual"
261            ],
262            "enumDescriptions": {
263                "Physical": "A physical Ethernet interface.",
264                "Virtual": "A virtual Ethernet interface."
265            },
266            "enumLongDescriptions": {
267                "Physical": "This value shall indicate a physical traditional network interface.",
268                "Virtual": "This value shall indicate a network device function has multiple VLANs and is representing one of them as a virtual Ethernet interface.  The `NetworkDeviceFunction` property within Links shall contain the locator for the parent network device function."
269            },
270            "type": "string"
271        },
272        "EthernetInterface": {
273            "additionalProperties": false,
274            "description": "The `EthernetInterface` schema represents a single, logical Ethernet interface or network interface controller (NIC).",
275            "longDescription": "This resource contains NIC resources as part of the Redfish Specification.",
276            "patternProperties": {
277                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
278                    "description": "This property shall specify a valid odata or Redfish property.",
279                    "type": [
280                        "array",
281                        "boolean",
282                        "integer",
283                        "number",
284                        "null",
285                        "object",
286                        "string"
287                    ]
288                }
289            },
290            "properties": {
291                "@odata.context": {
292                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
293                },
294                "@odata.etag": {
295                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
296                },
297                "@odata.id": {
298                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
299                },
300                "@odata.type": {
301                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
302                },
303                "Actions": {
304                    "$ref": "#/definitions/Actions",
305                    "description": "The available actions for this resource.",
306                    "longDescription": "This property shall contain the available actions for this resource.",
307                    "versionAdded": "v1_3_0"
308                },
309                "AutoNeg": {
310                    "description": "An indication of whether the speed and duplex are automatically negotiated and configured on this interface.",
311                    "longDescription": "This property shall indicate whether the speed and duplex are automatically negotiated and configured on this interface.",
312                    "readonly": false,
313                    "type": [
314                        "boolean",
315                        "null"
316                    ]
317                },
318                "DHCPv4": {
319                    "$ref": "#/definitions/DHCPv4Configuration",
320                    "description": "DHCPv4 configuration for this interface.",
321                    "longDescription": "This property shall contain the configuration of DHCP v4.",
322                    "versionAdded": "v1_4_0"
323                },
324                "DHCPv6": {
325                    "$ref": "#/definitions/DHCPv6Configuration",
326                    "description": "DHCPv6 configuration for this interface.",
327                    "longDescription": "This property shall contain the configuration of DHCP v6.",
328                    "versionAdded": "v1_4_0"
329                },
330                "Description": {
331                    "anyOf": [
332                        {
333                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
334                        },
335                        {
336                            "type": "null"
337                        }
338                    ],
339                    "readonly": true
340                },
341                "EthernetInterfaceType": {
342                    "anyOf": [
343                        {
344                            "$ref": "#/definitions/EthernetDeviceType"
345                        },
346                        {
347                            "type": "null"
348                        }
349                    ],
350                    "description": "The type of interface.",
351                    "longDescription": "This property shall contain the type of interface.",
352                    "readonly": true,
353                    "versionAdded": "v1_6_0"
354                },
355                "FQDN": {
356                    "description": "The complete, fully qualified domain name that DNS obtains for this interface.",
357                    "longDescription": "This property shall contain the fully qualified domain name that DNS obtains for this interface.",
358                    "readonly": false,
359                    "type": [
360                        "string",
361                        "null"
362                    ]
363                },
364                "FullDuplex": {
365                    "description": "An indication of whether full-duplex mode is enabled on the Ethernet connection for this interface.",
366                    "longDescription": "This property shall indicate whether full-duplex mode is enabled on the Ethernet connection for this interface.",
367                    "readonly": false,
368                    "type": [
369                        "boolean",
370                        "null"
371                    ]
372                },
373                "HostName": {
374                    "description": "The DNS host name, without any domain information.",
375                    "longDescription": "This property shall contain the DNS host name for this interface.  Modifying this property may modify the `HostName` in one or more `EthernetInterface` resources that belong to the same system, manager, or other device.  If this interface is subordinate to a `ComputerSystem` resource, modifying this property may modify the `HostName` of the `ComputerSystem` resource that contains this interface.  If this interface is subordinate to a `Manager` resource, modifying this property may modify the `HostName` of the `ManagerNetworkProtocol` resource of the `Manager` resource that contains this interface.",
376                    "readonly": false,
377                    "type": [
378                        "string",
379                        "null"
380                    ]
381                },
382                "IPv4Addresses": {
383                    "description": "The IPv4 addresses currently in use by this interface.",
384                    "items": {
385                        "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv4Address"
386                    },
387                    "longDescription": "This property shall contain an array of objects that represent the IPv4 connection characteristics currently in use by this interface for any value of `AddressOrigin`.  It is recommended that this property be regarded as read-only with configuration of static addresses performed by updating the values within `IPv4StaticAddresses`.  Services may reject updates to this array for this reason.",
388                    "type": "array"
389                },
390                "IPv4StaticAddresses": {
391                    "description": "The IPv4 static addresses assigned to this interface.  See `IPv4Addresses` for the addresses in use by this interface.",
392                    "items": {
393                        "anyOf": [
394                            {
395                                "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv4Address"
396                            },
397                            {
398                                "type": "null"
399                            }
400                        ]
401                    },
402                    "longDescription": "This property shall contain an array of objects that represent all IPv4 static addresses assigned to, but not necessarily in use by, this interface.  The `IPv4Addresses` property shall also list the addresses that this interface uses.",
403                    "type": "array",
404                    "versionAdded": "v1_4_0"
405                },
406                "IPv6AddressPolicyTable": {
407                    "description": "An array that represents the RFC6724-defined address selection policy table.",
408                    "items": {
409                        "anyOf": [
410                            {
411                                "$ref": "#/definitions/IPv6AddressPolicyEntry"
412                            },
413                            {
414                                "type": "null"
415                            }
416                        ]
417                    },
418                    "longDescription": "This property shall contain an array of objects that represent the RFC6724-defined address selection policy table.",
419                    "type": "array"
420                },
421                "IPv6Addresses": {
422                    "description": "The IPv6 addresses currently in use by this interface.",
423                    "items": {
424                        "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6Address"
425                    },
426                    "longDescription": "This property shall contain an array of objects that represent the IPv6 connection characteristics for this interface for any value of  `AddressOrigin`.",
427                    "type": "array"
428                },
429                "IPv6DefaultGateway": {
430                    "description": "The IPv6 default gateway address in use on this interface.",
431                    "longDescription": "This property shall contain the current IPv6 default gateway address in use on this interface.",
432                    "readonly": true,
433                    "type": [
434                        "string",
435                        "null"
436                    ]
437                },
438                "IPv6Enabled": {
439                    "description": "An indication of whether IPv6 is enabled on this interface.",
440                    "longDescription": "This property shall indicate whether IPv6 is enabled on this interface.  If this property contains `false`, the interface shall not contain any assigned IPv6 addresses, shall not initiate DHCPv6 requests, and shall not send or process ICMPv6 packets.  If this property is not present, but this interface contains other IPv6 properties, the value shall be assumed to be `true`.",
441                    "readonly": false,
442                    "type": [
443                        "boolean",
444                        "null"
445                    ],
446                    "versionAdded": "v1_12_0"
447                },
448                "IPv6StaticAddresses": {
449                    "description": "The IPv6 static addresses assigned to this interface.  See `IPv6Addresses` for the addresses in use by this interface.",
450                    "items": {
451                        "anyOf": [
452                            {
453                                "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6StaticAddress"
454                            },
455                            {
456                                "type": "null"
457                            }
458                        ]
459                    },
460                    "longDescription": "This property shall contain an array of objects that represent the IPv6 static connection characteristics for this interface.",
461                    "type": "array"
462                },
463                "IPv6StaticDefaultGateways": {
464                    "description": "The IPv6 static default gateways for this interface.",
465                    "items": {
466                        "anyOf": [
467                            {
468                                "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6GatewayStaticAddress"
469                            },
470                            {
471                                "type": "null"
472                            }
473                        ]
474                    },
475                    "longDescription": "The values in this array shall represent the IPv6 static default gateway addresses for this interface.",
476                    "type": "array",
477                    "versionAdded": "v1_4_0"
478                },
479                "Id": {
480                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
481                    "readonly": true
482                },
483                "InterfaceEnabled": {
484                    "description": "An indication of whether this interface is enabled.",
485                    "longDescription": "This property shall indicate whether this interface is enabled.",
486                    "readonly": false,
487                    "type": [
488                        "boolean",
489                        "null"
490                    ]
491                },
492                "LinkStatus": {
493                    "anyOf": [
494                        {
495                            "$ref": "#/definitions/LinkStatus"
496                        },
497                        {
498                            "type": "null"
499                        }
500                    ],
501                    "description": "The link status of this interface, or port.",
502                    "longDescription": "This property shall contain the link status of this interface, or port.",
503                    "readonly": true,
504                    "versionAdded": "v1_1_0"
505                },
506                "Links": {
507                    "$ref": "#/definitions/Links",
508                    "description": "The links to other resources that are related to this resource.",
509                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
510                    "versionAdded": "v1_1_0"
511                },
512                "MACAddress": {
513                    "anyOf": [
514                        {
515                            "$ref": "#/definitions/MACAddress"
516                        },
517                        {
518                            "type": "null"
519                        }
520                    ],
521                    "description": "The currently configured MAC address of the interface, or logical port.",
522                    "longDescription": "This property shall contain the effective current MAC address of this interface.  If an assignable MAC address is not supported, this value is a read-only alias of the PermanentMACAddress.",
523                    "readonly": false
524                },
525                "MTUSize": {
526                    "description": "The currently configured maximum transmission unit (MTU), in bytes, on this interface.",
527                    "longDescription": "This property shall contain the size, in bytes, of the largest protocol data unit (PDU) that can be passed in an Ethernet (MAC) frame on this interface, as currently configured by the operating system or driver.",
528                    "readonly": false,
529                    "type": [
530                        "integer",
531                        "null"
532                    ]
533                },
534                "MaxIPv6StaticAddresses": {
535                    "description": "The maximum number of static IPv6 addresses that can be configured on this interface.",
536                    "longDescription": "This property shall indicate the number of array items supported by `IPv6StaticAddresses`, or the maximum number of static IPv6 addresses that can be configured on this interface.",
537                    "readonly": true,
538                    "type": [
539                        "integer",
540                        "null"
541                    ]
542                },
543                "Name": {
544                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
545                    "readonly": true
546                },
547                "NameServers": {
548                    "description": "The DNS servers in use on this interface.",
549                    "items": {
550                        "type": "string"
551                    },
552                    "longDescription": "This property shall contain the DNS servers in use on this interface.",
553                    "readonly": true,
554                    "type": "array"
555                },
556                "Oem": {
557                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
558                    "description": "The OEM extension property.",
559                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
560                },
561                "PermanentMACAddress": {
562                    "anyOf": [
563                        {
564                            "$ref": "#/definitions/MACAddress"
565                        },
566                        {
567                            "type": "null"
568                        }
569                    ],
570                    "description": "The permanent MAC address assigned to this interface, or port.",
571                    "longDescription": "This property shall contain the permanent MAC address of this interface, or port.  Typically, this value is programmed during manufacturing.  This address is not assignable.",
572                    "readonly": true
573                },
574                "RoutingScope": {
575                    "anyOf": [
576                        {
577                            "$ref": "#/definitions/RoutingScope"
578                        },
579                        {
580                            "type": "null"
581                        }
582                    ],
583                    "description": "The routing scope for this interface.",
584                    "longDescription": "This property shall contain the routing scope for this interface.  This property shall only be present if this interface belongs to a virtual machine or container.",
585                    "readonly": true,
586                    "versionAdded": "v1_11_0"
587                },
588                "SpeedMbps": {
589                    "description": "The current speed, in Mbit/s, of this interface.",
590                    "longDescription": "This property shall contain the link speed of the interface, in megabits per second (Mbit/s) units.  This property shall be writable only when the `AutoNeg` property is `false`.",
591                    "readonly": false,
592                    "type": [
593                        "integer",
594                        "null"
595                    ],
596                    "units": "Mbit/s"
597                },
598                "StatelessAddressAutoConfig": {
599                    "$ref": "#/definitions/StatelessAddressAutoConfiguration",
600                    "description": "Stateless address autoconfiguration (SLAAC) parameters for this interface.",
601                    "longDescription": "This object shall contain the IPv4 and IPv6 stateless address automatic configuration (SLAAC) properties for this interface.",
602                    "versionAdded": "v1_4_0"
603                },
604                "StaticNameServers": {
605                    "description": "The statically-defined set of DNS server IPv4 and IPv6 addresses.",
606                    "items": {
607                        "type": [
608                            "string",
609                            "null"
610                        ]
611                    },
612                    "longDescription": "This property shall contain the statically-defined set of DNS server IP addresses to use when DHCP provisioning is not enabled for name server configuration.  As an implementation option, they can be used in addition to DHCP-provided addresses, or in cases where the DHCP server provides no DNS assignments.",
613                    "readonly": false,
614                    "type": "array",
615                    "versionAdded": "v1_4_0"
616                },
617                "Status": {
618                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
619                    "description": "The status and health of the resource and its subordinate or dependent resources.",
620                    "longDescription": "This property shall contain any status or health properties of the resource."
621                },
622                "TeamMode": {
623                    "anyOf": [
624                        {
625                            "$ref": "#/definitions/TeamMode"
626                        },
627                        {
628                            "type": "null"
629                        }
630                    ],
631                    "description": "The team mode for this interface.",
632                    "longDescription": "This property shall contain the team mode for this interface.  If this property is not present, the value shall be assumed to be `None`.",
633                    "readonly": false,
634                    "versionAdded": "v1_9_0"
635                },
636                "UefiDevicePath": {
637                    "description": "The UEFI device path for this interface.",
638                    "longDescription": "This property shall contain the UEFI device path to the device that implements this interface, or port.",
639                    "readonly": true,
640                    "type": [
641                        "string",
642                        "null"
643                    ]
644                },
645                "VLAN": {
646                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.json#/definitions/VLAN",
647                    "description": "If this network interface supports more than one VLAN, this property is absent.  VLAN collections appear in the `Links` property of this resource.",
648                    "longDescription": "This property shall contain the VLAN for this interface.  If this interface supports more than one VLAN, the `VLAN` property shall be absent and, instead, the VLAN collection link shall be present."
649                },
650                "VLANs": {
651                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterfaceCollection.json#/definitions/VLanNetworkInterfaceCollection",
652                    "deprecated": "This property has been deprecated in favor of newer methods indicating multiple VLANs.",
653                    "description": "The link to a collection of VLANs, which applies only if the interface supports more than one VLAN.  If this property applies, the `VLANEnabled` and `VLANId` properties do not apply.",
654                    "longDescription": "This property shall contain a link to a resource collection of type `VLanNetworkInterfaceCollection`, which applies only if the interface supports more than one VLAN.  If this property is present, the `VLANEnabled` and `VLANId` properties shall not be present.",
655                    "readonly": true,
656                    "versionDeprecated": "v1_7_0"
657                }
658            },
659            "required": [
660                "@odata.id",
661                "@odata.type",
662                "Id",
663                "Name"
664            ],
665            "requiredOnCreate": [
666                "Links"
667            ],
668            "type": "object"
669        },
670        "IPv6AddressPolicyEntry": {
671            "additionalProperties": false,
672            "description": "The entry in the RFC6724-defined address selection policy table.",
673            "longDescription": "This type shall describe an entry in the RFC6724-defined address selection policy table.",
674            "patternProperties": {
675                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
676                    "description": "This property shall specify a valid odata or Redfish property.",
677                    "type": [
678                        "array",
679                        "boolean",
680                        "integer",
681                        "number",
682                        "null",
683                        "object",
684                        "string"
685                    ]
686                }
687            },
688            "properties": {
689                "Label": {
690                    "description": "The IPv6 label, as defined in RFC6724, section 2.1.",
691                    "longDescription": "This property shall contain the IPv6 label value for this table entry, as defined in RFC6724, section 2.1.",
692                    "maximum": 100,
693                    "minimum": 0,
694                    "readonly": false,
695                    "type": [
696                        "integer",
697                        "null"
698                    ]
699                },
700                "Precedence": {
701                    "description": "The IPv6 precedence, as defined in RFC6724, section 2.1.",
702                    "longDescription": "This property shall contain the IPv6 precedence value for this table entry, as defined in RFC6724, section 2.1.",
703                    "maximum": 100,
704                    "minimum": 1,
705                    "readonly": false,
706                    "type": [
707                        "integer",
708                        "null"
709                    ]
710                },
711                "Prefix": {
712                    "description": "The IPv6 address prefix, as defined in RFC6724, section 2.1.",
713                    "longDescription": "This property shall contain the IPv6 address prefix for this table entry, as defined in RFC6724, section 2.1.",
714                    "readonly": false,
715                    "type": [
716                        "string",
717                        "null"
718                    ]
719                }
720            },
721            "type": "object"
722        },
723        "LinkStatus": {
724            "enum": [
725                "LinkUp",
726                "NoLink",
727                "LinkDown"
728            ],
729            "enumDescriptions": {
730                "LinkDown": "No link is detected on this interface, but the interface is connected.",
731                "LinkUp": "The link is available for communication on this interface.",
732                "NoLink": "No link or connection is detected on this interface."
733            },
734            "type": "string"
735        },
736        "Links": {
737            "additionalProperties": false,
738            "description": "The links to other resources that are related to this resource.",
739            "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.",
740            "patternProperties": {
741                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
742                    "description": "This property shall specify a valid odata or Redfish property.",
743                    "type": [
744                        "array",
745                        "boolean",
746                        "integer",
747                        "number",
748                        "null",
749                        "object",
750                        "string"
751                    ]
752                }
753            },
754            "properties": {
755                "AffiliatedInterfaces": {
756                    "description": "The links to the Ethernet interfaces that are affiliated with this interface, such as a VLAN or a team that uses this interface.",
757                    "items": {
758                        "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
759                    },
760                    "longDescription": "This property shall contain an array of links to resources of type `EthernetInterface` that represent the Ethernet interfaces that are affiliated with this interface.  `EthernetInterface` resources referenced in this property shall reference this resource in their `RelatedInterfaces` property.",
761                    "readonly": true,
762                    "type": "array",
763                    "versionAdded": "v1_10_0"
764                },
765                "AffiliatedInterfaces@odata.count": {
766                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
767                },
768                "Chassis": {
769                    "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
770                    "description": "The link to the chassis that contains this Ethernet interface.",
771                    "longDescription": "This property shall contain a link to a resource of type `Chassis` that represent the physical container associated with this Ethernet interface.",
772                    "readonly": true,
773                    "versionAdded": "v1_3_0"
774                },
775                "Endpoints": {
776                    "description": "An array of links to the endpoints that connect to this Ethernet interface.",
777                    "items": {
778                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
779                    },
780                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` with which this Ethernet interface is associated.",
781                    "readonly": true,
782                    "type": "array",
783                    "versionAdded": "v1_1_0"
784                },
785                "Endpoints@odata.count": {
786                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
787                },
788                "HostInterface": {
789                    "$ref": "http://redfish.dmtf.org/schemas/v1/HostInterface.json#/definitions/HostInterface",
790                    "description": "The link to a Host Interface that is associated with this Ethernet interface.",
791                    "longDescription": "This property shall contain a link to a resource of type `HostInterface` that represents the interface that a host uses to communicate with a manager.",
792                    "readonly": true,
793                    "versionAdded": "v1_2_0"
794                },
795                "NetworkDeviceFunction": {
796                    "anyOf": [
797                        {
798                            "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
799                        },
800                        {
801                            "type": "null"
802                        }
803                    ],
804                    "deprecated": "This property has been deprecated in favor of `NetworkDeviceFunctions` as each `EthernetInterface` could represent more than one `NetworkDeviceFunction`.",
805                    "description": "The link to the parent network device function and is only used when representing one of the VLANs on that network device function, such as is done in Unix.",
806                    "longDescription": "This property shall contain a link to a resource of type `NetworkDeviceFunction` and only be populated with the `EthernetInterfaceType` property is `Virtual`.",
807                    "readonly": true,
808                    "versionAdded": "v1_6_0",
809                    "versionDeprecated": "v1_7_0"
810                },
811                "NetworkDeviceFunctions": {
812                    "description": "The link to the network device functions that constitute this Ethernet interface.",
813                    "items": {
814                        "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
815                    },
816                    "longDescription": "This property shall contain an array of links to resources of type `NetworkDeviceFunction`.",
817                    "readonly": true,
818                    "type": "array",
819                    "versionAdded": "v1_7_0"
820                },
821                "NetworkDeviceFunctions@odata.count": {
822                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
823                },
824                "Oem": {
825                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
826                    "description": "The OEM extension property.",
827                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
828                },
829                "Ports": {
830                    "description": "The links to the ports providing this Ethernet interface.",
831                    "items": {
832                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
833                    },
834                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the ports providing this Ethernet interface.  This property shall not be present if the Ethernet interface is not directly associated to a physical port.",
835                    "readonly": true,
836                    "type": "array",
837                    "versionAdded": "v1_9_0"
838                },
839                "Ports@odata.count": {
840                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
841                },
842                "RelatedInterfaces": {
843                    "description": "The links to the Ethernet interfaces that constitute this Ethernet interface.",
844                    "items": {
845                        "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
846                    },
847                    "longDescription": "This property shall contain an array of links to resources of type `EthernetInterface`.  If `TeamMode` contains `None`, this property shall contain one member that represents the parent interface for the VLAN.  For other values of TeamMode, this property shall contain the members of the team.",
848                    "readonly": false,
849                    "type": "array",
850                    "versionAdded": "v1_9_0"
851                },
852                "RelatedInterfaces@odata.count": {
853                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
854                }
855            },
856            "requiredOnCreate": [
857                "RelatedInterfaces"
858            ],
859            "type": "object"
860        },
861        "MACAddress": {
862            "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
863            "type": "string"
864        },
865        "OemActions": {
866            "additionalProperties": true,
867            "description": "The available OEM-specific actions for this resource.",
868            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
869            "patternProperties": {
870                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
871                    "description": "This property shall specify a valid odata or Redfish property.",
872                    "type": [
873                        "array",
874                        "boolean",
875                        "integer",
876                        "number",
877                        "null",
878                        "object",
879                        "string"
880                    ]
881                }
882            },
883            "properties": {},
884            "type": "object"
885        },
886        "RoutingScope": {
887            "enum": [
888                "External",
889                "HostOnly",
890                "Internal",
891                "Limited"
892            ],
893            "enumDescriptions": {
894                "External": "Externally accessible.",
895                "HostOnly": "Only accessible to a dedicated interface on the host.",
896                "Internal": "Only accessible to internal networking on the host, such as when virtual machines or containers are allowed to communicate with each other on the same host system as well as a dedicated interface on the hosting system.",
897                "Limited": "Accessible through IP translation provided by the hosting system."
898            },
899            "enumLongDescriptions": {
900                "External": "This value shall indicate this interface is externally accessible as if it were physically on the same network as the hosting system.",
901                "HostOnly": "This value shall indicate this interface is only accessible to a dedicated interface on the hosting system.",
902                "Internal": "This value shall indicate this interface is only accessible to internal networking on the host, such as when virtual machines or containers are allowed to communicate with each other on the same host system as well as a dedicated interface on the hosting system.",
903                "Limited": "This value shall indicate this interface is accessible through IP translation provided by the hosting system, such as a NAT (network address translation)."
904            },
905            "type": "string"
906        },
907        "StatelessAddressAutoConfiguration": {
908            "additionalProperties": false,
909            "description": "Stateless address autoconfiguration (SLAAC) parameters for this interface.",
910            "longDescription": "This type shall describe the IPv4 and IPv6 stateless address autoconfiguration (SLAAC) for this interface.",
911            "patternProperties": {
912                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
913                    "description": "This property shall specify a valid odata or Redfish property.",
914                    "type": [
915                        "array",
916                        "boolean",
917                        "integer",
918                        "number",
919                        "null",
920                        "object",
921                        "string"
922                    ]
923                }
924            },
925            "properties": {
926                "IPv4AutoConfigEnabled": {
927                    "description": "An indication of whether IPv4 stateless address autoconfiguration (SLAAC) is enabled for this interface.",
928                    "longDescription": "This property shall indicate whether IPv4 stateless address autoconfiguration (SLAAC) is enabled for this interface.",
929                    "readonly": false,
930                    "type": [
931                        "boolean",
932                        "null"
933                    ],
934                    "versionAdded": "v1_4_0"
935                },
936                "IPv6AutoConfigEnabled": {
937                    "description": "An indication of whether IPv6 stateless address autoconfiguration (SLAAC) is enabled for this interface.",
938                    "longDescription": "This property shall indicate whether IPv6 stateless address autoconfiguration (SLAAC) is enabled for this interface.",
939                    "readonly": false,
940                    "type": [
941                        "boolean",
942                        "null"
943                    ],
944                    "versionAdded": "v1_4_0"
945                }
946            },
947            "type": "object"
948        },
949        "TeamMode": {
950            "enum": [
951                "None",
952                "RoundRobin",
953                "ActiveBackup",
954                "XOR",
955                "Broadcast",
956                "IEEE802_3ad",
957                "AdaptiveTransmitLoadBalancing",
958                "AdaptiveLoadBalancing"
959            ],
960            "enumDescriptions": {
961                "ActiveBackup": "One interface in the team is active and the others are kept in standby until a failure occurs.",
962                "AdaptiveLoadBalancing": "Packets are transmitted and received based upon the current load of each interface in the team.",
963                "AdaptiveTransmitLoadBalancing": "Packets are transmitted based upon the current load of each interface in the team.",
964                "Broadcast": "Packets are transmitted on all interfaces in the team.",
965                "IEEE802_3ad": "The interfaces in the team create an IEEE802.3ad link aggregation group.",
966                "None": "No teaming.",
967                "RoundRobin": "Packets are transmitted in sequential order from the teamed interfaces.",
968                "XOR": "Transmitting is determined based upon a hash policy."
969            },
970            "type": "string"
971        }
972    },
973    "language": "en",
974    "owningEntity": "DMTF",
975    "release": "2023.3",
976    "title": "#EthernetInterface.v1_12_1.EthernetInterface"
977}