librenms/librenms

View on GitHub
mibs/hp/HP-SN-BGP4-GROUP-MIB

Summary

Maintainability
Test Coverage
HP-SN-BGP4-GROUP-MIB DEFINITIONS ::= BEGIN


-- Foundry snBgp4 Group MIB Release 1.0.0
-- Revision 0 09/09/98

-- Copyright 1996-97 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base Specification
-- (Specification) embodies Foundry Networks' confidential and
-- proprietary intellectual property. Foundry Networks retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and Foundry Networks makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.

-- SECTION 1: Top Level Definitions



     IMPORTS
             Counter, Gauge, IpAddress
                     FROM RFC1155-SMI
     --      mib-2
     --              FROM RFC1213-MIB
             OBJECT-TYPE
                     FROM RFC-1212
               snBgp4    
                     FROM HP-SN-ROOT-MIB;
             

-- Groups

snBgp4Gen                 OBJECT IDENTIFIER ::= { snBgp4 1 }
snBgp4AddrFilter         OBJECT IDENTIFIER ::= { snBgp4 2 }
snBgp4AggregateAddr     OBJECT IDENTIFIER ::= { snBgp4 3 }
snBgp4AsPathFilter         OBJECT IDENTIFIER ::= { snBgp4 4 }
snBgp4CommunityFilter     OBJECT IDENTIFIER ::= { snBgp4 5 }
snBgp4NeighGenCfg         OBJECT IDENTIFIER ::= { snBgp4 6 }
snBgp4NeighDistGroup     OBJECT IDENTIFIER ::= { snBgp4 7 }
snBgp4NeighFilterGroup     OBJECT IDENTIFIER ::= { snBgp4 8 }
snBgp4NeighRouteMap     OBJECT IDENTIFIER ::= { snBgp4 9 }
snBgp4Network             OBJECT IDENTIFIER ::= { snBgp4 10 }
snBgp4Redis             OBJECT IDENTIFIER ::= { snBgp4 11 }
snBgp4RouteMapFilter     OBJECT IDENTIFIER ::= { snBgp4 12 }
snBgp4RouteMapMatch     OBJECT IDENTIFIER ::= { snBgp4 13 }
snBgp4RouteMapSet         OBJECT IDENTIFIER ::= { snBgp4 14 }
snBgp4NeighOperStatus     OBJECT IDENTIFIER ::= { snBgp4 15 }
snBgp4RouteOperStatus    OBJECT IDENTIFIER ::= { snBgp4 16 }
snBgp4NeighborSummary    OBJECT IDENTIFIER ::= { snBgp4 17 }
snBgp4Attribute            OBJECT IDENTIFIER ::= { snBgp4 18 }
snBgp4ClearNeighborCmd    OBJECT IDENTIFIER ::= { snBgp4 19 }
snBgp4NeighPrefixGroup     OBJECT IDENTIFIER ::= { snBgp4 20 }

--  BGP4 General Variables

