# Class CIM_PassThroughModule
extends CIM_LogicalModule

A device that is a replacement for physical cables and allows internal network physical ports in a chassis or rack to be made accessible from the external network. This may a fixed internal port to external port relationship, or a configurable mapping of internal ports to output ports via a cross-point switching function. The mapping between an internal and external port is modeled using the InternalPorts and ExternalPorts array properties. Corresponding array indices of the InternalPorts and ExternalPorts properties shall contain the port number of the internal port and external port, respectively in a mapping pair. Usage of this class is appropriate when modeling a simple n x n pass through module where the protocols supported by the module are not the target of management. Implementations wishing to enable management of the network function should instrument the appropriate device and network models. The tie into the device and network models is accomplished by correlating the port numbers in this class' internal and external port arrays with CIM_NetworkPort's PortNumber property. The following is an example of how this class could be used: For a given instance, the value of NumberOfPorts is 3. This indicates that there are 3 internal ports and 3 external ports. Internal port 2 is mapped to external port 3. Internal ports 1 and 3 are not mapped to an external port. External ports 1 and 2 are not mapped to internal ports. For this instance the length of the InternalPorts and ExternalPorts arrays shall both be one. The first array position in InternalPortshall contain the value 2. The first array position in ExternalPorts shall contain the value 3.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_AllocatedLogicalElement
|
+--CIM_LogicalDevice
|
+--CIM_LogicalModule
|
+--CIM_PassThroughModule

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A device that is a replacement for physical cables and allows internal network physical ports in a chassis or rack to be made accessible from the external network. This may a fixed internal port to external port relationship, or a configurable mapping of internal ports to output ports via a cross-point switching function. The mapping between an internal and external port is modeled using the InternalPorts and ExternalPorts array properties. Corresponding array indices of the InternalPorts and ExternalPorts properties shall contain the port number of the internal port and external port, respectively in a mapping pair. Usage of this class is appropriate when modeling a simple n x n pass through module where the protocols supported by the module are not the target of management. Implementations wishing to enable management of the network function should instrument the appropriate device and network models. The tie into the device and network models is accomplished by correlating the port numbers in this class' internal and external port arrays with CIM_NetworkPort's PortNumber property. The following is an example of how this class could be used: For a given instance, the value of NumberOfPorts is 3. This indicates that there are 3 internal ports and 3 external ports. Internal port 2 is mapped to external port 3. Internal ports 1 and 3 are not mapped to an external port. External ports 1 and 2 are not mapped to internal ports. For this instance the length of the InternalPorts and ExternalPorts arrays shall both be one. The first array position in InternalPortshall contain the value 2. The first array position in ExternalPorts shall contain the value 3.
UMLPackagePath | string | CIM::Device::Controller
Version | string | 2.22.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
IsProgrammable | boolean | false
Description | string | Boolean indicating if the port assignments on this switch are software programmable or not.
NumberOfPorts | uint16 |
Description | string | A PassThroughModule is a simple module with 1-1 correspondence between internal and external ports. This number represents the number of external ports. By virtue of there being a 1-1 correspondence of ports, it also represents the number of internal ports. The ports are numbered 1 through N.
ExternalPorts | uint16[] |
ArrayType | string | Indexed
Description | string | An indexed array containing the external ports. Corresponding internal ports are in the InternalPorts array. Only external ports which are mapped to an internal port shall appear in the array.
ModelCorrespondence | string | CIM_PassThroughModule.InternalPorts, CIM_NetworkPort.PortNumber
InternalPorts | uint16[] |
ArrayType | string | Indexed
Description | string | An indexed array containing the internal port numbers. Corresponding external ports are in the ExternalPorts array. Only internal ports which are mapped to an external port shall appear in the array.
ModelCorrespondence | string | CIM_PassThroughModule.ExternalPorts, CIM_NetworkPort.PortNumber
LinkTechnologies | uint16[] |
ArrayType | string | Indexed
Description | string | An enumeration of the link technologies that can be passed- through by this device. When set to 1 ("Other"), the property OtherLinkTechnologies contains string descriptions of the alternative link types.
ModelCorrespondence | string | CIM_PassThroughModule.OtherLinkTechnologies
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12..32767, 32768..65535
Values | string | Unknown, Other, Ethernet, IB, FC, FDDI, ATM, Token Ring, Frame Relay, Infrared, BlueTooth, Wireless LAN, DMTF Reserved, Vendor Specified
OtherLinkTechnologies | string[] |
ArrayType | string | Indexed
Description | string | An array of string values describing the supported technologies when an entry in the LinkTechnologies array is set to 1, "Other".
ModelCorrespondence | string | CIM_PassThroughModule.LinkTechnologies

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
AllocationState | string | CIM_LogicalDevice
Availability | uint16 | CIM_LogicalDevice
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_LogicalDevice
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
DeviceID | string | CIM_LogicalDevice
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
ErrorCleared | boolean | CIM_LogicalDevice
ErrorDescription | string | CIM_LogicalDevice
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
LastErrorCode | uint32 | CIM_LogicalDevice
LocationIndicator | uint16 | CIM_LogicalDevice
LogicalModuleType | uint16 | CIM_LogicalModule
MaxQuiesceTime | uint64 | CIM_LogicalDevice
ModuleNumber | uint16 | CIM_LogicalModule
Name | string | CIM_ManagedSystemElement
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
OtherLogicalModuleTypeDescription | string | CIM_LogicalModule
PowerManagementSupported | boolean | CIM_LogicalDevice
PowerOnHours | uint64 | CIM_LogicalDevice
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Status | string | CIM_ManagedSystemElement
StatusInfo | uint16 | CIM_LogicalDevice
SystemCreationClassName | string | CIM_LogicalDevice
SystemName | string | CIM_LogicalDevice
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TotalPowerOnHours | uint64 | CIM_LogicalDevice
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AdditionalAvailability | uint16[] | CIM_LogicalDevice
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
IdentifyingDescriptions | string[] | CIM_LogicalDevice
OperationalStatus | uint16[] | CIM_ManagedSystemElement
OtherIdentifyingInfo | string[] | CIM_LogicalDevice
PowerManagementCapabilities | uint16[] | CIM_LogicalDevice
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### AssignPorts (uint32)

