// Copyright (c) 2005 DMTF.  All rights reserved.
   [Deprecated { "CIM_NextHopIPRoute" }, 
    Abstract, Version ( "2.7.0" ), 
    UMLPackagePath ( "CIM::Network::Routes" ), 
    Description ( 
       "An IPRoute relates a destination address to the address or "
       "interface through which the remote address may be reached. The "
       "destination address may be a specific IP endpoint or a subnet, "
       "dependent on the mask. An instance of this class represents "
       "either static or dynamic routing. Static routes are "
       "distinguished by setting the IsStatic boolean property to "
       "TRUE. \n"
       "\n"
       "Since many routes between endpoints can be defined (using "
       "different route calculation algorithms), the CIM_IPRoute class "
       "is defined as Abstract. This forces subclassing (for example, "
       "see CIM_BGPIPRoute) and allows the instances of its subclasses "
       "to be distinguished based on their CreationClassName key "
       "property. \n"
       "\n"
       "IPRoute is deprecated in lieu of the more general, concrete "
       "NextHopIPRoute class. NextHopIPRoute allows the definition of "
       "BOTH a next hop address and an interface for transmission of "
       "the traffic. Also, it does not mandate the instantiation of a "
       "ForwardingService class." )]
class CIM_IPRoute : CIM_NextHopRouting {

      [Deprecated { "No value" }, 
       Key, Description ( 
          "The scoping ForwardingService\'s SystemCreationClassName." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_ForwardingService.SystemCreationClassName" )]
   string SystemCreationClassName;

      [Deprecated { "No value" }, 
       Key, Description ( 
          "The scoping ForwardingService\'s SystemName." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_ForwardingService.SystemName" )]
   string SystemName;

      [Deprecated { "No value" }, 
       Key, Description ( 
          "The scoping ForwardingService\'s CreationClassName." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_ForwardingService.CreationClassName" )]
   string ServiceCreationClassName;

      [Deprecated { "No value" }, 
       Key, Description ( "The scoping ForwardingService\'s Name." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_ForwardingService.Name" )]
   string ServiceName;

      [Deprecated { "No value" }, 
       Key, Description ( 
          "CreationClassName indicates the name of the class or the "
          "subclass used in the creation of an instance. When used "
          "with the other key properties of this class, this "
          "property allows all instances of this class and its "
          "subclasses to be uniquely identified." ), 
       MaxLen ( 256 )]
   string CreationClassName;

      [Deprecated { "CIM_NextHopIPRoute.DestinationAddress" }, 
       Key, Description ( 
          "The IP address which serves as the destination of the "
          "traffic, formatted according to the appropriate "
          "convention as defined in the AddressType property of "
          "this class. \n"
          "\n"
          "This property has the same semantics as "
          "DestinationAddress inherited from the NextHopRouting "
          "superclass, but a different property name. This is "
          "because this property and class were defined before "
          "NextHopRouting and are Key properties. They cannot be "
          "removed. ModelCorrespondence indicates that they should "
          "be set to equivalent values for consistency and ease of "
          "query." ), 
       ModelCorrespondence { "CIM_IPRoute.DestinationAddress" }]
   string IPDestinationAddress;

      [Deprecated { "CIM_NextHopIPRoute.DestinationMask" }, 
       Key, Description ( 
          "The mask for the destination IP address, formatted "
          "according to the appropriate convention as defined in "
          "the AddressType property of this class. \n"
          "\n"
          "This property has the same semantics as DestinationMask "
          "inherited from the NextHopRouting superclass, but a "
          "different property name. This is because this property "
          "and class were defined before NextHopRouting and are Key "
          "properties. They cannot be removed. ModelCorrespondence "
          "indicates that they should be set to equivalent values "
          "for consistency and ease of query." ), 
       ModelCorrespondence { "CIM_IPRoute.DestinationMask" }]
   string IPDestinationMask;

      [Deprecated { "CIM_NextHopIPRoute.AddressType" }, 
       Key, Description ( 
          "An enumeration that describes the format of the address "
          "property. Addresses that can be formatted in IPv4 "
          "format, must be formatted that way to ensure mixed "
          "IPv4/IPv6 support. \n"
          "\n"
          "AddressType is part of the key so that an IPv4 and an "
          "IPv6 route to IP subnets with the same network number "
          "but different IP versions (v4/v6) can coexist." ), 
       ValueMap { "0", "1", "2" }, 
       Values { "Unknown", "IPv4", "IPv6" }]
   uint16 AddressType;

      [Deprecated { "No value" }, 
       Override ( "DestinationAddress" ), 
       ModelCorrespondence { "CIM_IPRoute.IPDestinationAddress" }]
   string DestinationAddress;

      [Deprecated { "No value" }, 
       Override ( "DestinationMask" ), 
       ModelCorrespondence { "CIM_IPRoute.IPDestinationMask" }]
   string DestinationMask;


};