--  These parameters apply globally to the Router's
--  BGP4 Process.


     snBgp4GenAlwaysCompareMed OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To enable/disable the comparison of the Multi-Exit Discriminator for paths from 
            neighbors in different AS."
         ::= { snBgp4Gen 1 }

     snBgp4GenAutoSummary OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To enable/disable the default behavior of automatic summarization of subnet routes
            into network-level routes."  
         ::= { snBgp4Gen 2 }

     snBgp4GenDefaultLocalPreference OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To set the default local preference attribute."
         ::= { snBgp4Gen 3 }

     snBgp4GenDefaultInfoOriginate OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To enable/disable the default Information Originate."
         ::= { snBgp4Gen 4 }

     snBgp4GenFastExternalFallover OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To enable/disable an action of immediately reset the BGP sessions of any
            directly adjacent external neighbors if the link used to reach them goes
            down."
         ::= { snBgp4Gen 5 }

     snBgp4GenNextBootNeighbors OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The next-boot configured number of neighbors in a BGP Peer Group.
               The minimum value of this MIB is snBgp4GenMinNeighbors.
               The maximum value of this MIB is snBgp4GenMaxNeighbors."
         ::= { snBgp4Gen 6 }

     snBgp4GenNextBootRoutes OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The next-boot configured number of Routes.
               The minimum value of this MIB is snBgp4GenMinRoutes.
               The maximum value of this MIB is snBgp4GenMaxRoutes."
         ::= { snBgp4Gen 7 }

     snBgp4GenSynchronization OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To enable/disable the synchronization between BGP and your IGP."
         ::= { snBgp4Gen 8 }

     snBgp4GenKeepAliveTime OBJECT-TYPE
         SYNTAX   INTEGER (0..65535)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Keep alive timer."
         ::= { snBgp4Gen 9 }

     snBgp4GenHoldTime OBJECT-TYPE
         SYNTAX   INTEGER (0..65535)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Hold time timer."
         ::= { snBgp4Gen 10 }

     snBgp4GenRouterId OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "BGP Router Id."
         ::= { snBgp4Gen 11 }

     snBgp4GenTableMap OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE(0..32)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "An octet string of the route-map name, each character of the name
            is represented by one octet."
         ::= { snBgp4Gen 12 }

     snBgp4GenAdminStat OBJECT-TYPE
         SYNTAX   INTEGER { disabled (0), enabled (1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The administrative status of BGP4 in the router.  The
            value 'enabled' denotes that the BGP4 routing is active
            in this router; 'disabled' disables BGP4 routing on this router."
         ::= { snBgp4Gen 13 }

     snBgp4GenDefaultMetric OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "To set default metric values for the BGP4 protocol."
         ::= { snBgp4Gen 14 }

     snBgp4GenMaxNeighbors OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum number of neighbors can be configured in a BGP Peer Group."
         ::= { snBgp4Gen 15 }

     snBgp4GenMinNeighbors OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The minimum number of neighbors can be configured in a BGP Peer Group."
         ::= { snBgp4Gen 16 }

     snBgp4GenMaxRoutes OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of Routes."
         ::= { snBgp4Gen 17 }

     snBgp4GenMinRoutes OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The minimum configured number of Routes."
         ::= { snBgp4Gen 18 }

     snBgp4GenMaxAddrFilters OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of BGP4 address filters."
         ::= { snBgp4Gen 19 }

     snBgp4GenMaxAggregateAddresses OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of BGP4 aggregate addresses."
         ::= { snBgp4Gen 20 }

     snBgp4GenMaxAsPathFilters OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of BGP4 AS-PATH filters."
         ::= { snBgp4Gen 21 }

     snBgp4GenMaxCommunityFilters OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of BGP4 Community filters."
         ::= { snBgp4Gen 22 }

     snBgp4GenMaxNetworks OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of BGP4 Networks."
         ::= { snBgp4Gen 23 }

     snBgp4GenMaxRouteMapFilters OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of BGP4 Route-map Filters."
         ::= { snBgp4Gen 24 }

     snBgp4GenNeighPrefixMinValue OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The minimum configured value of BGP4 Neighbor Prefix."
         ::= { snBgp4Gen 25 }

     snBgp4GenOperNeighbors OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The current operational max number of neighbors configured for a BGP Group."
         ::= { snBgp4Gen 26 }

     snBgp4GenOperRoutes OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The current operational number of Routes."
         ::= { snBgp4Gen 27 }

     snBgp4GenLocalAs OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 local autonomous system number."
         ::= { snBgp4Gen 28 }

     snBgp4GenRoutesInstalled OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 installed routes."
         ::= { snBgp4Gen 29 }

     snBgp4GenAsPathInstalled OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 installed autonomous system path."
         ::= { snBgp4Gen 30 }

     snBgp4ExternalDistance OBJECT-TYPE
         SYNTAX  INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Administrative distance for BGP external routes."
         DEFVAL { 20 }
         ::= { snBgp4Gen 31 }

     snBgp4InternalDistance OBJECT-TYPE
         SYNTAX  INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Administrative distance for BGP internal routes."
         DEFVAL { 200 }
         ::= { snBgp4Gen 32 }

     snBgp4LocalDistance OBJECT-TYPE
         SYNTAX  INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Administrative distance for BGP local routes."
         DEFVAL { 200 }
         ::= { snBgp4Gen 33 }

     snBgp4OperNumOfAttributes OBJECT-TYPE
         SYNTAX  INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
        "The operational number of attribute entries."
         ::= { snBgp4Gen 34 }

     snBgp4NextBootMaxAttributes OBJECT-TYPE
         SYNTAX  INTEGER (200..30000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "The next boot maximum attribute entries. 10000 means reset to default."
         DEFVAL { 10000 }
         ::= { snBgp4Gen 35 }

     snBgp4ClusterId OBJECT-TYPE
         SYNTAX  INTEGER 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "A cluster ID which is represented by 4 bytes unsigned 
         integer (0..0xFFFFFFFF). 0 means reset to default."
         ::= { snBgp4Gen 36 }

     snBgp4ClientToClientReflection OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "To enable/disable the client to client reflection in BGP4."
         ::= { snBgp4Gen 37 }

     snBgp4GenTotalNeighbors OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The current total number of neighbors running in a BGP Group."
         ::= { snBgp4Gen 38 }

     snBgp4GenMaxPaths OBJECT-TYPE
         SYNTAX   INTEGER (1..8)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The maximum configured number of Paths."
         ::= { snBgp4Gen 39 }

     snBgp4GenConfedId OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Confederation Id."
         ::= { snBgp4Gen 40 }

     snBgp4GenConfedPeers OBJECT-TYPE
     SYNTAX  OCTET STRING (SIZE(0..100))
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "An AS number from 1 to 0xFFFF construct confederation peers.
         There are 50(max peers) of them.  
         This integer number is represented by 2 OCTETs."
         ::= { snBgp4Gen 41 }

     snBgp4GenDampening OBJECT-TYPE
         SYNTAX   INTEGER { none (0), parameters (1), routeMap (2) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The dampening of BGP4 in the router.  
            value 'none' denotes that the BGP4  dampening is off
            'parameters' denotes parameters are confibrurable.
            'routeMap' denotes routemap is configurable."        
         ::= { snBgp4Gen 42 }

     snBgp4GenDampenHalfLife OBJECT-TYPE
         SYNTAX   INTEGER (1..45)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Dampening Half Life."
         ::= { snBgp4Gen 43 }

     snBgp4GenDampenReuse OBJECT-TYPE
         SYNTAX   INTEGER (1..20000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Dampening Reuse."
         ::= { snBgp4Gen 44 }

     snBgp4GenDampenSuppress OBJECT-TYPE
         SYNTAX   INTEGER (1..20000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Dampening Suppress."
         ::= { snBgp4Gen 45 }

     snBgp4GenDampenMaxSuppress OBJECT-TYPE
         SYNTAX   INTEGER (1..20000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Dampening Max Suppress Time."
         ::= { snBgp4Gen 46 }

     snBgp4GenDampenMap OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE(0..32)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "An octet string of the route-map name for dampening, each character of the name
            is represented by one octet."
         ::= { snBgp4Gen 47 }

--- Bgp4 Address Filter table

snBgp4AddrFilterTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4AddrFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Address Filter table."
    ::= { snBgp4AddrFilter 1 }

snBgp4AddrFilterEntry       OBJECT-TYPE
    SYNTAX  SnBgp4AddrFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Address Filter table."
    INDEX   { snBgp4AddrFilterIndex }
    ::= { snBgp4AddrFilterTable 1 }

SnBgp4AddrFilterEntry ::= SEQUENCE {
    snBgp4AddrFilterIndex
        INTEGER,
    snBgp4AddrFilterAction              
        INTEGER,
    snBgp4AddrFilterSourceIp
        IpAddress,
    snBgp4AddrFilterSourceMask
        IpAddress,
    snBgp4AddrFilterDestIp
        IpAddress,
    snBgp4AddrFilterDestMask
        IpAddress,
    snBgp4AddrFilterRowStatus
        INTEGER
    }

snBgp4AddrFilterIndex       OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The table index for a filter entry."
    ::= { snBgp4AddrFilterEntry 1 }

snBgp4AddrFilterAction      OBJECT-TYPE
    SYNTAX  INTEGER { deny(0), permit(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Action to take if the bgp address match
        with this filter."
    ::= { snBgp4AddrFilterEntry 2 }

snBgp4AddrFilterSourceIp    OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Source IP address."
    ::= { snBgp4AddrFilterEntry 3 }

snBgp4AddrFilterSourceMask  OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Source IP subnet mask."
    ::= { snBgp4AddrFilterEntry 4 }

snBgp4AddrFilterDestIp      OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Destination IP address."
    ::= { snBgp4AddrFilterEntry 5 }

snBgp4AddrFilterDestMask    OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Destination IP subnet mask."
    ::= { snBgp4AddrFilterEntry 6 }

snBgp4AddrFilterRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4AddrFilterEntry 7 }

-- Bgp4 Aggregate Address table

snBgp4AggregateAddrTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4AggregateAddrEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Aggregate Address table."
    ::= { snBgp4AggregateAddr 1 }

snBgp4AggregateAddrEntry       OBJECT-TYPE
    SYNTAX  SnBgp4AggregateAddrEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Aggregate Address table."
    INDEX   { snBgp4AggregateAddrIp, snBgp4AggregateAddrMask, snBgp4AggregateAddrOption }
    ::= { snBgp4AggregateAddrTable 1 }

SnBgp4AggregateAddrEntry ::= SEQUENCE {
    snBgp4AggregateAddrIp
        IpAddress,
    snBgp4AggregateAddrMask
        IpAddress,
    snBgp4AggregateAddrOption
        INTEGER,
    snBgp4AggregateAddrMap
        OCTET STRING,
    snBgp4AggregateAddrRowStatus
        INTEGER
    }

snBgp4AggregateAddrIp    OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Aggregate Address IP address."
    ::= { snBgp4AggregateAddrEntry 1 }

snBgp4AggregateAddrMask  OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Aggregate Address IP subnet mask."
    ::= { snBgp4AggregateAddrEntry 2 }

snBgp4AggregateAddrOption      OBJECT-TYPE
    SYNTAX  INTEGER { 
                address(1), 
                asSet(2), 
                summaryOnly(3), 
                suppressMap(4), 
                advertiseMap(5), 
                attributeMap(6) 
                } 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "address(1), asSet(2), summaryOnly(3), 
        the suppressMap(4), advertiseMap(5), 
        attributeMap(6) are Options for creating an aggregate entry 
        in a BGP routing table."
    ::= { snBgp4AggregateAddrEntry 3 }

snBgp4AggregateAddrMap      OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "This object associates with the snBgp4AggregateAddrOption and 
        the suppressMap(4), advertiseMap(5), attributeMap(6) of the 
        snBgp4AggregateAddrOption are only two Options for creating 
        an aggregate address map. A SNMP-SET error will be returned 
        for other options.  An octet string of the map name, 
        each character of the name is represented by one octet."
    ::= { snBgp4AggregateAddrEntry 4 }

snBgp4AggregateAddrRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4AggregateAddrEntry 5 }

-- Bgp4 AS-Path Filter table

snBgp4AsPathFilterTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4AsPathFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 AS-Path Filter table."
    ::= { snBgp4AsPathFilter 1 }

snBgp4AsPathFilterEntry       OBJECT-TYPE
    SYNTAX  SnBgp4AsPathFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 As-path Filter table."
    INDEX   { snBgp4AsPathFilterIndex }
    ::= { snBgp4AsPathFilterTable 1 }

SnBgp4AsPathFilterEntry ::= SEQUENCE {
    snBgp4AsPathFilterIndex
        INTEGER,
    snBgp4AsPathFilterAction              
        INTEGER,
    snBgp4AsPathFilterRegExpression
        OCTET STRING,
    snBgp4AsPathFilterRowStatus
        INTEGER
    }

snBgp4AsPathFilterIndex       OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The table index for a filter entry."
    ::= { snBgp4AsPathFilterEntry 1 }

snBgp4AsPathFilterAction      OBJECT-TYPE
    SYNTAX  INTEGER { deny(0), permit(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Action to take if the bgp address match
        with this filter."
    ::= { snBgp4AsPathFilterEntry 2 }

snBgp4AsPathFilterRegExpression    OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..256))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Autonomous system in the filter using a regular expression.
        Each character of the regular expression string is represented
        by one octet."
    ::= { snBgp4AsPathFilterEntry 3 }

snBgp4AsPathFilterRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4AsPathFilterEntry 4 }


-- Bgp4 Community Filter table

snBgp4CommunityFilterTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4CommunityFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Community Filter table."
    ::= { snBgp4CommunityFilter 1 }

snBgp4CommunityFilterEntry       OBJECT-TYPE
    SYNTAX  SnBgp4CommunityFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Community Filter table."
    INDEX   { snBgp4CommunityFilterIndex }
    ::= { snBgp4CommunityFilterTable 1 }

SnBgp4CommunityFilterEntry ::= SEQUENCE {
    snBgp4CommunityFilterIndex
        INTEGER,
    snBgp4CommunityFilterAction              
        INTEGER,
    snBgp4CommunityFilterCommNum
        OCTET STRING,
    snBgp4CommunityFilterInternet
        INTEGER,
    snBgp4CommunityFilterNoAdvertise
        INTEGER,
    snBgp4CommunityFilterNoExport
        INTEGER,
    snBgp4CommunityFilterRowStatus
        INTEGER,
    snBgp4CommunityFilterLocalAs
        INTEGER
    }

snBgp4CommunityFilterIndex       OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The table index for a filter entry."
    ::= { snBgp4CommunityFilterEntry 1 }

snBgp4CommunityFilterAction      OBJECT-TYPE
    SYNTAX  INTEGER { deny(0), permit(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Action to take if the bgp address match
        with this filter."
    ::= { snBgp4CommunityFilterEntry 2 }

snBgp4CommunityFilterCommNum    OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..80))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFFFFFF. There are 20 of them.  
        This integer number is represented by 4 OCTETs."
    ::= { snBgp4CommunityFilterEntry 3 }

snBgp4CommunityFilterInternet OBJECT-TYPE
    SYNTAX  INTEGER { disabled(0), enabled(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Disabled/Enabled the Internet Community."
    ::= { snBgp4CommunityFilterEntry 4 }

snBgp4CommunityFilterNoAdvertise OBJECT-TYPE
    SYNTAX  INTEGER { false(0), true(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Do not advertise this route to any peer (internal or external)."
    ::= { snBgp4CommunityFilterEntry 5 }

snBgp4CommunityFilterNoExport OBJECT-TYPE
    SYNTAX  INTEGER { false(0), true(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Do not advertise this route to an EBGP peer."
    ::= { snBgp4CommunityFilterEntry 6 }

snBgp4CommunityFilterRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4CommunityFilterEntry 7 }

snBgp4CommunityFilterLocalAs OBJECT-TYPE
    SYNTAX  INTEGER { false(0), true(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Send this route to peers in other sub-autonomous systems within
        the local confederation. Do not advertise this route to an 
        external system."
    ::= { snBgp4CommunityFilterEntry 8 }

-- Bgp4 Neighbor General Configuration Table

snBgp4NeighGenCfgTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighGenCfgEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Neighbor General Configuration table."
    ::= { snBgp4NeighGenCfg 1 }

snBgp4NeighGenCfgEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighGenCfgEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Community Filter table."
    INDEX   { snBgp4NeighGenCfgNeighIp }
    ::= { snBgp4NeighGenCfgTable 1 }

SnBgp4NeighGenCfgEntry ::= SEQUENCE {
    snBgp4NeighGenCfgNeighIp
        IpAddress,
    snBgp4NeighGenCfgAdvertlevel
        INTEGER,
    snBgp4NeighGenCfgDefOriginate             
        INTEGER,
    snBgp4NeighGenCfgEbgpMultihop
        INTEGER,
    snBgp4NeighGenCfgMaxPrefix
        INTEGER,
    snBgp4NeighGenCfgNextHopSelf
        INTEGER,
    snBgp4NeighGenCfgRemoteAs
        INTEGER,
    snBgp4NeighGenCfgSendComm
        INTEGER,
    snBgp4NeighGenCfgWeight
        INTEGER,
    snBgp4NeighGenCfgWeightFilterList             
        OCTET STRING,
    snBgp4NeighGenCfgRowStatus
        INTEGER,
    snBgp4NeighGenCfgUpdateSrcLpbIntf
        INTEGER,
    snBgp4NeighGenCfgRouteRefClient
        INTEGER,
    snBgp4NeighGenCfgRemovePrivateAs
        INTEGER,
    snBgp4NeighGenCfgEbgpMultihopTtl
        INTEGER,
    snBgp4NeighGenCfgShutdown
        INTEGER,
    snBgp4NeighGenCfgKeepAliveTime
        INTEGER,
    snBgp4NeighGenCfgHoldTime
        INTEGER,
    snBgp4NeighGenCfgDefOrigMap
        OCTET STRING,
    snBgp4NeighGenCfgDesc
        OCTET STRING,
    snBgp4NeighGenCfgPass
        OCTET STRING
    }

snBgp4NeighGenCfgNeighIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry."
    ::= { snBgp4NeighGenCfgEntry 1 }

snBgp4NeighGenCfgAdvertlevel   OBJECT-TYPE
    SYNTAX  INTEGER (0..600) 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "To set the minimum interval between the 
        sending of BGP routing updates."
    ::= { snBgp4NeighGenCfgEntry 2 }

snBgp4NeighGenCfgDefOriginate OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To enable/disable the default originate for this neighbor."
    ::= { snBgp4NeighGenCfgEntry 3 }

snBgp4NeighGenCfgEbgpMultihop    OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To enable/disable the EBGP Muitihop for this neighbor."
    ::= { snBgp4NeighGenCfgEntry 4 }

snBgp4NeighGenCfgMaxPrefix    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To control how many prefixes can be received from a neighbor.
       The minimum value of the maximum prefix is snBgp4GenNeighPrefixMinValue.
       The maximum value of the maximum prefix is snBgp4GenOperRoutes."
    ::= { snBgp4NeighGenCfgEntry 5 }

snBgp4NeighGenCfgNextHopSelf    OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To enable/disable the next-hop processing of BGP updates on the router."
    ::= { snBgp4NeighGenCfgEntry 6 }

snBgp4NeighGenCfgRemoteAs    OBJECT-TYPE
    SYNTAX   INTEGER (1..65535)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To specify a neighbor with an autonomous system number(AS)."
    ::= { snBgp4NeighGenCfgEntry 7 }

snBgp4NeighGenCfgSendComm    OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To specify that a COMMUNITES attribute should be sent to a BGP neighbor."
    ::= { snBgp4NeighGenCfgEntry 8 }

snBgp4NeighGenCfgWeight    OBJECT-TYPE
    SYNTAX   INTEGER (0..65535)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To assign a weight to a neighbor connection."
    ::= { snBgp4NeighGenCfgEntry 9 }

snBgp4NeighGenCfgWeightFilterList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them. 
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighGenCfgEntry 10 }

snBgp4NeighGenCfgRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5),
        applyDefault(6)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row
     applyDefault(6)...apply default value to an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4NeighGenCfgEntry 11 }

snBgp4NeighGenCfgUpdateSrcLpbIntf    OBJECT-TYPE
    SYNTAX   INTEGER (0..8)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To allow internal BGP sessions to use any operational 
       loopback interface (1..8) for TCP connections.  Zero
       interface means to restore the interface assignment to the 
       closest interface, which is called the best local address."
    ::= { snBgp4NeighGenCfgEntry 12 }


snBgp4NeighGenCfgRouteRefClient    OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To configure the router as a BGP route reflector,
       enable the specified neighbor as its client.
       When all the clients are disabled, the local router
       is no longer a route reflector."
    ::= { snBgp4NeighGenCfgEntry 13 }

snBgp4NeighGenCfgRemovePrivateAs    OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To enable/disable filtering private AS number."
    ::= { snBgp4NeighGenCfgEntry 14 }

snBgp4NeighGenCfgEbgpMultihopTtl    OBJECT-TYPE
    SYNTAX   INTEGER (0..255)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "The EBGP Muitihop TTL for this neighbor."
    ::= { snBgp4NeighGenCfgEntry 15 }

snBgp4NeighGenCfgShutdown    OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To enable/disable BGP4 Nbr Shutdown."
    ::= { snBgp4NeighGenCfgEntry 16 }

snBgp4NeighGenCfgKeepAliveTime OBJECT-TYPE
         SYNTAX   INTEGER (0..65535)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Keep alive timer."
    ::= { snBgp4NeighGenCfgEntry 17 }

snBgp4NeighGenCfgHoldTime OBJECT-TYPE
         SYNTAX   INTEGER (0..65535)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Hold time timer."
    ::= { snBgp4NeighGenCfgEntry 18 }

snBgp4NeighGenCfgDefOrigMap OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE(0..32)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "An octet string of the route-map name, each character of the name
            is represented by one octet."
    ::= { snBgp4NeighGenCfgEntry 19 }

snBgp4NeighGenCfgDesc OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE(0..80)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "An octet string of the neighbor description."
    ::= { snBgp4NeighGenCfgEntry 20 }

snBgp4NeighGenCfgPass OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE(0..80)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "An octet string of the neighbor Md5 password."
    ::= { snBgp4NeighGenCfgEntry 21 }

-- Bgp4 Neighbor Distribute Group Table

snBgp4NeighDistGroupTable    OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighDistGroupEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Neighbor Distribute Group table."
    ::= { snBgp4NeighDistGroup 1 }

snBgp4NeighDistGroupEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighDistGroupEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Distribute Group table."
    INDEX   { snBgp4NeighDistGroupNeighIp, snBgp4NeighDistGroupDir }
    ::= { snBgp4NeighDistGroupTable 1 }

SnBgp4NeighDistGroupEntry ::= SEQUENCE {
    snBgp4NeighDistGroupNeighIp
        IpAddress,
    snBgp4NeighDistGroupDir
        INTEGER,
    snBgp4NeighDistGroupAccessList             
        OCTET STRING,
    snBgp4NeighDistGroupRowStatus
        INTEGER,
    snBgp4NeighDistGroupInFilterList             
        OCTET STRING,
    snBgp4NeighDistGroupOutFilterList             
        OCTET STRING,
    snBgp4NeighDistGroupInIpAccessList             
        OCTET STRING,
    snBgp4NeighDistGroupOutIpAccessList             
        OCTET STRING,
    snBgp4NeighDistGroupInPrefixList             
        OCTET STRING,
    snBgp4NeighDistGroupOutPrefixList             
        OCTET STRING
    }

snBgp4NeighDistGroupNeighIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry."
    ::= { snBgp4NeighDistGroupEntry 1 }

snBgp4NeighDistGroupDir   OBJECT-TYPE
    SYNTAX  INTEGER { out(0), in(1) } 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The incoming/outgoing advertisements to which 
        the access list is applied."
    ::= { snBgp4NeighDistGroupEntry 2 }

snBgp4NeighDistGroupAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighDistGroupEntry 3 }

snBgp4NeighDistGroupRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4NeighDistGroupEntry 4 }

snBgp4NeighDistGroupInFilterList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighDistGroupEntry 5 }

snBgp4NeighDistGroupOutFilterList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighDistGroupEntry 6 }

snBgp4NeighDistGroupInIpAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..2)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 1 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighDistGroupEntry 7 }

snBgp4NeighDistGroupOutIpAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..2)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 1 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighDistGroupEntry 8 }

snBgp4NeighDistGroupInPrefixList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A Prefix name list. " 
    ::= { snBgp4NeighDistGroupEntry 9 }

snBgp4NeighDistGroupOutPrefixList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A Prefix name list. " 
    ::= { snBgp4NeighDistGroupEntry 10 }

-- Bgp4 Neighbor Filter Group Table

snBgp4NeighFilterGroupTable    OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighFilterGroupEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Neighbor Filter Group table."
    ::= { snBgp4NeighFilterGroup 1 }

snBgp4NeighFilterGroupEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighFilterGroupEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Neighbor Filter Group table."
    INDEX   { snBgp4NeighFilterGroupNeighIp, snBgp4NeighFilterGroupDir }
    ::= { snBgp4NeighFilterGroupTable 1 }

SnBgp4NeighFilterGroupEntry ::= SEQUENCE {
    snBgp4NeighFilterGroupNeighIp
        IpAddress,
    snBgp4NeighFilterGroupDir
        INTEGER,
    snBgp4NeighFilterGroupAccessList             
        OCTET STRING,
    snBgp4NeighFilterGroupRowStatus
        INTEGER,
    snBgp4NeighFilterGroupInFilterList             
        OCTET STRING,
    snBgp4NeighFilterGroupOutFilterList             
        OCTET STRING,
    snBgp4NeighFilterGroupInAsPathAccessList             
        OCTET STRING,
    snBgp4NeighFilterGroupOutAsPathAccessList             
        OCTET STRING,
    snBgp4NeighFilterGroupWeight             
        INTEGER,
    snBgp4NeighFilterGroupWeightAccessList             
        OCTET STRING
    }

snBgp4NeighFilterGroupNeighIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry."
    ::= { snBgp4NeighFilterGroupEntry 1 }

snBgp4NeighFilterGroupDir   OBJECT-TYPE
    SYNTAX  INTEGER { out(0), in(1) } 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The incoming/outgoing advertisements to which 
        the access list is applied."
    ::= { snBgp4NeighFilterGroupEntry 2 }

snBgp4NeighFilterGroupAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighFilterGroupEntry 3 }

snBgp4NeighFilterGroupRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4NeighFilterGroupEntry 4 }

