2025-04-27 07:49:33 -04:00

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;
};