// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.7.0" ), 
    UMLPackagePath ( "CIM::Network::BGP" ), 
    Description ( 
       "This class is used to represent the basic operation of BGP. It "
       "is derived from RouteCalculationService, the superclass of all "
       "routing protocols." )]
class CIM_BGPService : CIM_RouteCalculationService {

      [Description ( 
          "The BGPVersion property defines the version of BGP that "
          "this router is using. This is part of the BGP peer "
          "negotiation process)." ), 
       MappingStrings { "MIB.IETF|BGP4-MIB.bgpVersion" }]
   uint8 BGPVersion;

      [Description ( 
          "BGP sends errors using a NOTIFICATION message. This "
          "message contains an error code, an error subcode, and "
          "error data. The error code defines the type of the "
          "notification. The \'Cease\' error is for all fatal "
          "errors that are not one of the other five types of "
          "errors. For several of the errors, subcode information "
          "is also enumerated in other properties of this class." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
       Values { "None", "Message Header Error", 
          "OPEN Message Error", "UPDATE Message Error", 
          "Hold Timer Expired", "Finite State Machine Error", "Cease" }]
   uint16 LastErrorCode;

      [Description ( 
          "This defines the BGP error subcode for message header "
          "errors (LastErrorCode = 1). If LastErrorCode is any "
          "other value, then this property should be set to NULL." ), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "None", "Connection Not Synchronized", 
          "Bad Message Length", "Bad Message Type" }]
   uint16 LastMessageErrorSubCode;

      [Description ( 
          "This defines the BGP error subcode for OPEN message "
          "errors (LastErrorCode = 2). If LastErrorCode is any "
          "other value, then this property should be set to NULL." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
       Values { "None", "Unsupported Version Number", "Bad Peer AS", 
          "Bad BGP Identifier", "Unsupported Optional Parameter", 
          "Authentication Failure", "Unacceptable Hold Time" }]
   uint16 LastOpenErrorSubCode;

      [Description ( 
          "This defines the BGP error subcode for UPDATE message "
          "errors (LastErrorCode = 3). If LastErrorCode is any "
          "other value, then this property should be set to NULL." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11" }, 
       Values { "None", "Malformed Attribute List", 
          "Unrecognized Well-Known Attribute", 
          "Missing Well-Known Attribute", "Attribute Flags Error", 
          "Attribute Length Error", "Invalid Origin Attribute", 
          "AS Routing Loop", "Invalid NEXT_HOP Attribute", 
          "Optional Attribute Error", "Invalid Network Field", 
          "Malformed AS_path" }]
   uint16 LastUpdateErrorSubCode;


};