snBgp4NeighFilterGroupInFilterList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighFilterGroupEntry 5 }

snBgp4NeighFilterGroupOutFilterList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 16 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighFilterGroupEntry 6 }

snBgp4NeighFilterGroupInAsPathAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..2)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 1 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighFilterGroupEntry 7 }

snBgp4NeighFilterGroupOutAsPathAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..2)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 1 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighFilterGroupEntry 8 }

snBgp4NeighFilterGroupWeight OBJECT-TYPE
    SYNTAX   INTEGER  (0..65535)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To assign a weight to a neighbor filter."
    ::= { snBgp4NeighFilterGroupEntry 9 }

snBgp4NeighFilterGroupWeightAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..2)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "A number from 1 to 0xFFFF. There are 1 of them.  
        This integer number is represented by 2 OCTETs."
    ::= { snBgp4NeighFilterGroupEntry 10 }

-- Bgp4 Neighbor Route Map Table

snBgp4NeighRouteMapTable    OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighRouteMapEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Neighbor Route Map table."
    ::= { snBgp4NeighRouteMap 1 }

snBgp4NeighRouteMapEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighRouteMapEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Route Map table."
    INDEX   { snBgp4NeighRouteMapNeighIp, snBgp4NeighRouteMapDir }
    ::= { snBgp4NeighRouteMapTable 1 }

