1 marek 1.1 // Copyright (c) 2009 DMTF. All rights reserved.
2 [Version ( "2.22.0" ),
3 UMLPackagePath ( "CIM::Device::Controller" ),
4 Description (
5 "A device that is a replacement for physical cables and allows "
6 "internal network physical ports in a chassis or rack to be "
7 "made accessible from the external network. This may a fixed "
8 "internal port to external port relationship, or a configurable "
9 "mapping of internal ports to output ports via a cross-point "
10 "switching function. The mapping between an internal and "
11 "external port is modeled using the InternalPorts and "
12 "ExternalPorts array properties. Corresponding array indices of "
13 "the InternalPorts and ExternalPorts properties shall contain "
14 "the port number of the internal port and external port, "
15 "respectively in a mapping pair. Usage of this class is "
16 "appropriate when modeling a simple n x n pass through module "
17 "where the protocols supported by the module are not the target "
18 "of management. Implementations wishing to enable management of "
19 "the network function should instrument the appropriate device "
20 "and network models. The tie into the device and network models "
21 "is accomplished by correlating the port numbers in this class\' "
22 marek 1.1 "internal and external port arrays with CIM_NetworkPort\'s "
23 "PortNumber property. The following is an example of how this "
24 "class could be used: \n"
25 "For a given instance, the value of NumberOfPorts is 3. This "
26 "indicates that there are 3 internal ports and 3 external "
27 "ports. Internal port 2 is mapped to external port 3. Internal "
28 "ports 1 and 3 are not mapped to an external port. External "
29 "ports 1 and 2 are not mapped to internal ports. For this "
30 "instance the length of the InternalPorts and ExternalPorts "
31 "arrays shall both be one. The first array position in "
32 "InternalPortshall contain the value 2. The first array "
33 "position in ExternalPorts shall contain the value 3." )]
34 class CIM_PassThroughModule : CIM_LogicalModule {
35
36 [Description (
37 "An enumeration of the link technologies that can be "
38 "passed- through by this device. When set to 1 (\"Other\"), "
39 "the property OtherLinkTechnologies contains string "
40 "descriptions of the alternative link types." ),
41 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
42 "10", "11", "12..32767", "32768..65535" },
43 marek 1.1 Values { "Unknown", "Other", "Ethernet", "IB", "FC", "FDDI",
44 "ATM", "Token Ring", "Frame Relay", "Infrared",
45 "BlueTooth", "Wireless LAN", "DMTF Reserved",
46 "Vendor Specified" },
47 ArrayType ( "Indexed" ),
48 ModelCorrespondence {
49 "CIM_PassThroughModule.OtherLinkTechnologies" }]
50 uint16 LinkTechnologies[];
51
52 [Description (
53 "An array of string values describing the supported "
54 "technologies when an entry in the LinkTechnologies array "
55 "is set to 1, \"Other\"." ),
56 ArrayType ( "Indexed" ),
57 ModelCorrespondence { "CIM_PassThroughModule.LinkTechnologies" }]
58 string OtherLinkTechnologies[];
59
60 [Description (
61 "Boolean indicating if the port assignments on this "
62 "switch are software programmable or not." )]
63 boolean IsProgrammable = false;
64 marek 1.1
65 [Description (
66 "A PassThroughModule is a simple module with 1-1 "
67 "correspondence between internal and external ports. This "
68 "number represents the number of external ports. By "
69 "virtue of there being a 1-1 correspondence of ports, it "
70 "also represents the number of internal ports. \n"
71 "The ports are numbered 1 through N." )]
72 uint16 NumberOfPorts;
73
74 [Description (
75 "An indexed array containing the internal port numbers. "
76 "Corresponding external ports are in the ExternalPorts "
77 "array. Only internal ports which are mapped to an "
78 "external port shall appear in the array." ),
79 ArrayType ( "Indexed" ),
80 ModelCorrespondence { "CIM_PassThroughModule.ExternalPorts",
81 "CIM_NetworkPort.PortNumber" }]
82 uint16 InternalPorts[];
83
84 [Description (
85 marek 1.1 "An indexed array containing the external ports. "
86 "Corresponding internal ports are in the InternalPorts "
87 "array. Only external ports which are mapped to an "
88 "internal port shall appear in the array." ),
89 ArrayType ( "Indexed" ),
90 ModelCorrespondence { "CIM_PassThroughModule.InternalPorts",
91 "CIM_NetworkPort.PortNumber" }]
92 uint16 ExternalPorts[];
93
94
95 [Description (
96 "If the switch is software programmable, then this method "
97 "is called to assign an internal port to an external "
98 "port. \n"
99 "If 0 is returned, the requested status of the mapping of "
100 "InternalPort and ExternalPort is in effect. That is, an "
101 "attempt to unmap two ports that are not mapped to any "
102 "other ports or an attempt to map two ports which are "
103 "already mapped to each other shall return 0, because the "
104 "resultant state of the mapping is equivalent to the "
105 "client request. For a mapping operation, if either "
106 marek 1.1 "target port is already mapped to a different port, the "
107 "implementation shall first unmap it. An attempt to unmap "
108 "two ports that are not mapped to each other shall fail "
109 "with an error of \"Not Mapped\"." ),
110 ValueMap { "0", "1", "2", "3", "4", "5..32767", "32768..65535" },
111 Values { "Completed with No Error", "Not Supported",
112 "Unknown/Unspecified Error", "Busy", "Not Mapped",
113 "DMTF Reserved", "Vendor Reserved" }]
114 uint32 AssignPorts(
115 [IN, Description (
116 "Boolean indicating if the ports are to be unmapped "
117 "or mapped. If \"True\", InternalPorts and "
118 "ExternalPorts shall be updated to contain a "
119 "mapping of InternalPort to ExternalPort. If "
120 "\"False\", InternalPorts and ExternalPorts shall "
121 "be updated to remove the mapping if one exists." )]
122 boolean Mapped,
123 [IN, Description (
124 "The mapping for this internal port shall be updated."
125 )]
126 uint16 InternalPort,
127 marek 1.1 [IN, Description (
128 "The mapping for this external port shall be updated."
129 )]
130 uint16 ExternalPort);
131
132 };
|