// Copyright (c) 2012 DMTF.  All rights reserved.
   [Version ( "2.35.0" ), 
    UMLPackagePath ( "CIM::Device::Ports" ), 
    Description ( "Capabilities and management of an EthernetPort." ), 
    ModelCorrespondence { "CIM_NetworkPort.OtherNetworkPortType" }]
class CIM_EthernetPort : CIM_NetworkPort {

      [Override ( "PortType" ), 
       Description ( 
          "The specific mode that is currently enabled for the "
          "Port. When set to 1 (\"Other\"), the related property "
          "OtherPortType contains a string description of the type "
          "of port." ), 
       ValueMap { "0", "1", "50", "51", "52", "53", "54", "55", 
          "56", "57", "58", "59", "60", "61", "62", "63", "100", 
          "101", "102", "103", "104", "105", "106", "107", "108", 
          "109", "110", "111", "112", "200", "201", "202", "203", 
          "204", "300", "301", "302", "303", "304", "305", "306", 
          "16000..65535" }, 
       Values { "Unknown", "Other", "10BaseT", "10-100BaseT", 
          "100BaseT", "1000BaseT", "2500BaseT", "10GBaseT", 
          "10GBase-CX4", "1000Base-KX", "10GBase-KX4", "10GBase-KR", 
          "1000-10GBase-KX", "1000Base-KX10GBase-KX4KR", 
          "10-100-1000BaseT", "100-1000-10GBaseT", "100Base-FX", 
          "100Base-SX", "1000Base-SX", "1000Base-LX", "1000Base-CX", 
          "10GBase-SR", "10GBase-SW", "10GBase-LX4", "10GBase-LR", 
          "10GBase-LW", "10GBase-ER", "10GBase-EW", "10GBase-LRM", 
          "40GBase-KR4", "40GBase-CR4", "40GBase-SR4", "40GBase-FR", 
          "40GBase-LR4", "100GBase-CR10", "100GBase-SR10", 
          "100GBase-LR4", "100GBase-ER4", "100GBase-KR4", 
          "100GBase-CR4", "100GBase-KP4", "Vendor Reserved" }, 
       ModelCorrespondence { "CIM_NetworkPort.OtherNetworkPortType" }]
   uint16 PortType;

      [Override ( "NetworkAddresses" ), 
       Description ( 
          "Ethernet/802.3 MAC addresses formatted as twelve "
          "hexadecimal digits (for example, \"010203040506\"), with "
          "each pair representing one of the six octets of the MAC "
          "address in \"canonical\" bit order. (Therefore, the "
          "Group address bit is found in the low order bit of the "
          "first character of the string.)" )]
   string NetworkAddresses[];

      [Description ( 
          "The maximum size of the INFO (non-MAC) field that will "
          "be received or transmitted." ), 
       MappingStrings { "MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo" }]
   uint32 MaxDataSize;

      [Description ( 
          "Capabilities of the EthernetPort. For example, the "
          "Device might support AlertOnLan, WakeOnLan, Load "
          "Balancing, or FailOver. If failover or load balancing "
          "capabilities are listed, a SpareGroup (failover) or "
          "ExtraCapacityGroup (load balancing) should also be "
          "defined to completely describe the capability. LLDP "
          "indicates that this Ethernet Port is capable of "
          "supporting Link Layer Discovery Protocol (LLDP) "
          "communications. PoE indicates that this Ethernet Port is "
          "capable of supporting Power over Ethernet (PoE). EEE "
          "indicates that this Ethernet Port is capable of "
          "supporting Energy Efficient Ethernet (EEE). DCE "
          "indicates that this Ethernet Port is capable of "
          "supporting Data Center Ethernet. Data Center Ethernet "
          "requires support for Prioritiy-Based Flow Control (PFC), "
          "Enhanced Transmission Selection (ETS), and Data Center "
          "Bridging eXchange (DCBX) protocol. VDP indicates that "
          "this Ethernet Port is capable of supporting Virtual "
          "Station Interface (VSI) Discovery Protocol. S-Channel "
          "indicates that this Ethernet Port is capable of "
          "supporting S-Channel." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", ".." }, 
       Values { "Unknown", "Other", "AlertOnLan", "WakeOnLan", 
          "FailOver", "LoadBalancing", "LLDP", "PoE", "EEE", "DCE", 
          "VDP", "S-Channel", "DMTF Reserved" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_EthernetPort.CapabilityDescriptions" }]
   uint16 Capabilities[];

      [Description ( 
          "An array of free-form strings that provides more "
          "detailed explanations for any of the EthernetPort "
          "features that are indicated in the Capabilities array. "
          "Note, each entry of this array is related to the entry "
          "in the Capabilities array that is located at the same "
          "index." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_EthernetPort.Capabilities" }]
   string CapabilityDescriptions[];

      [Description ( 
          "Specifies which capabilities are enabled from the list "
          "of all supported ones, which are defined in the "
          "Capabilities array. For details on each capability, see "
          "the description of each capability in the description of "
          "property Capabilities." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", ".." }, 
       Values { "Unknown", "Other", "AlertOnLan", "WakeOnLan", 
          "FailOver", "LoadBalancing", "LLDP", "PoE", "EEE", "DCE", 
          "VDP", "S-Channel", "DMTF Reserved" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_EthernetPort.Capabilities", 
          "CIM_EthernetPort.OtherEnabledCapabilities" }]
   uint16 EnabledCapabilities[];

      [Description ( 
          "An array of free-form strings that provides more "
          "detailed explanations for any of the enabled "
          "capabilities that are specified as \'Other\'." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_EthernetPort.EnabledCapabilities" }]
   string OtherEnabledCapabilities[];

      [Write, Description ( 
          "Each ethernet port on an ethernet switch has a VLAN ID "
          "that is called Port VLAN ID (PVID). The PVID will be "
          "applied to the frames which are untagged or tagged with "
          "priority ( vid = 0 ). This property indicates the PVID "
          "of the Ethernet port." )]
   uint16 PVID;

      [Description ( 
          "This property indicates the Power over Ethernet power entity type."
           ), 
       ValueMap { "0", "1", "2", "3", ".." }, 
       Values { "None", "Other", "Power Sourcing Equipment", 
          "Powered Device", "DMTF Reserved" }]
   uint16 PoEPowerEntityType;

      [Description ( 
          "A string array used to discriminate the supported "
          "context of this EthernetPort. The following strings are "
          "currently defined: \n"
          "\'SNIA:None\' - indicates this EthernetPort does not "
          "provide support for any specific function.\n"
          "\'SNIA:iSCSI\' - indicates this EthernetPort provides "
          "support for iSCSI.\n"
          "\'SNIA:FCoE\' - indicates that this EthernetPort "
          "provides support for FC over Ethernet - FCoE." )]
   string PortDiscriminator[];


};
