{
    "$id": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.v1_1_18.json",
    "$ref": "#/definitions/EthernetInterface",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "EthernetInterface": {
            "additionalProperties": false,
            "description": "The `EthernetInterface` schema represents a single, logical Ethernet interface or network interface controller (NIC).",
            "longDescription": "This resource contains NIC resources as part of the Redfish Specification.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "AutoNeg": {
                    "description": "An indication of whether the speed and duplex are automatically negotiated and configured on this interface.",
                    "longDescription": "This property shall indicate whether the speed and duplex are automatically negotiated and configured on this interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "FQDN": {
                    "description": "The complete, fully qualified domain name that DNS obtains for this interface.",
                    "longDescription": "This property shall contain the fully qualified domain name that DNS obtains for this interface.  Modifying this property may modify the `HostName` property.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "FullDuplex": {
                    "description": "An indication of whether full-duplex mode is enabled on the Ethernet connection for this interface.",
                    "longDescription": "This property shall indicate whether full-duplex mode is enabled on the Ethernet connection for this interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "HostName": {
                    "description": "The DNS host name, without any domain information.",
                    "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.  Modifying this property may modify the `FQDN` property.  Services should ignore this property in modification requests if `FQDN` is also provided in the same request.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "IPv4Addresses": {
                    "description": "The IPv4 addresses currently in use by this interface.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv4Address"
                    },
                    "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.  This property should contain an empty array if there are no active IPv4 addresses.",
                    "type": "array"
                },
                "IPv6AddressPolicyTable": {
                    "description": "An array that represents the RFC6724-defined address selection policy table.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/IPv6AddressPolicyEntry"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain an array of objects that represent the RFC6724-defined address selection policy table.",
                    "type": "array"
                },
                "IPv6Addresses": {
                    "description": "The IPv6 addresses currently in use by this interface.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6Address"
                    },
                    "longDescription": "This property shall contain an array of objects that represent the IPv6 connection characteristics for this interface for any value of  `AddressOrigin`.  This property should contain an empty array if there are no active IPv6 addresses.",
                    "type": "array"
                },
                "IPv6DefaultGateway": {
                    "description": "The IPv6 default gateway address in use on this interface.",
                    "longDescription": "This property shall contain the current IPv6 default gateway address in use on this interface.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "IPv6StaticAddresses": {
                    "description": "The IPv6 static addresses assigned to this interface.  See `IPv6Addresses` for the addresses in use by this interface.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6StaticAddress"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain an array of objects that represent the IPv6 static connection characteristics for this interface.  Services should represent static addresses that are not configured as `null` values, as described by the 'PATCH on array properties' clause of the Redfish Specification.  Services should not represent static addresses that are not configured as invalid IP addresses, such as `::`.",
                    "type": "array"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "InterfaceEnabled": {
                    "description": "An indication of whether this interface is enabled.",
                    "longDescription": "This property shall indicate whether this interface is enabled.  If this interface is also a host interface, modifying this property may modify the `InterfaceEnabled` property in the `HostInterface` resource for this interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "LinkStatus": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LinkStatus"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The link status of this interface, or port.",
                    "longDescription": "This property shall contain the link status of this interface, or port.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "The links to other resources that are related to this resource.",
                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
                    "versionAdded": "v1_1_0"
                },
                "MACAddress": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/MACAddress"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The currently configured MAC address of the interface, or logical port.",
                    "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.",
                    "readonly": false
                },
                "MTUSize": {
                    "description": "The currently configured maximum transmission unit (MTU), in bytes, on this interface.",
                    "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.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "MaxIPv6StaticAddresses": {
                    "description": "The maximum number of static IPv6 addresses that can be configured on this interface.",
                    "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.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "NameServers": {
                    "description": "The DNS servers in use on this interface.",
                    "items": {
                        "type": "string"
                    },
                    "longDescription": "This property shall contain the DNS servers in use on this interface.",
                    "readonly": true,
                    "type": "array"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "PermanentMACAddress": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/MACAddress"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The permanent MAC address assigned to this interface, or port.",
                    "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.",
                    "readonly": true
                },
                "SpeedMbps": {
                    "description": "The current speed, in Mbit/s, of this interface.",
                    "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`.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "Mbit/s"
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                },
                "UefiDevicePath": {
                    "description": "The UEFI device path for this interface.",
                    "longDescription": "This property shall contain the UEFI device path to the device that implements this interface, or port.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "VLAN": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.json#/definitions/VLAN",
                    "description": "If this network interface supports more than one VLAN, this property is absent.  VLAN collections appear in the `Links` property of this resource.",
                    "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."
                },
                "VLANs": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterfaceCollection.json#/definitions/VLanNetworkInterfaceCollection",
                    "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.",
                    "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.",
                    "readonly": true
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "requiredOnCreate": [
                "Links"
            ],
            "type": "object"
        },
        "IPv6AddressPolicyEntry": {
            "additionalProperties": false,
            "description": "The entry in the RFC6724-defined address selection policy table.",
            "longDescription": "This type shall describe an entry in the RFC6724-defined address selection policy table.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Label": {
                    "description": "The IPv6 label, as defined in RFC6724, section 2.1.",
                    "longDescription": "This property shall contain the IPv6 label value for this table entry, as defined in RFC6724, section 2.1.",
                    "maximum": 100,
                    "minimum": 0,
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Precedence": {
                    "description": "The IPv6 precedence, as defined in RFC6724, section 2.1.",
                    "longDescription": "This property shall contain the IPv6 precedence value for this table entry, as defined in RFC6724, section 2.1.",
                    "maximum": 100,
                    "minimum": 1,
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Prefix": {
                    "description": "The IPv6 address prefix, as defined in RFC6724, section 2.1.",
                    "longDescription": "This property shall contain the IPv6 address prefix for this table entry, as defined in RFC6724, section 2.1.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "LinkStatus": {
            "enum": [
                "LinkUp",
                "NoLink",
                "LinkDown"
            ],
            "enumDescriptions": {
                "LinkDown": "No link is detected on this interface, but the interface is connected.",
                "LinkUp": "The link is available for communication on this interface.",
                "NoLink": "No link or connection is detected on this interface."
            },
            "type": "string"
        },
        "Links": {
            "additionalProperties": false,
            "description": "The links to other resources that are related to this resource.",
            "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.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Endpoints": {
                    "description": "An array of links to the endpoints that connect to this Ethernet interface.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` with which this Ethernet interface is associated.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_1_0"
                },
                "Endpoints@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
                }
            },
            "type": "object"
        },
        "MACAddress": {
            "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
            "type": "string"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2016.2",
    "title": "#EthernetInterface.v1_1_18.EthernetInterface"
}