// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.7.0" ), 
    UMLPackagePath ( "CIM::Network::RoutingForwarding" ), 
    Description ( 
       "This class represents the functions used in forwarding network "
       "traffic. Its instances act on packets received from one or "
       "more ProtocolEndpoints or Services, and drop (discard), or "
       "send those packets to one or more other ProtocolEndpoints or "
       "Services. The explicit Endpoints being forwarded between, are "
       "described using the ForwardsAmong association (or one of its "
       "subclasses). Generally, the Endpoints are at the same protocol "
       "layer and are usually of similar types, or of the same type. "
       "ForwardingService is different than RouteCalculation Service "
       "in that it represents the function of forwarding traffic "
       "independent of calculating routing information. \n"
       "\n"
       "Examining the ForwardingService class definition, note that "
       "its superclass NetworkService is deprecated. Therefore, "
       "NetworkService\'s properties need not be implemented in an "
       "instance of ForwardingService. Unfortunately, NetworkService "
       "cannot be removed from the object hierarchy without a major "
       "Schema release. When/if this occurs, the NetworkService "
       "superclass will be removed, and ForwardingService will "
       "subclass from CIM_Service directly. Also note that there are a "
       "large number of additional protocols that are not currently "
       "modeled. These will be added over time." )]
class CIM_ForwardingService : CIM_NetworkService {

      [Description ( 
          "This defines the type of protocol that is being forwarded."
           ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" }, 
       Values { "Unknown", "Other", "IPv4", "IPv6", "IPv4/IPv6", 
          "IPX", "AppleTalk", "DECnet", "SNA", "CONP", "CLNP", 
          "VINES", "XNS", "ATM", "Frame Relay", "Ethernet", 
          "TokenRing", "FDDI", "Infiniband", "Fibre Channel" }, 
       ModelCorrespondence { 
          "CIM_ForwardingService.OtherProtocolType" }]
   uint16 ProtocolType;

      [Description ( 
          "This defines the type of protocol that is being "
          "forwarded when the value of the ProtocolType attribute "
          "is 1 (i.e., \"Other\"). This provides for future "
          "extensibility." ), 
       MaxLen ( 32 ), 
       ModelCorrespondence { "CIM_ForwardingService.ProtocolType" }]
   string OtherProtocolType;


};
