FOUNDRY-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 FOUNDRY-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
