1 kumpf 1.2 // ===================================================================
2 // Title: Network Systems 2.7
3 // Filename: Network27_Systems.mof
4 // Version: 2.7.0
5 // Status: Final
6 // Date: March 31, 2003
7 // ===================================================================
8 // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 kumpf 1.2 // ===================================================================
44 // Description: The Network Model extends the management concepts to
45 // represent protocol interfaces and network/protocol
46 // services. This file defines network "systems" such
47 // as ITU's M.3100 Network and autonomous systems.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.7
54 // CR696 - Add M.3100 concepts of Network and Pipe
55 // CR792 - Add the Composition qualifer to RoutersInAS
56 // CR982 - Removal of Experimental for preliminary to final
57 // ===================================================================
58
59 #pragma Locale ("en_US")
60
61
62 // ==================================================================
63 // Network
64 kumpf 1.2 // ==================================================================
65 [Version ("2.7.0"), Description (
66 "Network is a subclass of AdminDomain that groups "
67 "interconnected networking and computing objects capable of "
68 "exchanging information. Instances of CIM_Network can "
69 "represent an enterprise's global network or specific "
70 "connectivity domains within the global network. These "
71 "concepts are similar to those defined for the Network object "
72 "in ITU's M.3100 specification."),
73 MappingStrings {"Recommendation.ITU|M3100.Network"} ]
74 class CIM_Network : CIM_AdminDomain {
75 };
76
77
78 // ==================================================================
79 // AutonomousSystem
80 // ==================================================================
81 [Version ("2.6.0"), Description (
82 "An Autonomous System (AS) is a fundamental concept in "
83 "networking. An AS provides a structured view of routing by "
84 "segregating the system that is using routing (e.g., the "
85 kumpf 1.2 "Internet, or an extranet) into a set of separately "
86 "administered domains that each have their own independent "
87 "routing policies. These domains are called autonomous "
88 "systems. \n"
89 "\n"
90 "The classic definition of an AS, from RFC1771, is '...a set "
91 "of routers under a single technical administration, using "
92 "an interior gateway protocol and common metrics to route "
93 "packets within the AS, and using an exterior gateway "
94 "protocol to route packets to other ASs'. The RFC continues: "
95 "'Since this classic definition was developed, it has become "
96 "common for a single AS to use several interior gateway "
97 "protocols and sometimes several sets of metrics "
98 "within an AS. The use of the term Autonomous System here "
99 "stresses the fact that, even when multiple IGPs and metrics "
100 "are used, the administration of an AS appears to other ASs "
101 "to have a single coherent interior routing plan and "
102 "presents a consistent picture of what destinations are "
103 "reachable through it.'") ]
104 class CIM_AutonomousSystem : CIM_AdminDomain {
105
106 kumpf 1.2 [Description (
107 "An ASNumber is an integer between 1 and 65535, with the "
108 "range 64512 through 65535 reserved for private use. Every "
109 "AS has a unique AS number, which is assigned to it by an "
110 "Internet Registry or a provider. IANA assigns and "
111 "administers AS numbers.") ]
112 uint16 ASNumber;
113
114 [Description (
115 "IsSingleHomed is a boolean that, when its value is TRUE, "
116 "indicates that this AS reaches networks outside of its "
117 "domain through a single exit point.") ]
118 boolean IsSingleHomed;
119
120 [Description (
121 "IsTransit is a boolean that, when its value is TRUE, "
122 "indicates that this AS will advertise routes that it "
123 "learns from other ASs. A non-transit AS will only "
124 "advertise its own routes.") ]
125 boolean IsTransit;
126
127 kumpf 1.2 [Description (
128 "RequireIGPSync is a boolean that, when its value is TRUE, "
129 "indicates that this AS must obey the following rule: a "
130 "router should not advertise destinations learned from "
131 "internal neighbors to external destinations unless "
132 "those destinations are also known via some internal gateway "
133 "protocol. Otherwise, a router may receive traffic that "
134 "cannot yet be routed. However, since this is a costly "
135 "choice, it is common practice to allow this rule to be "
136 "broken under certain carefully controlled circumstances.") ]
137 boolean RequireIGPSync;
138
139 [Description (
140 "RoutingUpdateSource defines how routing information is to "
141 "be injected. Statically injected routes are maintained "
142 "by the routing table and are independent of the "
143 "status of the networks to which they refer. This is done "
144 "simply by defining static routes in the routing table. "
145 "Dynamically injected routes are of two types. "
146 "Dynamic routes refer to distributing all of the IGP routes. "
147 "Semi-dynamic routes define a set of specific IGP "
148 kumpf 1.2 "routes that will be injected."),
149 ValueMap {"0", "1", "2", "3"},
150 Values {"Unknown", "Static", "Dynamic", "Semi-Dynamic"} ]
151 uint16 RoutingUpdateSource;
152
153 [Description (
154 "Route aggregation refers to summarizing ranges of routes "
155 "into one or more aggregate routes. This is done to minimize "
156 "the number of routes in the global routing table. A "
157 "potential drawback is that specific path information (e.g., "
158 "the Path attribute value) is lost, which may lead to "
159 "potential routing loops. There are a variety of ways to "
160 "ensure that this does not happen. Note that BGP4 "
161 "is required to do this. \n"
162 "\n"
163 "There are many ways to form aggregate routes. The following "
164 "are the most popular: 'Aggregate only', where only the "
165 "aggregate is advertised, and all of its more specific "
166 "routes are suppressed; 'Aggregate Plus Specific Routes', "
167 "where both the aggregate as well as its more specific "
168 "routes are advertised (e.g., send the aggregate to the NAP, "
169 kumpf 1.2 "but send the more specific routes to providers); "
170 "'Aggregate Based on a Subset of Specific Routes', where the "
171 "aggregate route is formed by looking at certain more "
172 "specific routes and forming an aggregate on them, "
173 "suppressing all others."),
174 ValueMap {"0", "1", "2", "3", "4"},
175 Values {"Unknown", "None", "Aggregate Only ",
176 "Aggregate And All Specific Routes ",
177 "Aggregate Based on Subset of Specific Routes"} ]
178 uint16 AggregationType;
179 };
180
181 // ==================================================================
182 // RoutersInAS
183 // ==================================================================
184 [Association, Aggregation, Composition, Version ("2.7.0"),
185 Description (
186 "This aggregation establishes 'whole-part' relationships "
187 "between an AutonomousSystem and the routers that it "
188 "contains. In addition, the routers in the AS share common "
189 "configuration information, and are commonly administered.") ]
190 kumpf 1.2 class CIM_RoutersInAS : CIM_SystemComponent {
191
192 [Override ("GroupComponent"), Aggregate, Max (1),
193 Description (
194 "The AutonomousSystem that aggregates the routers belonging "
195 "to it and administers them.") ]
196 CIM_AutonomousSystem REF GroupComponent;
197
198 [Override ("PartComponent"), Description (
199 "The Routers that are contained in the AS.") ]
200 CIM_ComputerSystem REF PartComponent;
201
202 [Description (
203 "This is an array of strings that contain the BGP attributes "
204 "supported by this router.") ]
205 string BGPSupportedAttributes[];
206
207 [Description (
208 "TRUE means that the community value of this router is added "
209 "to the existing community value, and FALSE means that the "
210 "community value of this router replaces the existing "
211 kumpf 1.2 "community value.") ]
212 boolean AddCommunityValue;
213
214 [Description (
215 "This is an enumeration that defines the function, from the "
216 "point of view of BGP, of this router."),
217 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
218 Values {"Unknown", "Other", "Conventional BGP Speaker",
219 "Route Reflector", "Router Reflector Client",
220 "Route Reflector Non-Client", "Peer Group Member",
221 "Confederation Member"},
222 ModelCorrespondence {
223 "CIM_BGPService.OtherRoleDescription"} ]
224 uint16 Role;
225
226 [MaxLen(64), Description (
227 "A string describing the type of function that this router "
228 "has in its AS when the value of the Role property of this "
229 "class is set to 1 (i.e., \"Other\"). The format of the string "
230 "inserted in this property should be similar in format to "
231 "the values defined for the Role property. This property "
232 kumpf 1.2 "should be set to NULL when the Role property is any value "
233 "other than 1."),
234 ModelCorrespondence {"CIM_BGPService.Role"} ]
235 string OtherRoleDescription;
236 };
237
238
239 // ===================================================================
240 // end of file
241 // ===================================================================
|