-- *****************************************************************
-- FS-BGP4-MIB.mib:  FS BGP4 MIB file
--
-- April 2003, HuangChongbin
--
-- Copyright (c) 2003 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************

FS-BGP4-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, 
        OBJECT-TYPE, 
        Unsigned32,
        Counter32
              FROM SNMPv2-SMI
        TruthValue,
        TEXTUAL-CONVENTION
              FROM SNMPv2-TC
        InetAutonomousSystemNumber 	
	            FROM INET-ADDRESS-MIB
        bgpPeerEntry,
        bgpPeerRemoteAddr
              FROM BGP4-MIB
        fsMgmt
              FROM FS-SMI;         

-- BEGINMODULE-IDENTITY
fsBgp4MIB MODULE-IDENTITY    
        LAST-UPDATED "200304010000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 
                
                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs bgp4 mibs."
        REVISION      "200304010000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 38}        
-- ENDMODULE-IDENTITY


-- BEGINNoun definition 
FSBgpID ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "1d."
	STATUS	     current
	DESCRIPTION
	    "The representation of a BGP Identifier.  The BGP
	     Identifier should be represented in the OCTET STRING
	     as with the first OCTET of the string containing
	     the first OCTET of the BGP Identifier received or sent
	     in the OPEN packet and so on.

	     Even though the BGP Identifier is trending away from
	     an IP address it is still displayed as if it was one,
	     even when it would be an illegal IP address."
	SYNTAX OCTET STRING(SIZE (4))                             
-- ENDNoun definition 


-- BEGINfsBgpBaseScalars

fsBgpBaseScalars
	OBJECT IDENTIFIER ::= { fsBgp4MIB 1 }

-- BEGINfsBgpSupportedCapabilities
-- BGP Capabilities information

fsBgpSupportedCapabilities
        OBJECT IDENTIFIER ::= { fsBgpBaseScalars 1 }
        
fsBgpCapabilitySupportAvailable OBJECT-TYPE
	SYNTAX	   TruthValue
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "This value is TRUE if capability support is
	     available."
	::= { fsBgpSupportedCapabilities 1 }
	
fsBgpSupportedCapabilitiesTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF FSBgpSupportedCapabilityEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "Table of supported BGP-4 capabilities."
	::= { fsBgpSupportedCapabilities 2 }
	
fsBgpSupportedCapabilitiesEntry OBJECT-TYPE
	SYNTAX	   FSBgpSupportedCapabilityEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "Information about supported capabilities indexed
	     by capability number."
	INDEX {
	    fsBgpSupportedCapabilityCode
	}
	::= { fsBgpSupportedCapabilitiesTable 1 }
	
FSBgpSupportedCapabilityEntry ::= SEQUENCE {
	fsBgpSupportedCapabilityCode
	    Unsigned32,
	fsBgpSupportedCapability
	    TruthValue
    }
    
fsBgpSupportedCapabilityCode OBJECT-TYPE
	SYNTAX	   Unsigned32 (0..255)
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "Index of supported capability.  The index directly
	     corresponds with the BGP-4 Capability Advertisement
	     Capability Code."
	::= { fsBgpSupportedCapabilitiesEntry 1 }
	
fsBgpSupportedCapability OBJECT-TYPE
	SYNTAX	   TruthValue
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "This value is True if this capability is supported,
	     False otherwise."
	::= { fsBgpSupportedCapabilitiesEntry 2 }
	
-- ENDfsBgpSupportedCapabilities

-- BEGINfsBgpBaseScalarExtensions
-- BGP Extensions

fsBgpBaseScalarExtensions
        OBJECT IDENTIFIER ::= { fsBgpBaseScalars 2 }
        
-- Base Scalar Route Reflection Extensions
fsBgpBaseScalarRouteReflectExts OBJECT IDENTIFIER ::=
	{ fsBgpBaseScalarExtensions 1 }

fsBgpRouteReflector OBJECT-TYPE
	SYNTAX	    TruthValue
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "This value is TRUE if this implementation supports the
	     BGP Route Reflection Extension and is enabled as a
	     route reflector.  If the BGP Route Reflection extension
	     is not supported this value must be FALSE."
	REFERENCE
	    "RFC 2796 - BGP Route Reflection"
	::= { fsBgpBaseScalarRouteReflectExts 1 }

fsBgpClusterId OBJECT-TYPE
	SYNTAX	    FSBgpID
	MAX-ACCESS  read-only 
	STATUS	    current
	DESCRIPTION
	    "The configured Cluster-ID of the BGP Speaker.  This will
	     default to the BGP Speaker's fsBgpIdentifier if this
	     speaker is functioning as a route reflector and an
	     explicit Cluster-ID has not been configured.

	     A value of 0.0.0.0 will be present if Route Reflection is
	     not enabled."
	REFERENCE
	    "RFC 2796 - BGP Route Reflection"
	::= { fsBgpBaseScalarRouteReflectExts 2 }