SnBgp4NeighRouteMapEntry ::= SEQUENCE {
    snBgp4NeighRouteMapNeighIp
        IpAddress,
    snBgp4NeighRouteMapDir
        INTEGER,
    snBgp4NeighRouteMapMapName             
        OCTET STRING,
    snBgp4NeighRouteMapRowStatus
        INTEGER
    }

snBgp4NeighRouteMapNeighIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry."
    ::= { snBgp4NeighRouteMapEntry 1 }

snBgp4NeighRouteMapDir   OBJECT-TYPE
    SYNTAX  INTEGER { out(0), in(1) } 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The incoming/outgoing advertisements to which 
        the access list is applied."
    ::= { snBgp4NeighRouteMapEntry 2 }

snBgp4NeighRouteMapMapName OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "An octet string of the route-map name, Each character of the name
        is represented by one octet."
    ::= { snBgp4NeighRouteMapEntry 3 }

snBgp4NeighRouteMapRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4NeighRouteMapEntry 4 }


-- Bgp4 Network Table

snBgp4NetworkTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NetworkEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Network Weight table."
    ::= { snBgp4Network 1 }

snBgp4NetworkEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NetworkEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Network Weight table."
    INDEX   { snBgp4NetworkIp, snBgp4NetworkSubnetMask }
    ::= { snBgp4NetworkTable 1 }

SnBgp4NetworkEntry ::= SEQUENCE {
    snBgp4NetworkIp
        IpAddress,
    snBgp4NetworkSubnetMask             
        IpAddress,
    snBgp4NetworkWeight
        INTEGER,
    snBgp4NetworkBackdoor
        INTEGER,
    snBgp4NetworkRowStatus
        INTEGER
    }

snBgp4NetworkIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a network entry."
    ::= { snBgp4NetworkEntry 1 }

snBgp4NetworkSubnetMask OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The subnet mask for a network entry."
    ::= { snBgp4NetworkEntry 2 }

snBgp4NetworkWeight    OBJECT-TYPE
    SYNTAX   INTEGER  (0..65535)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To assign a weight to a neighbor connection."
    ::= { snBgp4NetworkEntry 3 }

snBgp4NetworkBackdoor   OBJECT-TYPE
    SYNTAX  INTEGER { disabled (0), enabled (1) }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
       "To enable/disable the backdoor for this network."
    ::= { snBgp4NetworkEntry 4 }

snBgp4NetworkRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4NetworkEntry 5 }