#### Method Qualifiers (AssignPorts)

Name | Data Type | Value
--- | --- | ---
Description | string | If the switch is software programmable, then this method is called to assign an internal port to an external port. If 0 is returned, the requested status of the mapping of InternalPort and ExternalPort is in effect. That is, an attempt to unmap two ports that are not mapped to any other ports or an attempt to map two ports which are already mapped to each other shall return 0, because the resultant state of the mapping is equivalent to the client request. For a mapping operation, if either target port is already mapped to a different port, the implementation shall first unmap it. An attempt to unmap two ports that are not mapped to each other shall fail with an error of "Not Mapped".
ValueMap | string | 0, 1, 2, 3, 4, 5..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown/Unspecified Error, Busy, Not Mapped, DMTF Reserved, Vendor Reserved

#### Method Parameters (AssignPorts)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ExternalPort | uint16
Description | string | The mapping for this external port shall be updated.
IN | boolean | true
InternalPort | uint16
Description | string | The mapping for this internal port shall be updated.
IN | boolean | true
Mapped | boolean
Description | string | Boolean indicating if the ports are to be unmapped or mapped. If "True", InternalPorts and ExternalPorts shall be updated to contain a mapping of InternalPort to ExternalPort. If "False", InternalPorts and ExternalPorts shall be updated to remove the mapping if one exists.
IN | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
EnableDevice | uint32 | CIM_LogicalDevice
OnlineDevice | uint32 | CIM_LogicalDevice
QuiesceDevice | uint32 | CIM_LogicalDevice
RequestStateChange | uint32 | CIM_EnabledLogicalElement
Reset | uint32 | CIM_LogicalDevice
RestoreProperties | uint32 | CIM_LogicalDevice
SaveProperties | uint32 | CIM_LogicalDevice
SetPowerState | uint32 | CIM_LogicalDevice