-- Base Scalar AS Confederation Extensions
 
fsBgpBaseScalarASConfedExts OBJECT IDENTIFIER ::=
        { fsBgpBaseScalarExtensions 2 }

fsBgpConfederationRouter OBJECT-TYPE
	SYNTAX	   TruthValue
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "This value is TRUE if this implementation supports the
	     BGP AS Confederations Extension and this router is
	     configured to be in a confederation."
	REFERENCE
	    "RFC 3065 - Autonomous System Confederations for BGP"
	::= { fsBgpBaseScalarASConfedExts 1 }

fsBgpConfederationId OBJECT-TYPE
	SYNTAX	   InetAutonomousSystemNumber
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "The local Confederation Identification Number.
	    
	     This value will be zero (0) if this BGP Speaker is not
	     a confederation router."
	REFERENCE
	    "RFC 3065 - Autonomous System Confederations for BGP"
	    ::= { fsBgpBaseScalarASConfedExts 2 }

-- ENDfsBgpBaseScalarExtensions

-- ENDfsBgpBaseScalars

-- BEGINfsBgpPeer

fsBgpPeer
	OBJECT IDENTIFIER ::= { fsBgp4MIB 2 }

-- BEGINfsBgpPeerPrefixInfoTable

fsBgpPeerPrefixInfoTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF FSBgpPeerPrefixInfoEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "This table contains prefix info with peers,
                 One entry per BGP peer ."
        ::= { fsBgpPeer 1 }

fsBgpPeerPrefixInfoEntry  OBJECT-TYPE
        SYNTAX     FSBgpPeerPrefixInfoEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "Entry containing information about the
                connection with a BGP peer."
        AUGMENTS {
	    bgpPeerEntry
	}
        ::= { fsBgpPeerPrefixInfoTable 1 }

FSBgpPeerPrefixInfoEntry ::= SEQUENCE {
        fsBgpPeerPrefixLimit       Unsigned32,
        fsBgpPeerPrefixAccepted    Counter32,
        fsBgpPeerPrefixAdvertised  Counter32
        }
    
fsBgpPeerPrefixLimit  OBJECT-TYPE
        SYNTAX      Unsigned32 (1..4294967295)
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "Max number of route prefixes accepted on this 
                 connection"
        ::= { fsBgpPeerPrefixInfoEntry 1 }
        
fsBgpPeerPrefixAccepted  OBJECT-TYPE  
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "Number of Route prefixes received on this connnection,
                 which are accepted after applying filters. Possible
                 filters are route maps, prefix lists, distributed
                 lists, etc."
        ::= { fsBgpPeerPrefixInfoEntry 2 } 

fsBgpPeerPrefixAdvertised  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "Counter which gets incremented when a route prefix
                 is advertised on this connection. This object is
                 initialized to zero when the peer is configured or 
                 the router is rebooted"
        ::= { fsBgpPeerPrefixInfoEntry 3 }

-- ENDfsBgpPeerPrefixInfoTable

-- BEGINfsBgpPeerCapabilities

fsBgpPeerCapabilities
	OBJECT IDENTIFIER ::= { fsBgpPeer 2 }

-- BEGINfsBgpPeerCapsAnnouncedTable
-- Announced Capabilities

fsBgpPeerCapsAnnouncedTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF FSBgpPeerCapsAnnouncedEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "This table contains the capabilities
	     that are announced to a given peer."
	::= { fsBgpPeerCapabilities 1 }

fsBgpPeerCapsAnnouncedEntry OBJECT-TYPE
	SYNTAX	   FSBgpPeerCapsAnnouncedEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "These entries are keyed by a BGP-4 peer remote
	     address and the BGP Capability Code"
	INDEX {
	    bgpPeerRemoteAddr,
	    fsBgpPeerCapAnnouncedCode
	}
	::= { fsBgpPeerCapsAnnouncedTable 1 }

FSBgpPeerCapsAnnouncedEntry ::= SEQUENCE {
	fsBgpPeerCapAnnouncedCode
	    Unsigned32,
	fsBgpPeerCapAnnouncedValue
	    OCTET STRING
    }

fsBgpPeerCapAnnouncedCode OBJECT-TYPE
	SYNTAX	   Unsigned32 (0..255)
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "The BGP Capability Advertisement Capability Code."
	::= { fsBgpPeerCapsAnnouncedEntry 1 }

fsBgpPeerCapAnnouncedValue OBJECT-TYPE
	SYNTAX	   OCTET STRING (SIZE(0..255))
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "The value of the announced capability."
	::= { fsBgpPeerCapsAnnouncedEntry 2 }

-- ENDfsBgpPeerCapsAnnouncedTable

-- BEGINfsBgpPeerCapsReceivedTable
-- Received Capabilities

fsBgpPeerCapsReceivedTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF FSBgpPeerCapsReceivedEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "This table contains the capabilities
	    that are supported for a given peer."
	::= { fsBgpPeerCapabilities 2 }