--  BGP4 Redistribution of Routes Table


     snBgp4RedisTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnBgp4RedisEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The BGP4 Redistribution contains configurations
            that could be imported into the BGP4 domain."
         ::= { snBgp4Redis 1 }

     snBgp4RedisEntry OBJECT-TYPE
         SYNTAX   SnBgp4RedisEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The BGP4 Redistribution Entry specifies a particular RIP 
            or , OSPF, or Static route to be imported into the BGP4 domain."
         INDEX { snBgp4RedisProtocol }
         ::= { snBgp4RedisTable 1 }

     SnBgp4RedisEntry ::=
         SEQUENCE {
             snBgp4RedisProtocol
                 INTEGER,
             snBgp4RedisMetric
                 INTEGER,
             snBgp4RedisRouteMap
                 OCTET STRING,
             snBgp4RedisWeight
                 INTEGER,
             snBgp4RedisMatchInternal
                 INTEGER,
             snBgp4RedisMatchExternal1
                 INTEGER,
             snBgp4RedisMatchExternal2
                 INTEGER,
             snBgp4RedisRowStatus
                 INTEGER
         }


    snBgp4RedisProtocol OBJECT-TYPE
         SYNTAX   INTEGER {
            rip(1),
            ospf(2),
            static(3),
            connected(4),
            isis(5)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The imported configuration into BGP4 domain is set in the following: 
                rip(1):        - the RIP.
                ospf(2):    - the OSPF.
                static(3):    - the static.
                connected(4):    - the connected.
                isis(5):    - the ISIS."
         ::= { snBgp4RedisEntry 1 }

      snBgp4RedisMetric OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using the specified protocol Metric value."
         ::= { snBgp4RedisEntry 2 }


      snBgp4RedisRouteMap OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE(0..32)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "An octet string of the route-map name, each character of the name
            is represented by one octet."
         ::= { snBgp4RedisEntry 3 }

    snBgp4RedisWeight OBJECT-TYPE
         SYNTAX   INTEGER (0..65535)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "To assign a weight for the specified protocol."
         ::= { snBgp4RedisEntry 4 }

    snBgp4RedisMatchInternal OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "This object is only applicable to the OSPF protocol."
         ::= { snBgp4RedisEntry 5 }

    snBgp4RedisMatchExternal1 OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "This object is only applicable to the OSPF protocol."
         ::= { snBgp4RedisEntry 6 }

    snBgp4RedisMatchExternal2 OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "This object is only applicable to the OSPF protocol."
         ::= { snBgp4RedisEntry 7 }

    snBgp4RedisRowStatus   OBJECT-TYPE
         SYNTAX     INTEGER {
            invalid(1),
            valid(2),
            delete(3),
            create(4),
            modify(5)
         }
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION
            "This object is used to create and
             delete row in the table and control
             if they are used. The values
             that can be written are:
             delete(3)...deletes the row
             create(4)...creates a new row
             modify(5)...modifies an exsisting row

             If the row exists, then a SET with
             value of create(4) returns error
             'badValue'. Deleted rows go away
             immediately. The following values
             can be returned on reads:
             noSuch(0)...no such row
             invalid(1)...Setting it to 'invalid' has the effect of
                           rendering it inoperative..
             valid(2)....the row exists and is valid"
         ::= { snBgp4RedisEntry 8 }

-- Bgp4 Route Map Filter table

snBgp4RouteMapFilterTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4RouteMapFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 RouteMap Filter table."
    ::= { snBgp4RouteMapFilter 1 }

snBgp4RouteMapFilterEntry       OBJECT-TYPE
    SYNTAX  SnBgp4RouteMapFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 RouteMap Filter table."
    INDEX   { snBgp4RouteMapFilterMapName, snBgp4RouteMapFilterSequenceNum}
    ::= { snBgp4RouteMapFilterTable 1 }

SnBgp4RouteMapFilterEntry ::= SEQUENCE {
    snBgp4RouteMapFilterMapName
        OCTET STRING,
    snBgp4RouteMapFilterSequenceNum
        INTEGER,
    snBgp4RouteMapFilterAction              
        INTEGER,
    snBgp4RouteMapFilterRowStatus
        INTEGER
    }

snBgp4RouteMapFilterMapName    OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "An octet string of the route-map name, each character of the name
         is represented by one octet."
    ::= { snBgp4RouteMapFilterEntry 1 }

snBgp4RouteMapFilterSequenceNum OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A sequence number for this particular route-map."
    ::= { snBgp4RouteMapFilterEntry 2 }

snBgp4RouteMapFilterAction      OBJECT-TYPE
    SYNTAX  INTEGER { deny(0), permit(1) } 
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Action to take if the bgp address match
        with this filter."
    ::= { snBgp4RouteMapFilterEntry 3 }

snBgp4RouteMapFilterRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4RouteMapFilterEntry 4 }


--  BGP4 Route Map Match Configuration Table


snBgp4RouteMapMatchTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4RouteMapMatchEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Route Map Set table."
    ::= { snBgp4RouteMapMatch 1 }

snBgp4RouteMapMatchEntry       OBJECT-TYPE
    SYNTAX  SnBgp4RouteMapMatchEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Route Map Match table."
    INDEX   { snBgp4RouteMapMatchMapName, snBgp4RouteMapMatchSequenceNum }
    ::= { snBgp4RouteMapMatchTable 1 }

SnBgp4RouteMapMatchEntry ::= SEQUENCE {
    snBgp4RouteMapMatchMapName
        OCTET STRING,
    snBgp4RouteMapMatchSequenceNum
        INTEGER,
    snBgp4RouteMapMatchAsPathFilter
        OCTET STRING,
    snBgp4RouteMapMatchCommunityFilter
        OCTET STRING,
    snBgp4RouteMapMatchAddressFilter
        OCTET STRING,
    snBgp4RouteMapMatchMetric              
        INTEGER,
    snBgp4RouteMapMatchNextHopList
        OCTET STRING,
    snBgp4RouteMapMatchRouteType              
        INTEGER,
    snBgp4RouteMapMatchTagList
        OCTET STRING,
    snBgp4RouteMapMatchRowMask
        INTEGER,
    snBgp4RouteMapMatchAsPathAccessList
        OCTET STRING,
    snBgp4RouteMapMatchCommunityList
        OCTET STRING,
    snBgp4RouteMapMatchAddressAccessList
        OCTET STRING,
    snBgp4RouteMapMatchAddressPrefixList
        OCTET STRING,
    snBgp4RouteMapMatchNextHopAccessList
        OCTET STRING,
    snBgp4RouteMapMatchNextHopPrefixList
        OCTET STRING
    }

snBgp4RouteMapMatchMapName    OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "An octet string of the route-map name, each character of the name
         is represented by one octet."
    ::= { snBgp4RouteMapMatchEntry 1 }

snBgp4RouteMapMatchSequenceNum OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A sequence number for this particular route-map."
    ::= { snBgp4RouteMapMatchEntry 2 }

snBgp4RouteMapMatchAsPathFilter OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..20)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFF and there are 10 of 2 OCTETs. 
        This integer number is represented by 2 OCTETs.
        To match a BGP autonomous system path access list."
    ::= { snBgp4RouteMapMatchEntry 3 }

snBgp4RouteMapMatchCommunityFilter OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..20)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFF and there are 10 of 2 OCTETs. 
        This integer number is represented by 2 OCTETs.
        To match a BGP community access list."
    ::= { snBgp4RouteMapMatchEntry 4 }

snBgp4RouteMapMatchAddressFilter OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..20)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFF and there are 10 of 2 OCTETs. 
        This integer number is represented by 2 OCTETs.
        To match a BGP address access list."
    ::= { snBgp4RouteMapMatchEntry 5 }

snBgp4RouteMapMatchMetric OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To match a metric for BGP routes."
    ::= { snBgp4RouteMapMatchEntry 6 }

snBgp4RouteMapMatchNextHopList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFF and there are 16 of 2 OCTETs. 
        This integer number is represented by 2 OCTETs.
        To match a BGP next-hop access list."
    ::= { snBgp4RouteMapMatchEntry 7 }

snBgp4RouteMapMatchRouteType OBJECT-TYPE
    SYNTAX   INTEGER {
                none(0), 
                external(1), 
                externalType1(2), 
                externalType2(3), 
                internal(4), 
                local(5) 
                }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To match a route-type. 
        Currently only externalType1(2), 
        externalType2(3), internal(4) is supported for SNMP-SET."
    ::= { snBgp4RouteMapMatchEntry 8 }

snBgp4RouteMapMatchTagList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To match a BGP tag access list."
    ::= { snBgp4RouteMapMatchEntry 9 }

snBgp4RouteMapMatchRowMask   OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used together with above
     MIBs in the same VARBIND to set and
     reset any MIBs in the table.
     The bit number is referred to the 
     snBgp4RouteMapMatchEntry number
     of each row in the table.
     The bit is ON  - means set,
     The bit is OFF - means reset"
    ::= { snBgp4RouteMapMatchEntry 10 }

snBgp4RouteMapMatchAsPathAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..20)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFFFFFF and there are 5 of 4 OCTETs. 
        This integer number is represented by 4 OCTETs.
        To match a BGP autonomous system path access list."
    ::= { snBgp4RouteMapMatchEntry 11 }

snBgp4RouteMapMatchCommunityList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..20)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFFFFFF and there are 5 of 4 OCTETs. 
        This integer number is represented by 4 OCTETs.
        To match a BGP community access list."
    ::= { snBgp4RouteMapMatchEntry 12 }

