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