242 lines
11 KiB
Plaintext
242 lines
11 KiB
Plaintext
//**************************************************************************
|
|
// File Name: IPRoute_02.MOF
|
|
// Author: mthatch
|
|
// Date: 03/07/00
|
|
// Comments: Split this out into more classes following conversation with
|
|
// Dennis Harding. Done to accomodate more that just IP4
|
|
//
|
|
// Mod/Date:
|
|
// 000315 Re-assembled back into single class and renamed to be IP4
|
|
// specific. Removed all non relevent properties. The clarified
|
|
// goal here being to replicate 'route print' command. not more.
|
|
// 000405 Added Event class
|
|
//
|
|
//**************************************************************************
|
|
|
|
|
|
class Win32_IP4RouteTableEvent : __ExtrinsicEvent
|
|
{
|
|
} ;
|
|
|
|
|
|
//**************************************************************************
|
|
//* Class: Win32_IP4RouteTable
|
|
//* Derived from : CIM_LogicalElement
|
|
//**************************************************************************
|
|
|
|
[dynamic, provider("RouteProvider"), Description ("The IP4RouteTable class "
|
|
"information governs where network data packets are routed to (e.g. usually "
|
|
"internet packets are sent to a gateway, and local packets may be routed "
|
|
"directly by the client's machine). Administrators can use this "
|
|
"information to trace problems associated with misrouted packets, and also "
|
|
"direct a computer to a new gateway as necessary.This class deals specifically "
|
|
"with IP4 and does not address IPX or IP6. It is only intended to model the "
|
|
"information revealed when typing the 'Route Print' command from the command "
|
|
"prompt."),
|
|
Locale (0x409), UUID ("{}")]
|
|
class Win32_IP4RouteTable : CIM_LogicalElement
|
|
{
|
|
[read,write,key, Description ("The Destination property contains the "
|
|
"destination IP address for this route.")
|
|
]
|
|
string Destination;
|
|
|
|
[read,write, Description ("The Mask property contains the mask used "
|
|
"in this entry. Masks should be logical-ANDed with the destination "
|
|
"address before being compared to the value in the ipRouteDest field.")
|
|
]
|
|
string Mask;
|
|
|
|
[read, write, Description ("The InterfaceIndex property contains the "
|
|
"index value that uniquely identifies the local interface through which "
|
|
"the next hop of this route should be reached.")
|
|
]
|
|
sint32 InterfaceIndex ;
|
|
|
|
[read, write, Description ("The NextHop property contains the IP address "
|
|
"of the next hop of this route. (In the case of a route bound to an "
|
|
"interface that is realized via a broadcast media, the value of this "
|
|
"field is the agent's IP address on that interface.).")
|
|
]
|
|
string NextHop ;
|
|
|
|
[read,write, Description ("The Type property reveals the type of route. "
|
|
"The values direct(3) and indirect(4) refer to the notion of direct and "
|
|
"indirect routing in the IP architecture. Setting this object to the "
|
|
"value invalid(2) has the effect of invalidating the corresponding entry "
|
|
"in the RouteTable object. That is, it effectively disassociates the "
|
|
"destination identified with said entry from the route identified with "
|
|
"said entry. It is an implementation-specific matter as to whether the "
|
|
"agent removes an invalidated entry from the table. Accordingly, "
|
|
"management stations must be prepared to receive tabular information "
|
|
"from agents that corresponds to entries not currently in use. Proper "
|
|
"interpretation of such entries requires examination of the relevant "
|
|
"ipRouteType object."),
|
|
ValueMap{"1","2","3","4"},
|
|
Values{"other" , "invalid","direct","indirect"}
|
|
]
|
|
uint32 Type;
|
|
|
|
[read, Description ("The Protocol property reveals the routing mechanism "
|
|
"via which this route was learned. Inclusion of values for gateway routing "
|
|
"protocols is not intended to imply that hosts must support those "
|
|
"protocols."),
|
|
ValueMap{"1","2","3","4","5","6","7","8","9","10","11","12","13","14"},
|
|
Values{"other","local","netmgmt","icmp","egp","ggp","hello","rip",
|
|
"is-is","es-is","ciscoIgrp","bbnSpfIgp","ospf","bgp"}
|
|
]
|
|
uint32 Protocol;
|
|
|
|
[read,write, Description ("The Age property contains the number of seconds "
|
|
"since this route was last updated or otherwise determined to be correct. "
|
|
"No semantics of 'too old' can be implied except through knowledge of the "
|
|
"routing protocol by which the route was learned.")
|
|
]
|
|
sint32 Age;
|
|
|
|
[read, write, Description ("The Metric1 property contains the primary "
|
|
"routing metric for this route. The semantics of this metric are "
|
|
"determined by the routing protocol specified in the route's ipRouteProto "
|
|
"value. If this metric is not used, its value should be set to -1.")
|
|
]
|
|
sint32 Metric1 ;
|
|
|
|
[read, write, Description ("The Metric2 property contains an alternate "
|
|
"routing metric for this route. The semantics of this metric are "
|
|
"determined by the routing protocol specified in the route's "
|
|
"ipRouteProto value. If this metric is not used, its value should be "
|
|
"set to -1.")
|
|
]
|
|
sint32 Metric2 ;
|
|
|
|
[read, write, Description ("The Metric3 property contains an alternate "
|
|
"routing metric for this route. The semantics of this metric are "
|
|
"determined by the routing protocol specified in the route's "
|
|
"ipRouteProto value. If this metric is not used, its value should be "
|
|
"set to -1.")
|
|
]
|
|
sint32 Metric3 ;
|
|
|
|
[read, write, Description ("The Metric4 property contains an alternate "
|
|
"routing metric for this route. The semantics of this metric are "
|
|
"determined by the routing protocol specified in the route's "
|
|
"ipRouteProto value. If this metric is not used, its value should be "
|
|
"set to -1.")
|
|
]
|
|
sint32 Metric4 ;
|
|
|
|
[read, write, Description ("The Metric5 property contains an alternate "
|
|
"routing metric for this route. The semantics of this metric are "
|
|
"determined by the routing protocol specified in the route's "
|
|
"ipRouteProto value. If this metric is not used, its value should be "
|
|
"set to -1.")
|
|
]
|
|
sint32 Metric5 ;
|
|
|
|
[read, Description ("The Information property contains a reference to "
|
|
"MIB definitions specific to the particular routing protocol that is "
|
|
"responsible for this route, as determined by the value specified in "
|
|
"the route's ipRouteProto value. If this information is not present, "
|
|
"its value should be set to the OBJECT IDENTIFIER {0 0}, which is a "
|
|
"syntactically valid object identifier, and any conformant "
|
|
"implementation of ASN.1 and BER must be able to generate and recognize "
|
|
"this value.")
|
|
]
|
|
string Information;
|
|
};
|
|
|
|
// Persisted Route class
|
|
|
|
[dynamic, provider("RouteProvider"), Description ("The IP4PersistedRouteTable "
|
|
"class contains IP routes that are persited. By default, the routes you add "
|
|
"to the routing table aren't permanent. You lose these routes when you reboot "
|
|
"your computer. However, if you use the command route -p add, Windows NT makes "
|
|
"the permanent--so you won't lose the route when you reboot your computer. "
|
|
"Persistent entries are automatically reinserted in your route table each "
|
|
"time your computer's route table is rebuilt. Windows NT stores persistent "
|
|
"routes in the Registry. This class deals specifically with IP4 and does not "
|
|
"address IPX or IP6."),
|
|
Locale (0x409), UUID ("{2CAF4666-AC9B-45AB-00A6-AF8C537794C2}")]
|
|
class Win32_IP4PersistedRouteTable : CIM_LogicalElement
|
|
{
|
|
[read,write,key, Description ("The Destination property contains the "
|
|
"destination IP address for this persisted route.")
|
|
]
|
|
string Destination;
|
|
|
|
[read,write, key, Description ("The Mask property contains the mask used "
|
|
"in this persisted entry. Masks should be logical-ANDed with the destination "
|
|
"address before being compared to the value in the ipRouteDest field.")
|
|
]
|
|
string Mask;
|
|
|
|
[read, write, key, Description ("The NextHop property contains the IP address "
|
|
"of the next hop of this persisted route. (In the case of a route bound to an "
|
|
"interface that is realized via a broadcast media, the value of this "
|
|
"field is the agent's IP address on that interface.).")
|
|
]
|
|
string NextHop ;
|
|
|
|
[read, write, key, Description ("The Metric1 property contains the primary "
|
|
"routing metric for this persisted route. The semantics of this metric are "
|
|
"determined by the routing protocol specified in the route's ipRouteProto "
|
|
"value. If this metric is not used, its value should be set to -1.")
|
|
]
|
|
sint32 Metric1 ;
|
|
};
|
|
|
|
// ==================================================================
|
|
// LogicalIdentity
|
|
// ==================================================================
|
|
[Association, Abstract, Description (
|
|
"CIM_LogicalIdentity is an abstract and generic association, "
|
|
"indicating that two LogicalElements represent different "
|
|
"aspects of the same underlying entity. This relationship "
|
|
"conveys what could be defined with multiple inheritance. It "
|
|
"is restricted to the 'logical' aspects of a ManagedSystem"
|
|
"Element. In most scenarios, the Identity relationship is "
|
|
"determined by the equivalence of Keys or some other "
|
|
"identifying properties of the related Elements. The "
|
|
"association should only be used in well understood scenarios. "
|
|
"This is why the association is abstract - allowing more "
|
|
"concrete definition and clarification in subclasses. One of "
|
|
"the scenarios where this relationship is reasonable is to "
|
|
"represent that a Device is both a 'bus' entity and a "
|
|
"'functional' entity. For example, a Device could be both a "
|
|
"USB (bus) and a Keyboard (functional) entity.") ]
|
|
class CIM_LogicalIdentity
|
|
{
|
|
[Key, Description(
|
|
"SystemElement represents one aspect of the Logical"
|
|
"Element.") ]
|
|
CIM_LogicalElement ref SystemElement;
|
|
[Key, Description(
|
|
"SameElement represents an alternate aspect of the "
|
|
"System entity.") ]
|
|
CIM_LogicalElement ref SameElement;
|
|
};
|
|
|
|
// new assoc b/w persisted and routetable class will use rulebased assoc
|
|
// but also populate for Nova builds. IP routes don't apply to win9x
|
|
// On RuleBased addition - please clean syntax as required.
|
|
|
|
[dynamic, provider("RouteProvider"), Description ("The ActiveRoute class "
|
|
"assoctiates the current IP4 Route being used with the persited IP route "
|
|
"table."),
|
|
Locale (0x409), UUID ("{7BA1437A-C51C-421B-A359-2906AF2BDD9F}")]
|
|
class Win32_ActiveRoute : CIM_LogicalIdentity
|
|
{
|
|
[Read: ToSubClass, Override ("SystemElement"): ToSubClass,
|
|
Description ("The SystemElement represents the active IP route being"
|
|
"used."): ToSubClass,
|
|
MappingStrings {""}: ToSubClass]
|
|
Win32_IP4RouteTable REF SystemElement;
|
|
|
|
[Read: ToSubClass, Override ("SameElement"): ToSubClass,
|
|
Description ("The SameElement represents persistent IP route in this"
|
|
"relationship."): ToSubClass,
|
|
MappingStrings {""}: ToSubClass]
|
|
Win32_IP4PersistedRouteTable REF SameElement;
|
|
};
|
|
|