snBgp4RouteMapMatchAddressAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..10)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFF and there are 5 of 2 OCTETs. 
        This integer number is represented by 2 OCTETs.
        To match a BGP address access list."
    ::= { snBgp4RouteMapMatchEntry 13 }

snBgp4RouteMapMatchAddressPrefixList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..170)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "Prefix list 
        To match a BGP address access list."
    ::= { snBgp4RouteMapMatchEntry 14 }

snBgp4RouteMapMatchNextHopAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..10)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "A number from 1 to 0xFFFF and there are 5 of 2 OCTETs. 
        This integer number is represented by 2 OCTETs.
        To match a BGP address access list."
    ::= { snBgp4RouteMapMatchEntry 15 }

snBgp4RouteMapMatchNextHopPrefixList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..170)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "Prefix list 
        To match a BGP address access list."
    ::= { snBgp4RouteMapMatchEntry 16 }

--  BGP4 Route Map Set Configuration Table

snBgp4RouteMapSetTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4RouteMapSetEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Route Map Set table."
    ::= { snBgp4RouteMapSet 1 }

snBgp4RouteMapSetEntry       OBJECT-TYPE
    SYNTAX  SnBgp4RouteMapSetEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Route Map Set table."
    INDEX   { snBgp4RouteMapSetMapName, snBgp4RouteMapSetSequenceNum }
    ::= { snBgp4RouteMapSetTable 1 }

SnBgp4RouteMapSetEntry ::= SEQUENCE {
    snBgp4RouteMapSetMapName
        OCTET STRING,
    snBgp4RouteMapSetSequenceNum              
        INTEGER,
    snBgp4RouteMapSetAsPathType              
        INTEGER,
    snBgp4RouteMapSetAsPathString
        OCTET STRING,
    snBgp4RouteMapSetAutoTag              
        INTEGER,
    snBgp4RouteMapSetCommunityType              
        INTEGER,
    snBgp4RouteMapSetCommunityNum              
        INTEGER,
    snBgp4RouteMapSetCommunityAdditive              
        INTEGER,
    snBgp4RouteMapSetLocalPreference              
        INTEGER,
    snBgp4RouteMapSetMetric              
        INTEGER,
    snBgp4RouteMapSetNextHop              
        IpAddress,
    snBgp4RouteMapSetOrigin              
        INTEGER,
    snBgp4RouteMapSetTag              
        INTEGER,
    snBgp4RouteMapSetWeight              
        INTEGER,
    snBgp4RouteMapSetRowMask
        INTEGER,
    snBgp4RouteMapSetCommunityNums              
        OCTET STRING,
    snBgp4RouteMapSetDampenHalfLife
        INTEGER,
    snBgp4RouteMapSetDampenReuse
        INTEGER,
    snBgp4RouteMapSetDampenSuppress
        INTEGER,
    snBgp4RouteMapSetDampenMaxSuppress
        INTEGER
    }

snBgp4RouteMapSetMapName    OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "An octet string of the route-map name, each character of the name
         is represented by one octet."
    ::= { snBgp4RouteMapSetEntry 1 }

snBgp4RouteMapSetSequenceNum OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A sequence number for this particular route-map."
    ::= { snBgp4RouteMapSetEntry 2 }

snBgp4RouteMapSetAsPathType OBJECT-TYPE
    SYNTAX   INTEGER { tag(0), prepend(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To modify an autonomous system path for BGP routes. 
        tag(0) - Converts the tag of a route into an autonomous system path.
        prepend(1) - Appends the string from snBgp4RouteMapSetAsPathString to the 
                     as-path of the route that is matched by the route map."
    ::= { snBgp4RouteMapSetEntry 3 }

snBgp4RouteMapSetAsPathString OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "as-path string. This string is used if only if the snBgp4RouteMapSetAsPathCmd
        was sent together with the value set to prepend(1)."
    ::= { snBgp4RouteMapSetEntry 4 }

snBgp4RouteMapSetAutoTag OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To enable/disable the automatic-tag for BGP routes."
    ::= { snBgp4RouteMapSetEntry 5 }

snBgp4RouteMapSetCommunityType OBJECT-TYPE
    SYNTAX   INTEGER { nums(0), none(3)}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To set the BGP COMMUNITIES attribute. none means no other
     community attributes are allowed, nums means allowing community
     attributesi, the old values 1 and 2 are not valid since 5.03.00"
    ::= { snBgp4RouteMapSetEntry 6 }

snBgp4RouteMapSetCommunityNum OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   deprecated
    DESCRIPTION
        "community-number. This number is used if only if the snBgp4RouteMapSetCommunityCmd
        was sent together with the value set to number(0)."
    ::= { snBgp4RouteMapSetEntry 7 }

snBgp4RouteMapSetCommunityAdditive OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To add the community to the already existing communities." 
    ::= { snBgp4RouteMapSetEntry 8 }

snBgp4RouteMapSetLocalPreference OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To modify a local-preference for BGP routes."
    ::= { snBgp4RouteMapSetEntry 9 }

snBgp4RouteMapSetMetric OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To modify a metric for BGP routes."
    ::= { snBgp4RouteMapSetEntry 10 }

snBgp4RouteMapSetNextHop OBJECT-TYPE
    SYNTAX   IpAddress
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To modify the IP address of the next hop for BGP routes."
    ::= { snBgp4RouteMapSetEntry 11 }

snBgp4RouteMapSetOrigin OBJECT-TYPE
    SYNTAX   INTEGER { igp(0), egp(1), incomplete(2) }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To set the BGP origin code."
    ::= { snBgp4RouteMapSetEntry 12 }

snBgp4RouteMapSetTag OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To specify the tag for BGP routes."
    ::= { snBgp4RouteMapSetEntry 13 }

snBgp4RouteMapSetWeight OBJECT-TYPE
    SYNTAX   INTEGER (0..65535)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "To specify the BGP weight for the routing table."
    ::= { snBgp4RouteMapSetEntry 14 }

snBgp4RouteMapSetRowMask   OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used together with above
     MIBs in the same VARBIND to set and
     reset any MIBs in the table.
     The bit number is referred to the 
     snBgp4RouteMapSetEntry number
     of each row in the table. 
     The bit is ON  - means set,
     The bit is OFF - means reset"
    ::= { snBgp4RouteMapSetEntry 15 }

snBgp4RouteMapSetCommunityNums OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..24))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Community number is from 1 to 0xFFFFFFFF. There are 6 of them.  
        This integer number is represented by 4 OCTETs."
    ::= { snBgp4RouteMapSetEntry 16 }

snBgp4RouteMapSetDampenHalfLife OBJECT-TYPE
         SYNTAX   INTEGER (1..45)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Route Map Dampening Half Life."
    ::= { snBgp4RouteMapSetEntry 17 }