fsBgpPeerCapsReceivedEntry OBJECT-TYPE
	SYNTAX	   FSBgpPeerCapsReceivedEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "These entries are keyed by a BGP-4 peer remote
	    address and the BGP Capability Code"
	INDEX {
	    bgpPeerRemoteAddr,
	    fsBgpPeerCapReceivedCode
	}
	::= { fsBgpPeerCapsReceivedTable 1 }

FSBgpPeerCapsReceivedEntry ::= SEQUENCE {
	fsBgpPeerCapReceivedCode
	    Unsigned32,
	fsBgpPeerCapReceivedValue
	    OCTET STRING
    }

fsBgpPeerCapReceivedCode OBJECT-TYPE
	SYNTAX	   Unsigned32 (0..255)
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "The BGP Capability Advertisement Capability Code."
	::= { fsBgpPeerCapsReceivedEntry 1 }

fsBgpPeerCapReceivedValue OBJECT-TYPE
	SYNTAX	   OCTET STRING (SIZE(0..255))
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "The value of the announced capability."
	::= { fsBgpPeerCapsReceivedEntry 3 }

-- ENDfsBgpPeerCapsReceivedTable
	
-- ENDfsBgpPeerCapabilities

-- BEGINfsBgpPeerExtensions

fsBgpPeerExtensions
	OBJECT IDENTIFIER ::= { fsBgpPeer 3 }

-- BEGIN
-- Peer Route Reflection Extensions

fsBgpPeerRouteReflectionExts
	OBJECT IDENTIFIER ::= { fsBgpPeerExtensions 1 }

fsBgpPeerReflectorClientTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF FSBgpPeerReflectorClientEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "Table of route reflection client settings on a per-peer
	     basis."
	REFERENCE
	    "RFC 2796 - BGP Route Reflection"
	::= { fsBgpPeerRouteReflectionExts 1 }

fsBgpPeerReflectorClientEntry OBJECT-TYPE
	SYNTAX	   FSBgpPeerReflectorClientEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "Entry containing data on a per-peer basis on whether
	     the peer is configured as a route reflector client."
	REFERENCE
	    "RFC 2796 - BGP Route Reflection"
	AUGMENTS {
	    bgpPeerEntry
	}
	::= { fsBgpPeerReflectorClientTable 1 }

FSBgpPeerReflectorClientEntry ::= SEQUENCE {
	fsBgpPeerReflectorClient
	    INTEGER
    }

fsBgpPeerReflectorClient OBJECT-TYPE
	SYNTAX	  INTEGER {
	    nonClient(0),
	    client(1),
	    meshedClient(2)
	}
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "This value indicates whether the given peer is a
	     reflector client of this router, or not.  A value of
	     nonClient indicates that this peer is not a reflector
	     client.  A value of client indicates that this peer is a
	     reflector client that is not fully meshed with other
	     reflector clients.	 A value of meshedClient indicates
	     that the peer is a reflector client and is fully meshed
	     with all other reflector clients.

	     This value must be nonClient (0) for BGP external peers."
	REFERENCE
	    "RFC 2796 - BGP Route Reflection"
	::= { fsBgpPeerReflectorClientEntry 1 }

-- Peer AS Confederations Extensions

fsBgpPeerASConfederationExts
	OBJECT IDENTIFIER ::= { fsBgpPeerExtensions 2 }

fsBgpPeerConfedMemberTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF FSBgpPeerConfedMemberEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "Table of confederation member settings on a per-peer
	     basis."
	REFERENCE
	    "RFC 3065 - BGP Confederations"
	::= { fsBgpPeerASConfederationExts 1 }

fsBgpPeerConfedMemberEntry OBJECT-TYPE
	SYNTAX	   FSBgpPeerConfedMemberEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "Entry containing data on a per-peer basis on whether
	     the peer is configured as a BGP confederation member."
	REFERENCE
	    "RFC 3065 - BGP Confederations"
	AUGMENTS {
	    bgpPeerEntry
	}
	::= { fsBgpPeerConfedMemberTable 1 }

FSBgpPeerConfedMemberEntry ::= SEQUENCE {
	fsBgpPeerConfedMember
	    TruthValue
    }
    
fsBgpPeerConfedMember OBJECT-TYPE
	SYNTAX	    TruthValue
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "This value indicates whether the given peer is in our
	     confederation or not."
	REFERENCE
	    "RFC 3065 - BGP Confederations"
	::= { fsBgpPeerConfedMemberEntry 1 }
	
-- ENDfsBgpPeerExtensions	 
	
-- ENDfsBgpPeer

-- BEGINConformance Information

fsBgpConformance
	OBJECT IDENTIFIER ::= { fsBgp4MIB 3 }

fsBgpMIBCompliances OBJECT IDENTIFIER ::=
	{ fsBgpConformance 1 }
fsBgpMIBGroups	OBJECT IDENTIFIER ::=
	{ fsBgpConformance 2 }

-- ENDConformance Information

END


	



