<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  EthernetInterface v1.9.0                                            -->
<!--#                                                                                      -->
<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
<!--# available at http://www.dmtf.org/standards/redfish                                   -->
<!--# Copyright 2014-2022 DMTF.                                                            -->
<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
<!--################################################################################       -->
<!---->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
    <edmx:Include Namespace="Resource"/>
    <edmx:Include Namespace="Resource.v1_0_0"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/IPAddresses_v1.xml">
    <edmx:Include Namespace="IPAddresses"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface_v1.xml">
    <edmx:Include Namespace="VLanNetworkInterface"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/VLanNetworkInterfaceCollection_v1.xml">
    <edmx:Include Namespace="VLanNetworkInterfaceCollection"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Endpoint_v1.xml">
    <edmx:Include Namespace="Endpoint"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/HostInterface_v1.xml">
    <edmx:Include Namespace="HostInterface"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Chassis_v1.xml">
    <edmx:Include Namespace="Chassis"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction_v1.xml">
    <edmx:Include Namespace="NetworkDeviceFunction"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Port_v1.xml">
    <edmx:Include Namespace="Port"/>
  </edmx:Reference>

  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

      <EntityType Name="EthernetInterface" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The EthernetInterface schema represents a single, logical Ethernet interface or network interface controller (NIC)."/>
        <Annotation Term="OData.LongDescription" String="This resource contains NIC resources as part of the Redfish Specification."/>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="true"/>
            <Annotation Term="OData.Description" String="Any writable properties, such as addressing and link information, can be updated for Ethernet interfaces."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="true"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}</String>
            <String>/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}</String>
            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}</String>
            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}</String>
            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}</String>
            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}</String>
            <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/EthernetInterfaces/{EthernetInterfaceId}</String>
          </Collection>
        </Annotation>
      </EntityType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="1.0"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.EthernetInterface">
        <Property Name="UefiDevicePath" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The UEFI device path for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the UEFI device path to the device that implements this interface, or port."/>
        </Property>
        <Property Name="Status" Type="Resource.Status" Nullable="false">
          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
        </Property>
        <Property Name="InterfaceEnabled" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether this interface is enabled."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether this interface is enabled."/>
        </Property>
        <Property Name="PermanentMACAddress" Type="EthernetInterface.v1_0_0.MACAddress">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The permanent MAC address assigned to this interface, or port."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Property>
        <Property Name="MACAddress" Type="EthernetInterface.v1_0_0.MACAddress">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The currently configured MAC address of the interface, or logical port."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Property>
        <Property Name="SpeedMbps" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The current speed, in Mbit/s, of this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the link speed of the interface, in Mbit/s.  This property shall be writable only when the AutoNeg property is `false`."/>
          <Annotation Term="Measures.Unit" String="Mbit/s"/>
        </Property>
        <Property Name="AutoNeg" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether the speed and duplex are automatically negotiated and configured on this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the speed and duplex are automatically negotiated and configured on this interface."/>
        </Property>
        <Property Name="FullDuplex" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether full-duplex mode is enabled on the Ethernet connection for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether full-duplex mode is enabled on the Ethernet connection for this interface."/>
        </Property>
        <Property Name="MTUSize" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The currently configured maximum transmission unit (MTU), in bytes, on this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the size, in bytes, of largest protocol data unit (PDU) that can be passed in an Ethernet (MAC) frame on this interface."/>
        </Property>
        <Property Name="HostName" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The DNS host name, without any domain information."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain DNS host name for this interface."/>
        </Property>
        <Property Name="FQDN" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The complete, fully qualified domain name that DNS obtains for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the fully qualified domain name that DNS obtains for this interface."/>
        </Property>
        <Property Name="MaxIPv6StaticAddresses" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The maximum number of static IPv6 addresses that can be configured on this interface."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Property>
        <Property Name="VLAN" Type="VLanNetworkInterface.VLAN" Nullable="false">
          <Annotation Term="OData.Description" String="If this network interface supports more than one VLAN, this property is absent.  VLAN collections appear in the Links property of this resource."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Property>
        <Property Name="IPv4Addresses" Type="Collection(IPAddresses.IPv4Address)" Nullable="false">
          <Annotation Term="OData.Description" String="The IPv4 addresses currently in use by this interface."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Property>
        <Property Name="IPv6AddressPolicyTable" Type="Collection(EthernetInterface.v1_0_0.IPv6AddressPolicyEntry)">
          <Annotation Term="OData.Description" String="An array that represents the RFC6724-defined address selection policy table."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of objects that represent the RFC6724-defined address selection policy table."/>
        </Property>
        <Property Name="IPv6Addresses" Type="Collection(IPAddresses.IPv6Address)" Nullable="false">
          <Annotation Term="OData.Description" String="The IPv6 addresses currently in use by this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of objects that represent the IPv6 connection characteristics for this interface for any value of AddressOrigin."/>
        </Property>
        <Property Name="IPv6StaticAddresses" Type="Collection(IPAddresses.IPv6StaticAddress)">
          <Annotation Term="OData.Description" String="The IPv6 static addresses assigned to this interface.  See IPv6Addresses for the addresses in use by this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of objects that represent the IPv6 static connection characteristics for this interface."/>
        </Property>
        <Property Name="IPv6DefaultGateway" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The IPv6 default gateway address in use on this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the current IPv6 default gateway address in use on this interface."/>
          <Annotation Term="Redfish.IPv6Format"/>
        </Property>
        <Property Name="NameServers" Type="Collection(Edm.String)" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The DNS servers in use on this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the DNS servers in use on this interface."/>
        </Property>
        <NavigationProperty Name="VLANs" Type="VLanNetworkInterfaceCollection.VLanNetworkInterfaceCollection" ContainsTarget="true" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="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."/>
          <Annotation Term="OData.LongDescription" String="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."/>
          <Annotation Term="OData.AutoExpandReferences"/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
                <PropertyValue Property="Description" String="This property has been deprecated in favor of newer methods indicating multiple VLANs."/>
              </Record>
            </Collection>
          </Annotation>
        </NavigationProperty>
      </EntityType>

      <TypeDefinition Name="MACAddress" UnderlyingType="Edm.String">
        <Annotation Term="Validation.Pattern" String="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
      </TypeDefinition>

      <ComplexType Name="IPv6AddressPolicyEntry">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The entry in the RFC6724-defined address selection policy table."/>
        <Annotation Term="OData.LongDescription" String="This type shall describe an entry in the RFC6724-defined address selection policy table."/>
        <Property Name="Prefix" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The IPv6 address prefix, as defined in RFC6724, section 2.1."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv6 address prefix for this table entry, as defined in RFC6724, section 2.1."/>
          <Annotation Term="Redfish.IPv6Format"/>
        </Property>
        <Property Name="Precedence" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The IPv6 precedence, as defined in RFC6724, section 2.1."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv6 precedence value for this table entry, as defined in RFC6724, section 2.1."/>
          <Annotation Term="Validation.Minimum" Int="1"/>
          <Annotation Term="Validation.Maximum" Int="100"/>
        </Property>
        <Property Name="Label" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The IPv6 label, as defined in RFC6724, section 2.1."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv6 label value for this table entry, as defined in RFC6724, section 2.1."/>
          <Annotation Term="Validation.Minimum" Int="0"/>
          <Annotation Term="Validation.Maximum" Int="100"/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add explicit permissions annotations to all properties for clarity."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to change IPAddresses and VLanNetworkInterface structures to their abstract base types."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_4.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_5.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_6.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to allow for null to be used in several writable properties that are arrays.  It was also created to update the description for the SpeedMbps property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_7.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_8.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_10">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_9.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_11">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_10.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_12">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_11.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_0_13">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_12.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2016.2"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_0_2.EthernetInterface">
        <Property Name="LinkStatus" Type="EthernetInterface.v1_1_0.LinkStatus">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The link status of this interface, or port."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the link status of this interface, or port."/>
        </Property>
        <Property Name="Links" Type="EthernetInterface.v1_1_0.Links" Nullable="false">
          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
          <Annotation Term="Redfish.RequiredOnCreate"/>
        </Property>
      </EntityType>

      <EnumType Name="LinkStatus">
        <Member Name="LinkUp">
          <Annotation Term="OData.Description" String="The link is available for communication on this interface."/>
        </Member>
        <Member Name="NoLink">
          <Annotation Term="OData.Description" String="No link or connection is detected on this interface."/>
        </Member>
        <Member Name="LinkDown">
          <Annotation Term="OData.Description" String="No link is detected on this interface, but the interface is connected."/>
        </Member>
      </EnumType>

      <ComplexType Name="Links" BaseType="Resource.Links">
        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
        <NavigationProperty Name="Endpoints" Type="Collection(Endpoint.Endpoint)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An array of links to the endpoints that connect to this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type Endpoint with which this Ethernet interface is associated."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add explicit permissions annotations to all properties for clarity."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to remove the Nullable facet from NavigationProperties of the Collection type."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_1.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to change IPAddresses and VLanNetworkInterface structures to their abstract base types."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_4.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to allow for null to be used in several writable properties that are arrays.  It was also created to update the description for the SpeedMbps property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_5.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_6.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_7.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_8.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_10">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_9.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_1_11">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_10.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2016.3"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_1_1.EthernetInterface"/>

      <ComplexType Name="Links" BaseType="EthernetInterface.v1_1_0.Links">
        <NavigationProperty Name="HostInterface" Type="HostInterface.HostInterface" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The link to a Host Interface that is associated with this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="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."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to remove the Nullable facet on NavigationProperties of the Collection type."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to change IPAddresses and VLanNetworkInterface structures to their abstract base types."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_1.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to allow for null to be used in several writable properties that are arrays.  It was also created to update the description for the SpeedMbps property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_4.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_5.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_6.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_7.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_8.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_2_10">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_9.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2017.1"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_2_1.EthernetInterface">
        <Property Name="Actions" Type="EthernetInterface.v1_3_0.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
        </Property>
      </EntityType>

      <ComplexType Name="Links" BaseType="EthernetInterface.v1_2_0.Links">
        <NavigationProperty Name="Chassis" Type="Chassis.Chassis" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The link to the chassis that contains this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type Chassis that represent the physical container associated with this Ethernet interface."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>

      <ComplexType Name="Actions">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The available actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="EthernetInterface.v1_3_0.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OemActions">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to change IPAddresses and VLanNetworkInterface structures to their abstract base types."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_1.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to allow for null to be used in several writable properties that are arrays.  It was also created to update the description for the SpeedMbps property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_4.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_5.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_6.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_7.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_3_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_8.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2017.3"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_3_1.EthernetInterface">
        <Property Name="DHCPv4" Type="EthernetInterface.v1_4_0.DHCPv4Configuration" Nullable="false">
          <Annotation Term="OData.Description" String="DHCPv4 configuration for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the configuration of DHCP v4."/>
        </Property>
        <Property Name="DHCPv6" Type="EthernetInterface.v1_4_0.DHCPv6Configuration" Nullable="false">
          <Annotation Term="OData.Description" String="DHCPv6 configuration for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the configuration of DHCP v6."/>
        </Property>
        <Property Name="StatelessAddressAutoConfig" Type="EthernetInterface.v1_4_0.StatelessAddressAutoConfiguration" Nullable="false">
          <Annotation Term="OData.Description" String="Stateless address autoconfiguration (SLAAC) parameters for this interface."/>
          <Annotation Term="OData.LongDescription" String="This object shall contain the IPv4 and IPv6 stateless address automatic configuration (SLAAC) properties for this interface."/>
        </Property>
        <Property Name="IPv6StaticDefaultGateways" Type="Collection(IPAddresses.IPv6GatewayStaticAddress)">
          <Annotation Term="OData.Description" String="The IPv6 static default gateways for this interface."/>
          <Annotation Term="OData.LongDescription" String="The values in this array shall represent the IPv6 static default gateway addresses for this interface."/>
        </Property>
        <Property Name="StaticNameServers" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The statically-defined set of DNS server IPv4 and IPv6 addresses."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Property>
        <Property Name="IPv4StaticAddresses" Type="Collection(IPAddresses.IPv4Address)">
          <Annotation Term="OData.Description" String="The IPv4 static addresses assigned to this interface.  See IPv4Addresses for the addresses in use by this interface."/>
          <Annotation Term="OData.LongDescription" String="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 ."/>
        </Property>
      </EntityType>

      <ComplexType Name="DHCPv4Configuration">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="DHCPv4 configuration for this interface."/>
        <Annotation Term="OData.LongDescription" String="This type shall describe the configuration of DHCP v4."/>
        <Property Name="DHCPEnabled" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether DHCP v4 is enabled on this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether DHCP v4 is enabled for this Ethernet interface."/>
        </Property>
        <Property Name="UseDNSServers" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether this interface uses DHCP v4-supplied DNS servers."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses DHCP v4-supplied DNS servers."/>
        </Property>
        <Property Name="UseDomainName" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether this interface uses a DHCP v4-supplied domain name."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses a DHCP v4-supplied domain name."/>
        </Property>
        <Property Name="UseGateway" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether this interface uses a DHCP v4-supplied gateway."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses a DHCP v4-supplied gateway."/>
        </Property>
        <Property Name="UseNTPServers" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether the interface uses DHCP v4-supplied NTP servers."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses DHCP v4-supplied NTP servers."/>
        </Property>
        <Property Name="UseStaticRoutes" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether the interface uses DHCP v4-supplied static routes."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses a DHCP v4-supplied static routes."/>
        </Property>
      </ComplexType>

      <ComplexType Name="DHCPv6Configuration">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="DHCPv6 configuration for this interface."/>
        <Annotation Term="OData.LongDescription" String="This type shall describe the configuration of DHCP v6."/>
        <Property Name="OperatingMode" Type="EthernetInterface.v1_4_0.DHCPv6OperatingMode">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Determines the DHCPv6 operating mode for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall control the operating mode of DHCPv6 on this interface."/>
        </Property>
        <Property Name="UseDNSServers" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether the interface uses DHCP v6-supplied DNS servers."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses DHCP v6-supplied DNS servers."/>
        </Property>
        <Property Name="UseDomainName" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether this interface uses a DHCP v6-supplied domain name."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses a DHCP v6-supplied domain name."/>
        </Property>
        <Property Name="UseNTPServers" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether the interface uses DHCP v6-supplied NTP servers."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses DHCP v6-supplied NTP servers."/>
        </Property>
        <Property Name="UseRapidCommit" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="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."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the interface uses DHCP v6 rapid commit mode for stateful mode address assignments."/>
        </Property>
      </ComplexType>

      <EnumType Name="DHCPv6OperatingMode">
        <Member Name="Stateful">
          <Annotation Term="OData.Description" String="DHCPv6 stateful mode."/>
          <Annotation Term="OData.LongDescription" String="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`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_8_0"/>
                <PropertyValue Property="Description" String="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."/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="Stateless">
          <Annotation Term="OData.Description" String="DHCPv6 stateless mode."/>
          <Annotation Term="OData.LongDescription" String="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`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_8_0"/>
                <PropertyValue Property="Description" String="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."/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="Disabled">
          <Annotation Term="OData.Description" String="DHCPv6 is disabled."/>
          <Annotation Term="OData.LongDescription" String="DHCPv6 shall be disabled for this interface."/>
        </Member>
        <Member Name="Enabled">
          <Annotation Term="OData.Description" String="DHCPv6 is enabled."/>
          <Annotation Term="OData.LongDescription" String="DHCPv6 shall be enabled for this interface."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_8_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
      </EnumType>

      <ComplexType Name="StatelessAddressAutoConfiguration">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="Stateless address autoconfiguration (SLAAC) parameters for this interface."/>
        <Annotation Term="OData.LongDescription" String="This type shall describe the IPv4 and IPv6 stateless address autoconfiguration (SLAAC) for this interface."/>
        <Property Name="IPv4AutoConfigEnabled" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether IPv4 stateless address autoconfiguration (SLAAC) is enabled for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether IPv4 stateless address autoconfiguration (SLAAC) is enabled for this interface."/>
        </Property>
        <Property Name="IPv6AutoConfigEnabled" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether IPv6 stateless address autoconfiguration (SLAAC) is enabled for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether IPv6 stateless address autoconfiguration (SLAAC) is enabled for this interface."/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number, and corrects the type in IPv6StaticDefaultGateways."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version allows for null in StaticNameServers, forces the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_1.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to allow for null to be used in several writable properties that are arrays.  It was also created to update the description for the SpeedMbps property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_4.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_5.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_6.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_4_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_7.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2019.1"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_4_2.EthernetInterface"/>

      <ComplexType Name="DHCPv4Configuration" BaseType="EthernetInterface.v1_4_0.DHCPv4Configuration">
        <Property Name="FallbackAddress" Type="EthernetInterface.v1_5_0.DHCPFallback">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="DHCPv4 fallback address method for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the fallback address method of DHCPv4."/>
        </Property>
      </ComplexType>

      <EnumType Name="DHCPFallback">
        <Member Name="Static">
          <Annotation Term="OData.Description" String="Fall back to a static address specified by IPv4StaticAddresses."/>
          <Annotation Term="OData.LongDescription" String="DHCP shall fall back to a static address specified by IPv4StaticAddresses."/>
        </Member>
        <Member Name="AutoConfig">
          <Annotation Term="OData.Description" String="Fall back to an autoconfigured address."/>
          <Annotation Term="OData.LongDescription" String="DHCP shall fall back to an address generated by the implementation."/>
        </Member>
        <Member Name="None">
          <Annotation Term="OData.Description" String="Continue attempting DHCP without a fallback address."/>
          <Annotation Term="OData.LongDescription" String="DHCP shall continue trying to obtain an address without falling back to a fixed address."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to allow for null to be used in several writable properties that are arrays.  It was also created to update the description for the SpeedMbps property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_1.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_4.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_5_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_5.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_6_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2020.1"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_5_2.EthernetInterface">
        <Property Name="EthernetInterfaceType" Type="EthernetInterface.v1_6_0.EthernetDeviceType">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The type of interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the type of interface."/>
        </Property>
      </EntityType>

      <ComplexType Name="Links" BaseType="EthernetInterface.v1_3_0.Links">
        <NavigationProperty Name="NetworkDeviceFunction" Type="NetworkDeviceFunction.NetworkDeviceFunction">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="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."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type NetworkDeviceFunction and only be populated with the EthernetInterfaceType property is `Virtual`."/>
          <Annotation Term="OData.AutoExpandReferences"/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
                <PropertyValue Property="Description" String="This property has been deprecated in favor of NetworkDeviceFunctions as each EthernetInterface could represent more than one NetworkDeviceFunction."/>
              </Record>
            </Collection>
          </Annotation>
        </NavigationProperty>
      </ComplexType>

      <EnumType Name="EthernetDeviceType">
        <Member Name="Physical">
          <Annotation Term="OData.Description" String="A physical Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a physical traditional network interface."/>
        </Member>
        <Member Name="Virtual">
          <Annotation Term="OData.Description" String="A virtual Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="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."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_6_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_6_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_6_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of IP address properties."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_6_1.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_6_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_6_2.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_6_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_6_3.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_7_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.2"/>
      <Annotation Term="OData.Description" String="This version was created to deprecate several properties and add NetworkDeviceFunctions link collection."/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_6_4.EthernetInterface"/>

      <ComplexType Name="Links" BaseType="EthernetInterface.v1_6_0.Links">
        <NavigationProperty Name="NetworkDeviceFunctions" Type="Collection(NetworkDeviceFunction.NetworkDeviceFunction)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The link to the network device functions that comprise this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type NetworkDeviceFunction."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_8_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.2"/>
      <Annotation Term="OData.Description" String="This version was created to deprecate the `Stateless` and `Stateful` values for DHCPv6 OperatingMode and add `Enabled` to DHCPv6 OperatingMode."/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_7_0.EthernetInterface"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="EthernetInterface.v1_9_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2022.2"/>

      <EntityType Name="EthernetInterface" BaseType="EthernetInterface.v1_8_0.EthernetInterface">
        <Property Name="TeamMode" Type="EthernetInterface.v1_9_0.TeamMode">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The team mode for this interface."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the team mode for this interface.  If this property is not present, the value shall be assumed to be `None`."/>
        </Property>
      </EntityType>

      <ComplexType Name="Links" BaseType="EthernetInterface.v1_7_0.Links">
        <NavigationProperty Name="Ports" Type="Collection(Port.Port)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The links to the ports providing this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="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."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <NavigationProperty Name="RelatedInterfaces" Type="Collection(EthernetInterface.EthernetInterface)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The links to the Ethernet interfaces that comprise this Ethernet interface."/>
          <Annotation Term="OData.LongDescription" String="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."/>
          <Annotation Term="OData.AutoExpandReferences"/>
          <Annotation Term="Redfish.RequiredOnCreate"/>
        </NavigationProperty>
      </ComplexType>

      <EnumType Name="TeamMode">
        <Member Name="None">
          <Annotation Term="OData.Description" String="No teaming."/>
        </Member>
        <Member Name="RoundRobin">
          <Annotation Term="OData.Description" String="Packets are transmitted in sequential order from the teamed interfaces."/>
        </Member>
        <Member Name="ActiveBackup">
          <Annotation Term="OData.Description" String="One interface in the team is active and the others are kept in standby until a failure occurs."/>
        </Member>
        <Member Name="XOR">
          <Annotation Term="OData.Description" String="Transmitting is determined based upon a hash policy."/>
        </Member>
        <Member Name="Broadcast">
          <Annotation Term="OData.Description" String="Packets are transmitted on all interfaces in the team."/>
        </Member>
        <Member Name="IEEE802_3ad">
          <Annotation Term="OData.Description" String="The interfaces in the team create an IEEE802.3ad link aggregation group."/>
        </Member>
        <Member Name="AdaptiveTransmitLoadBalancing">
          <Annotation Term="OData.Description" String="Packets are transmitted based upon the current load of each interface in the team."/>
        </Member>
        <Member Name="AdaptiveLoadBalancing">
          <Annotation Term="OData.Description" String="Packets are transmitted and received based upon the current load of each interface in the team."/>
        </Member>
      </EnumType>
    </Schema>

  </edmx:DataServices>
</edmx:Edmx>