snBgp4RouteMapSetDampenReuse OBJECT-TYPE
         SYNTAX   INTEGER (1..20000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Route Map Dampening Reuse."
    ::= { snBgp4RouteMapSetEntry 18 }

snBgp4RouteMapSetDampenSuppress OBJECT-TYPE
         SYNTAX   INTEGER (1..20000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Route Map Dampening Suppress."
    ::= { snBgp4RouteMapSetEntry 19 }

snBgp4RouteMapSetDampenMaxSuppress OBJECT-TYPE
         SYNTAX   INTEGER (1..20000)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
        "Bgp4 Route Map Dampening Max Suppress Time."
    ::= { snBgp4RouteMapSetEntry 20 }

-- Bgp4 Neighbor Operational Status Table

snBgp4NeighOperStatusTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighOperStatusEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Neighbor Operational Status table."
    ::= { snBgp4NeighOperStatus 1 }

snBgp4NeighOperStatusEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighOperStatusEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Operational Status table."
    INDEX   { snBgp4NeighOperStatusIndex }
    ::= { snBgp4NeighOperStatusTable 1 }

SnBgp4NeighOperStatusEntry ::= SEQUENCE {
    snBgp4NeighOperStatusIndex
        INTEGER,
    snBgp4NeighOperStatusIp
        IpAddress,
    snBgp4NeighOperStatusRemoteAs
        INTEGER,
    snBgp4NeighOperStatusBgpType
        INTEGER,
    snBgp4NeighOperStatusState
        INTEGER,
    snBgp4NeighOperStatusKeepAliveTime
        INTEGER,
    snBgp4NeighOperStatusHoldTime
        INTEGER,
    snBgp4NeighOperStatusAdvertlevel
        INTEGER,
    snBgp4NeighOperStatusKeepAliveTxCounts             
        Counter,
    snBgp4NeighOperStatusKeepAliveRxCounts             
        Counter,
    snBgp4NeighOperStatusUpdateTxCounts             
        Counter,
    snBgp4NeighOperStatusUpdateRxCounts             
        Counter,
    snBgp4NeighOperStatusNotifTxCounts
        Counter,
    snBgp4NeighOperStatusNotifRxCounts
        Counter,
    snBgp4NeighOperStatusOpenTxCounts
        Counter,
    snBgp4NeighOperStatusOpenRxCounts
        Counter
    }

snBgp4NeighOperStatusIndex   OBJECT-TYPE
    SYNTAX  INTEGER 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The index for a neighbor entry." 
    ::= { snBgp4NeighOperStatusEntry 1 }

snBgp4NeighOperStatusIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry."
    ::= { snBgp4NeighOperStatusEntry 2 }

snBgp4NeighOperStatusRemoteAs    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show a neighbor with an autonomous system number(AS)."
    ::= { snBgp4NeighOperStatusEntry 3 }

snBgp4NeighOperStatusBgpType    OBJECT-TYPE
    SYNTAX   INTEGER  { ebgp(0), ibgp(1) }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the type of BGP protocol whether is internal or external."
    ::= { snBgp4NeighOperStatusEntry 4 }

snBgp4NeighOperStatusState    OBJECT-TYPE
    SYNTAX   INTEGER  { 
                noState(0), 
                idle(1), 
                connect(2), 
                active(3), 
                openSent(4), 
                openConfirm(5), 
                established(6) 
                }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the state of this neighbor."
    ::= { snBgp4NeighOperStatusEntry 5 }

snBgp4NeighOperStatusKeepAliveTime OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The Keep alive timer."
    ::= { snBgp4NeighOperStatusEntry 6 }

snBgp4NeighOperStatusHoldTime OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The Hold time timer."
    ::= { snBgp4NeighOperStatusEntry 7 }

snBgp4NeighOperStatusAdvertlevel   OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "To show the minimum interval between the 
        sending of BGP routing updates."
    ::= { snBgp4NeighOperStatusEntry 8 }

snBgp4NeighOperStatusKeepAliveTxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Keep alive message sent counts."
    ::= { snBgp4NeighOperStatusEntry 9 }

snBgp4NeighOperStatusKeepAliveRxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Keep alive message received counts."
    ::= { snBgp4NeighOperStatusEntry 10 }

snBgp4NeighOperStatusUpdateTxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Update message sent counts."
    ::= { snBgp4NeighOperStatusEntry 11 }

snBgp4NeighOperStatusUpdateRxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Update message received counts."
    ::= { snBgp4NeighOperStatusEntry 12 }

snBgp4NeighOperStatusNotifTxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Notification message sent counts."
    ::= { snBgp4NeighOperStatusEntry 13 }

snBgp4NeighOperStatusNotifRxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Notification message received counts."
    ::= { snBgp4NeighOperStatusEntry 14 }

snBgp4NeighOperStatusOpenTxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Open message sent counts."
    ::= { snBgp4NeighOperStatusEntry 15 }

snBgp4NeighOperStatusOpenRxCounts OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "Open message received counts."
    ::= { snBgp4NeighOperStatusEntry 16 }

-- Bgp4 Routes Operational Status Table

snBgp4RouteOperStatusTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4RouteOperStatusEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Routebor Operational Status table."
    ::= { snBgp4RouteOperStatus 1 }

snBgp4RouteOperStatusEntry       OBJECT-TYPE
    SYNTAX  SnBgp4RouteOperStatusEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Operational Status table."
    INDEX   { snBgp4RouteOperStatusIndex }
    ::= { snBgp4RouteOperStatusTable 1 }

SnBgp4RouteOperStatusEntry ::= SEQUENCE {
    snBgp4RouteOperStatusIndex
        INTEGER,
    snBgp4RouteOperStatusIp
        IpAddress,
    snBgp4RouteOperStatusSubnetMask
        IpAddress,
    snBgp4RouteOperStatusNextHop
        IpAddress,
    snBgp4RouteOperStatusMetric
        INTEGER,
    snBgp4RouteOperStatusLocalPreference
        INTEGER,
    snBgp4RouteOperStatusWeight
        INTEGER,
    snBgp4RouteOperStatusOrigin
        INTEGER,
    snBgp4RouteOperStatusStatus
        INTEGER,
    snBgp4RouteOperStatusRouteTag
        INTEGER,
    snBgp4RouteOperStatusCommunityList
        OCTET STRING,
    snBgp4RouteOperStatusAsPathList
        OCTET STRING
    }

snBgp4RouteOperStatusIndex   OBJECT-TYPE
    SYNTAX  INTEGER 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The index for a route entry." 
    ::= { snBgp4RouteOperStatusEntry 1 }

snBgp4RouteOperStatusIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a route entry."
    ::= { snBgp4RouteOperStatusEntry 2 }

snBgp4RouteOperStatusSubnetMask       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Subnet Mask for a route entry."
    ::= { snBgp4RouteOperStatusEntry 3 }

snBgp4RouteOperStatusNextHop       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The next-hop IP for a route entry."
    ::= { snBgp4RouteOperStatusEntry 4 }

snBgp4RouteOperStatusMetric    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the metric value of a route entry."
    ::= { snBgp4RouteOperStatusEntry 5 }

snBgp4RouteOperStatusLocalPreference    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the local preference of a route entry."
    ::= { snBgp4RouteOperStatusEntry 6 }

snBgp4RouteOperStatusWeight    OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the weight of this route."
    ::= { snBgp4RouteOperStatusEntry 7 }

snBgp4RouteOperStatusOrigin    OBJECT-TYPE
    SYNTAX   INTEGER  { 
                igp(0), 
                egp(1),
                incomplete(2)
             }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the origin of this route."
    ::= { snBgp4RouteOperStatusEntry 8 }

snBgp4RouteOperStatusStatus    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "A bit array that contains the status of this route.
       This is a packed bit string; The following shows the
       meaning of each bit:
        (bit 0 is the least significant bit and 0=FALSE, 1=TRUE).

          bit position   meaning
          ------------   -------
              6-31   reserved.
              5         aggregate.
              4      best.
              3      internal.
              2      local.
              1      suppressed.
              0      valid."
    ::= { snBgp4RouteOperStatusEntry 9 }

snBgp4RouteOperStatusRouteTag    OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the route tag of this route."
    ::= { snBgp4RouteOperStatusEntry 10 }

snBgp4RouteOperStatusCommunityList    OBJECT-TYPE
    SYNTAX   OCTET STRING 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the community list of this route.
       If the community list is an NULL string that means an empty list, then
       the community is INTERNET. A number from 1 to 0xFFFFFFFF.  
       This integer number is represented by 4 OCTETs.
       In the community list, it could have some Well-known numbers such as:  
       BGP_COMMUNITY_ATTRIBUTE_NO_EXPORT        0xFFFFFF01
       BGP_COMMUNITY_ATTRIBUTE_NO_ADVERTISE        0xFFFFFF02"
    ::= { snBgp4RouteOperStatusEntry 11 }


snBgp4RouteOperStatusAsPathList    OBJECT-TYPE
    SYNTAX   OCTET STRING 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the AS Path list of this route.
       A number from 1 to 0xFFFF.  
       This integer number is represented by 2 OCTETs."
    ::= { snBgp4RouteOperStatusEntry 12 }

-- Bgp4 Neighbor Summary Table

snBgp4NeighborSummaryTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighborSummaryEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Routebor Operational Status table."
    ::= { snBgp4NeighborSummary 1 }

snBgp4NeighborSummaryEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighborSummaryEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Operational Status table."
    INDEX   { snBgp4NeighborSummaryIndex }
    ::= { snBgp4NeighborSummaryTable 1 }

SnBgp4NeighborSummaryEntry ::= SEQUENCE {
    snBgp4NeighborSummaryIndex
        INTEGER,
    snBgp4NeighborSummaryIp
        IpAddress,
    snBgp4NeighborSummaryState
        INTEGER,
    snBgp4NeighborSummaryStateChgTime
        INTEGER,
    snBgp4NeighborSummaryRouteReceived
        INTEGER,
    snBgp4NeighborSummaryRouteInstalled
        INTEGER
    }

snBgp4NeighborSummaryIndex   OBJECT-TYPE
    SYNTAX  INTEGER 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The index for a route entry." 
    ::= { snBgp4NeighborSummaryEntry 1 }

snBgp4NeighborSummaryIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a route entry."
    ::= { snBgp4NeighborSummaryEntry 2 }

snBgp4NeighborSummaryState    OBJECT-TYPE
    SYNTAX   INTEGER  { 
                noState(0), 
                idle(1), 
                connect(2), 
                active(3), 
                openSent(4), 
                openConfirm(5), 
                established(6) 
                }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the state of this neighbor."
    ::= { snBgp4NeighborSummaryEntry 3 }

snBgp4NeighborSummaryStateChgTime OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The time of a change of the state of this neighbor."
    ::= { snBgp4NeighborSummaryEntry 4 }

snBgp4NeighborSummaryRouteReceived OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The number of routes received of this neighbor."
    ::= { snBgp4NeighborSummaryEntry 5 }

snBgp4NeighborSummaryRouteInstalled OBJECT-TYPE
    SYNTAX   INTEGER 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The number of routes installed of this neighbor."
    ::= { snBgp4NeighborSummaryEntry 6 }

-- Bgp4 Attribute Entries Table

snBgp4AttributeTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4AttributeEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Attribute entries table."
    ::= { snBgp4Attribute 1 }

snBgp4AttributeEntry       OBJECT-TYPE
    SYNTAX  SnBgp4AttributeEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Attribute table."
    INDEX   { snBgp4AttributeIndex }
    ::= { snBgp4AttributeTable 1 }

SnBgp4AttributeEntry ::= SEQUENCE {
    snBgp4AttributeIndex
        INTEGER,
    snBgp4AttributeNextHop
        IpAddress,
    snBgp4AttributeMetric
        INTEGER,
    snBgp4AttributeOrigin
        INTEGER,
    snBgp4AttributeAggregatorAs
        INTEGER,
    snBgp4AttributeRouterId
        IpAddress,
    snBgp4AttributeAtomicAggregatePresent
        INTEGER,
    snBgp4AttributeLocalPreference
        INTEGER,
    snBgp4AttributeCommunityList
        OCTET STRING,
    snBgp4AttributeAsPathList
        OCTET STRING,
    snBgp4AttributeOriginator
        IpAddress,
    snBgp4AttributeClusterList
        OCTET STRING
    }

snBgp4AttributeIndex   OBJECT-TYPE
    SYNTAX  INTEGER 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The index for a route entry." 
    ::= { snBgp4AttributeEntry 1 }

snBgp4AttributeNextHop       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The next-hop IP for a route entry."
    ::= { snBgp4AttributeEntry 2 }

snBgp4AttributeMetric    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the metric value of a route entry."
    ::= { snBgp4AttributeEntry 3 }

snBgp4AttributeOrigin    OBJECT-TYPE
    SYNTAX   INTEGER  { 
                igp(0), 
                egp(1),
                incomplete(2)
             }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the origin of this route."
    ::= { snBgp4AttributeEntry 4 }

snBgp4AttributeAggregatorAs    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "The aggregator AS number for an attribute entry."
    ::= { snBgp4AttributeEntry 5 }

snBgp4AttributeRouterId       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The router ID for an attribute entry."
    ::= { snBgp4AttributeEntry 6 }

snBgp4AttributeAtomicAggregatePresent    OBJECT-TYPE
    SYNTAX   INTEGER { false(0), true(1) }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "The atomic aggregate present in an attribute entry."
    ::= { snBgp4AttributeEntry 7 }

snBgp4AttributeLocalPreference    OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the local preference of a route entry."
    ::= { snBgp4AttributeEntry 8 }

snBgp4AttributeCommunityList    OBJECT-TYPE
    SYNTAX   OCTET STRING 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the community list of this attribute entry.
       If the community list is an NULL string that means an empty list, then
       the community is INTERNET. A number from 1 to 0xFFFFFFFF.  
       This integer number is represented by 4 OCTETs.
       In the community list, it could have some Well-known numbers such as:  
       BGP_COMMUNITY_ATTRIBUTE_NO_EXPORT        0xFFFFFF01
       BGP_COMMUNITY_ATTRIBUTE_NO_ADVERTISE        0xFFFFFF02"
    ::= { snBgp4AttributeEntry 9 }


snBgp4AttributeAsPathList    OBJECT-TYPE
    SYNTAX   OCTET STRING 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the AS Path list of this attribute entry.
       A number from 1 to 0xFFFF.  
       This integer number is represented by 2 OCTETs."
    ::= { snBgp4AttributeEntry 10 }

snBgp4AttributeOriginator       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The originator IP address for an attribute entry."
    ::= { snBgp4AttributeEntry 11 }

snBgp4AttributeClusterList    OBJECT-TYPE
    SYNTAX   OCTET STRING 
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
       "To show the cluster list of this attribute entry.
       If the cluster list is an NULL string, it means an empty list. 
       Otherwise, the list is a group of cluster ID which is
       represented by 4 OCTETs IP address."
    ::= { snBgp4AttributeEntry 12 }

-- Bgp4 Clear Neighbor Command Table

snBgp4ClearNeighborCmdTable       OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4ClearNeighborCmdEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Clear Bgp4 command table."
    ::= { snBgp4ClearNeighborCmd 1 }

snBgp4ClearNeighborCmdEntry       OBJECT-TYPE
    SYNTAX  SnBgp4ClearNeighborCmdEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the clear Bgp4 neighbor command table."
    INDEX   { snBgp4ClearNeighborCmdIp }
    ::= { snBgp4ClearNeighborCmdTable 1 }

SnBgp4ClearNeighborCmdEntry ::= SEQUENCE {
    snBgp4ClearNeighborCmdIp
        IpAddress,
    snBgp4ClearNeighborCmdElement
        INTEGER
    }

snBgp4ClearNeighborCmdIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry. 
        If the IP address is 255.255.255.255, it
        means for all neighbors."
    ::= { snBgp4ClearNeighborCmdEntry 1 }

snBgp4ClearNeighborCmdElement    OBJECT-TYPE
    SYNTAX   INTEGER  { 
                valid(0), 
                lastPacketWithError(1), 
                notificationErrors(2), 
                softOutbound(3), 
                traffic(4), 
                neighbor(5) 
                }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "To send the command element of this neighbor for value(1) to (5)
    valid(0) is received in SNMP-get."
    ::= { snBgp4ClearNeighborCmdEntry 2 }

-- Bgp4 Neighbor Prefix Group Table

snBgp4NeighPrefixGroupTable    OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnBgp4NeighPrefixGroupEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Bgp4 Neighbor Prefix Group table."
    ::= { snBgp4NeighPrefixGroup 1 }

snBgp4NeighPrefixGroupEntry       OBJECT-TYPE
    SYNTAX  SnBgp4NeighPrefixGroupEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An entry in the Bgp4 Prefix Group table."
    INDEX   { snBgp4NeighPrefixGroupNeighIp, snBgp4NeighPrefixGroupDir }
    ::= { snBgp4NeighPrefixGroupTable 1 }

SnBgp4NeighPrefixGroupEntry ::= SEQUENCE {
    snBgp4NeighPrefixGroupNeighIp
        IpAddress,
    snBgp4NeighPrefixGroupDir
        INTEGER,
    snBgp4NeighPrefixGroupInAccessList             
        OCTET STRING,
    snBgp4NeighPrefixGroupOutAccessList             
        OCTET STRING,
    snBgp4NeighPrefixGroupRowStatus
        INTEGER
    }

snBgp4NeighPrefixGroupNeighIp       OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The IP Address for a neighbor entry."
    ::= { snBgp4NeighPrefixGroupEntry 1 }

snBgp4NeighPrefixGroupDir   OBJECT-TYPE
    SYNTAX  INTEGER { out(0), in(1) } 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The incoming/outgoing advertisements to which 
        the access list is applied."
    ::= { snBgp4NeighPrefixGroupEntry 2 }

snBgp4NeighPrefixGroupInAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "An in access prefix list name. " 
    ::= { snBgp4NeighPrefixGroupEntry 3 }

snBgp4NeighPrefixGroupOutAccessList OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..32)) 
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
       "An out prefix list name. " 
    ::= { snBgp4NeighPrefixGroupEntry 4 }

snBgp4NeighPrefixGroupRowStatus   OBJECT-TYPE
    SYNTAX     INTEGER {
        invalid(1),
        valid(2),
        delete(3),
        create(4),
        modify(5)
    }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
    "This object is used to create and
     delete row in the table and control
     if they are used. The values
     that can be written are:
     delete(3)...deletes the row
     create(4)...creates a new row
     modify(5)...modifies an exsisting row

     If the row exists, then a SET with
     value of create(4) returns error
     'badValue'. Deleted rows go away
     immediately. The following values
     can be returned on reads:
     noSuch(0)...no such row
     invalid(1)...Setting it to 'invalid' has the effect of
              rendering it inoperative..
     valid(2)....the row exists and is valid"
    ::= { snBgp4NeighPrefixGroupEntry 5 }
END