<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  NetworkAdapterMetrics v1.1.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-2026 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://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/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.v1_0_0"/>
  </edmx:Reference>

  <edmx:DataServices>

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

      <EntityType Name="NetworkAdapterMetrics" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The NetworkAdapterMetrics schema contains usage and health statistics for a network adapter."/>
        <Annotation Term="OData.LongDescription" String="This resource shall represent the network metrics for a single network adapter in a Redfish implementation."/>
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/Metrics</String>
          </Collection>
        </Annotation>
      </EntityType>

      <Action Name="ResetMetrics" IsBound="true">
        <Parameter Name="NetworkAdapterMetrics" Type="NetworkAdapterMetrics.v1_0_0.Actions"/>
        <Annotation Term="OData.Description" String="This action resets the summary metrics related to this device."/>
        <Annotation Term="OData.LongDescription" String="This action shall reset any time intervals or counted values for this device."/>
        <Annotation Term="Redfish.Revisions">
          <Collection>
            <Record>
              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
              <PropertyValue Property="Version" String="v1_1_0"/>
            </Record>
          </Collection>
        </Annotation>
      </Action>
    </Schema>

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

      <EntityType Name="NetworkAdapterMetrics" BaseType="NetworkAdapterMetrics.NetworkAdapterMetrics">
        <Property Name="HostBusRXPercent" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The host bus, such as PCIe, RX utilization as a percentage."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the host bus, such as PCIe, RX utilization as a percentage, typically `0` to `100`, which is calculated by dividing the total bytes received by the theoretical max."/>
          <Annotation Term="Validation.Minimum" Int="0"/>
          <Annotation Term="Measures.Unit" String="%"/>
        </Property>
        <Property Name="HostBusTXPercent" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The host bus, such as PCIe, TX utilization as a percentage."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the host bus, such as PCIe, TX utilization as a percentage, typically `0` to `100`, which is calculated by dividing the total bytes transmitted by the theoretical max."/>
          <Annotation Term="Validation.Minimum" Int="0"/>
          <Annotation Term="Measures.Unit" String="%"/>
        </Property>
        <Property Name="CPUCorePercent" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The device CPU core utilization as a percentage."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the device CPU core utilization as a percentage, typically `0` to `100`."/>
          <Annotation Term="Validation.Minimum" Int="0"/>
          <Annotation Term="Measures.Unit" String="%"/>
        </Property>
        <Property Name="NCSIRXFrames" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of NC-SI frames received since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of NC-SI frames received since reset, including both passthrough and non-passthrough traffic."/>
        </Property>
        <Property Name="NCSITXFrames" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of NC-SI frames sent since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of NC-SI frames sent since reset, including both passthrough and non-passthrough traffic."/>
        </Property>
        <Property Name="NCSIRXBytes" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of NC-SI bytes received since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of NC-SI bytes received since reset, including both passthrough and non-passthrough traffic."/>
          <Annotation Term="Measures.Unit" String="By"/>
        </Property>
        <Property Name="NCSITXBytes" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of NC-SI bytes sent since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of NC-SI bytes sent since reset, including both passthrough and non-passthrough traffic."/>
          <Annotation Term="Measures.Unit" String="By"/>
        </Property>
        <Property Name="RXBytes" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of bytes received since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of bytes received since reset, including host and remote management passthrough traffic, and inclusive of all protocol overhead."/>
          <Annotation Term="Measures.Unit" String="By"/>
        </Property>
        <Property Name="RXMulticastFrames" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of good multicast frames received since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of good multicast frames received since reset."/>
        </Property>
        <Property Name="RXUnicastFrames" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of good unicast frames received since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of good unicast frames received since reset."/>
        </Property>
        <Property Name="TXBytes" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of bytes transmitted since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of bytes transmitted since reset, including host and remote management passthrough traffic, and inclusive of all protocol overhead."/>
          <Annotation Term="Measures.Unit" String="By"/>
        </Property>
        <Property Name="TXMulticastFrames" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of good multicast frames transmitted since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of good multicast frames transmitted since reset."/>
        </Property>
        <Property Name="TXUnicastFrames" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total number of good unicast frames transmitted since reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of good unicast frames transmitted since reset."/>
        </Property>
        <Property Name="Actions" Type="NetworkAdapterMetrics.v1_0_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="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="NetworkAdapterMetrics.v1_0_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="NetworkAdapterMetrics.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the range of possible values for properties with percent units."/>
      <EntityType Name="NetworkAdapterMetrics" BaseType="NetworkAdapterMetrics.v1_0_0.NetworkAdapterMetrics"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="NetworkAdapterMetrics.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
      <EntityType Name="NetworkAdapterMetrics" BaseType="NetworkAdapterMetrics.v1_0_1.NetworkAdapterMetrics"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="NetworkAdapterMetrics.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2024.1"/>
      <Annotation Term="OData.Description" String="This version was created to add the `ResetMetrics` action."/>

      <EntityType Name="NetworkAdapterMetrics" BaseType="NetworkAdapterMetrics.v1_0_2.NetworkAdapterMetrics"/>
    </Schema>

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