1 karl 1.1 // ===================================================================
2 // Title: Network Systems 2.7
3 // Filename: Network27_Systems.mof
4 // Version: 2.7.0
5 // Status: Preliminary
6 // Date: 07/22/2002
7 // ===================================================================
8 // Copyright 1998-2002 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 karl 1.1 // 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 karl 1.1 // ===================================================================
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 // ===================================================================
57
58 #pragma Locale ("en_US")
59
60
61 // ==================================================================
62 // Network
63 // ==================================================================
64 karl 1.1 [Experimental, Version ("2.7.0"), Description (
65 "Network is a subclass of AdminDomain that groups "
66 "interconnected networking and computing objects capable of "
67 "exchanging information. Instances of CIM_Network can "
68 "represent an enterprise's global network or specific "
69 "connectivity domains within the global network. These "
70 "concepts are similar to those defined for the Network object "
71 "in ITU's M.3100 specification."),
72 MappingStrings {"Recommendation.ITU|M3100.Network"} ]
73 class CIM_Network : CIM_AdminDomain {
74 };
75
76
77 // ==================================================================
78 // AutonomousSystem
79 // ==================================================================
80 [Version ("2.6.0"), Description (
81 "An Autonomous System (AS) is a fundamental concept in "
82 "networking. An AS provides a structured view of routing by "
83 "segregating the system that is using routing (e.g., the "
84 "Internet, or an extranet) into a set of separately "
85 karl 1.1 "administered domains that each have their own independent "
86 "routing policies. These domains are called autonomous "
87 "systems. \n"
88 "\n"
89 "The classic definition of an AS, from RFC1771, is '...a set "
90 "of routers under a single technical administration, using "
91 "an interior gateway protocol and common metrics to route "
92 "packets within the AS, and using an exterior gateway "
93 "protocol to route packets to other ASs'. The RFC continues: "
94 "'Since this classic definition was developed, it has become "
95 "common for a single AS to use several interior gateway "
96 "protocols and sometimes several sets of metrics "
97 "within an AS. The use of the term Autonomous System here "
98 "stresses the fact that, even when multiple IGPs and metrics "
99 "are used, the administration of an AS appears to other ASs "
100 "to have a single coherent interior routing plan and "
101 "presents a consistent picture of what destinations are "
102 "reachable through it.'") ]
103 class CIM_AutonomousSystem : CIM_AdminDomain {
104
105 [Description (
106 karl 1.1 "An ASNumber is an integer between 1 and 65535, with the "
107 "range 64512 through 65535 reserved for private use. Every "
108 "AS has a unique AS number, which is assigned to it by an "
109 "Internet Registry or a provider. IANA assigns and "
110 "administers AS numbers.") ]
111 uint16 ASNumber;
112
113 [Description (
114 "IsSingleHomed is a boolean that, when its value is TRUE, "
115 "indicates that this AS reaches networks outside of its "
116 "domain through a single exit point.") ]
117 boolean IsSingleHomed;
118
119 [Description (
120 "IsTransit is a boolean that, when its value is TRUE, "
121 "indicates that this AS will advertise routes that it "
122 "learns from other ASs. A non-transit AS will only "
123 "advertise its own routes.") ]
124 boolean IsTransit;
125
126 [Description (
127 karl 1.1 "RequireIGPSync is a boolean that, when its value is TRUE, "
128 "indicates that this AS must obey the following rule: a "
129 "router should not advertise destinations learned from "
130 "internal neighbors to external destinations unless "
131 "those destinations are also known via some internal gateway "
132 "protocol. Otherwise, a router may receive traffic that "
133 "cannot yet be routed. However, since this is a costly "
134 "choice, it is common practice to allow this rule to be "
135 "broken under certain carefully controlled circumstances.") ]
136 boolean RequireIGPSync;
137
138 [Description (
139 "RoutingUpdateSource defines how routing information is to "
140 "be injected. Statically injected routes are maintained "
141 "by the routing table and are independent of the "
142 "status of the networks to which they refer. This is done "
143 "simply by defining static routes in the routing table. "
144 "Dynamically injected routes are of two types. "
145 "Dynamic routes refer to distributing all of the IGP routes. "
146 "Semi-dynamic routes define a set of specific IGP "
147 "routes that will be injected."),
148 karl 1.1 ValueMap {"0", "1", "2", "3"},
149 Values {"Unknown", "Static", "Dynamic", "Semi-Dynamic"} ]
150 uint16 RoutingUpdateSource;
151
152 [Description (
153 "Route aggregation refers to summarizing ranges of routes "
154 "into one or more aggregate routes. This is done to minimize "
155 "the number of routes in the global routing table. A "
156 "potential drawback is that specific path information (e.g., "
157 "the Path attribute value) is lost, which may lead to "
158 "potential routing loops. There are a variety of ways to "
159 "ensure that this does not happen. Note that BGP4 "
160 "is required to do this. \n"
161 "\n"
162 "There are many ways to form aggregate routes. The following "
163 "are the most popular: 'Aggregate only', where only the "
164 "aggregate is advertised, and all of its more specific "
165 "routes are suppressed; 'Aggregate Plus Specific Routes', "
166 "where both the aggregate as well as its more specific "
167 "routes are advertised (e.g., send the aggregate to the NAP, "
168 "but send the more specific routes to providers); "
169 karl 1.1 "'Aggregate Based on a Subset of Specific Routes', where the "
170 "aggregate route is formed by looking at certain more "
171 "specific routes and forming an aggregate on them, "
172 "suppressing all others."),
173 ValueMap {"0", "1", "2", "3", "4"},
174 Values {"Unknown", "None", "Aggregate Only ",
175 "Aggregate And All Specific Routes ",
176 "Aggregate Based on Subset of Specific Routes"} ]
177 uint16 AggregationType;
178 };
179
180 // ==================================================================
181 // RoutersInAS
182 // ==================================================================
183 [Association, Aggregation, Composition, Version ("2.7.0"),
184 Description (
185 "This aggregation establishes 'whole-part' relationships "
186 "between an AutonomousSystem and the routers that it "
187 "contains. In addition, the routers in the AS share common "
188 "configuration information, and are commonly administered.") ]
189 class CIM_RoutersInAS : CIM_SystemComponent {
190 karl 1.1
191 [Override ("GroupComponent"), Aggregate, Max (1),
192 Description (
193 "The AutonomousSystem that aggregates the routers belonging "
194 "to it and administers them.") ]
195 CIM_AutonomousSystem REF GroupComponent;
196
197 [Override ("PartComponent"), Description (
198 "The Routers that are contained in the AS.") ]
199 CIM_ComputerSystem REF PartComponent;
200
201 [Description (
202 "This is an array of strings that contain the BGP attributes "
203 "supported by this router.") ]
204 string BGPSupportedAttributes[];
205
206 [Description (
207 "TRUE means that the community value of this router is added "
208 "to the existing community value, and FALSE means that the "
209 "community value of this router replaces the existing "
210 "community value.") ]
211 karl 1.1 boolean AddCommunityValue;
212
213 [Description (
214 "This is an enumeration that defines the function, from the "
215 "point of view of BGP, of this router."),
216 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
217 Values {"Unknown", "Other", "Conventional BGP Speaker",
218 "Route Reflector", "Router Reflector Client",
219 "Route Reflector Non-Client", "Peer Group Member",
220 "Confederation Member"},
221 ModelCorrespondence {
222 "CIM_BGPService.OtherRoleDescription"} ]
223 uint16 Role;
224
225 [MaxLen(64), Description (
226 "A string describing the type of function that this router "
227 "has in its AS when the value of the Role property of this "
228 "class is set to 1 (i.e., \"Other\"). The format of the string "
229 "inserted in this property should be similar in format to "
230 "the values defined for the Role property. This property "
231 "should be set to NULL when the Role property is any value "
232 karl 1.1 "other than 1."),
233 ModelCorrespondence {"CIM_BGPService.Role"} ]
234 string OtherRoleDescription;
235 };
236
237
238 // ===================================================================
239 // end of file
240 // ===================================================================
|