HP-SN-ROOT-MIB DEFINITIONS ::= BEGIN

-- LAN Switch-Router Root MIB Release 1.0.1
-- Revision 01/30/99

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

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

-- SECTION 1: Top Level Definitions


-- Branches under "switch"

-- Branch for registration of values for objects
-- with syntax of OBJECT IDENTIFIER
--  snReg		OBJECT IDENTIFIER ::= { switch 1 }

-- Branch for 'Enterprise' field value in traps
--  snTraps		OBJECT IDENTIFIER ::= { switch 2 }
--  snChaTrap   OBJECT IDENTIFIER ::= { snTraps 1 }

-- Major Switch MIB branches
 

IMPORTS
	enterprises
		FROM	RFC1155-SMI;	

hp		OBJECT IDENTIFIER ::= { enterprises 11 }
nm			OBJECT IDENTIFIER ::= { hp 2 }
system      OBJECT IDENTIFIER ::= { nm 3 }
netElement  OBJECT IDENTIFIER ::= { system 7 }

hpEtherSwitch  	OBJECT IDENTIFIER ::= { netElement 11 }
hpSwitchCore	OBJECT IDENTIFIER ::= { hpEtherSwitch 12 }
hpSwitch9308	OBJECT IDENTIFIER ::= { hpEtherSwitch 13 }
hpSwitch9304	OBJECT IDENTIFIER ::= { hpEtherSwitch 14 }
hpSwitch6308	OBJECT IDENTIFIER ::= { hpEtherSwitch 15 }
hpSwitch6208	OBJECT IDENTIFIER ::= { hpEtherSwitch 16 }
hpSwitch9315	OBJECT IDENTIFIER ::= { hpEtherSwitch 28 }
switch		OBJECT IDENTIFIER ::= { hpSwitchCore 1 }
  snChassis		OBJECT IDENTIFIER ::= { switch 1 }
  snAgentSys	OBJECT IDENTIFIER ::= { switch 2 }
  snSwitch		OBJECT IDENTIFIER ::= { switch 3 }
  snL4			OBJECT IDENTIFIER ::= { switch 4 }
  snStack		OBJECT IDENTIFIER ::= { switch 5 }

router 		OBJECT IDENTIFIER ::= { hpSwitchCore 2 }
  snIpx			OBJECT IDENTIFIER ::= { router 1 }
  snIp			OBJECT IDENTIFIER ::= { router 2 }
  snRip			OBJECT IDENTIFIER ::= { router 3 }
  snOspf		OBJECT IDENTIFIER ::= { router 4 }
  snDvmrp		OBJECT IDENTIFIER ::= { router 5 }
  snIgmp		OBJECT IDENTIFIER ::= { router 6 }
  snFsrp		OBJECT IDENTIFIER ::= { router 7 }
  snGblRt		OBJECT IDENTIFIER ::= { router 8 }
  snPim			OBJECT IDENTIFIER ::= { router 9 }
  snAppleTalk	OBJECT IDENTIFIER ::= { router 10 }
  snBgp4		OBJECT IDENTIFIER ::= { router 11 }
  snVrrp		OBJECT IDENTIFIER ::= { router 12 }
  snLoopbackIf	OBJECT IDENTIFIER ::= { router 13 }
  snPOS 		OBJECT IDENTIFIER ::= { router 14 }
  snMpls	OBJECT IDENTIFIER ::= { router 15 }
END
HP-SN-AGENT-MIB DEFINITIONS ::= BEGIN

-- BigIron Router Switch Agent MIB Release 2.0.0
-- Revision 10/11/99

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

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

-- SECTION 1: Top Level Definitions

-- Imports

IMPORTS
	TimeTicks, IpAddress, Counter, Gauge
		FROM RFC1155-SMI
	Unsigned32
		FROM SNMPv2-SMI
	OBJECT-TYPE
		FROM RFC-1212
	InterfaceIndex
		FROM IF-MIB
	snChassis, snAgentSys, snStack
		FROM HP-SN-ROOT-MIB;


		-- textual conventions

          DisplayString ::=
              OCTET STRING
          -- This data type is used to model textual information taken
          -- from the NVT ASCII character set.  By convention, objects
          -- with this syntax are declared as having
          --
          --      SIZE (0..255)

	  MacAddress ::=
	      OCTET STRING (SIZE(6))
	  -- This data type is used to model media addresses.  For many
	  -- types of media, this will be in a binary representation.
	  -- For example, an ethernet address would be represented as
	  -- a string of 6 octets.

-- Groups

snChasGen	OBJECT IDENTIFIER ::= { snChassis 1 }
snChasPwr	OBJECT IDENTIFIER ::= { snChassis 2 }
snChasFan	OBJECT IDENTIFIER ::= { snChassis 3 }


-- SECTION 2: MIB Objects


-- General Chassis Information

snChasType OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The chassis type represents the type 
		of Foundry product being managed. "
	::= { snChasGen 1 }



snChasSerNum OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..128))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The serial number of the chassis. If the
		serial number is unknown or unavailable then
		the value should be a zero length string."
	::= { snChasGen 2 }



-- Power Supply Status


snChasPwrSupplyStatus OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		Chassis Power Supplies. This is a packed bit string;
		the 2 power supplies status are encoded into 4 bits
		(a nibble). 

		There are multiple power supplies per chassis in this release.
		The following shows the meaning of each bit:
		(bit 0 is the least significant bit).

		  bit position   meaning
		  ------------   -------
			  12-31  reserved
		      11     Power  Supply 4 DC (0=bad, 1=good).
		      10     Power  Supply 3 DC (0=bad, 1=good).
		      9      Power  Supply 4 present status (0=present, 1=not-present).
		      8      Power  Supply 3 present status (0=present, 1=not-present).
			  4-7    reserved
		      3      Power  Supply 2 DC (0=bad, 1=good).
		      2      Power  Supply 1 DC (0=bad, 1=good).
		      1      Power  Supply 2 present status (0=present, 1=not-present).
		      0      Power  Supply 1 present status (0=present, 1=not-present)."
	::= { snChasGen 3 }


-- Fan Status


snChasFanStatus OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		fan status. This is a packed bit string. The
		status of each fan is encoded into one bit.

		  bit value    meaning
		  ---------    -------
		      0         fan failure.
		      1         fan good.

		There are two fans per VLAN Switch chassis in this release.
		The following shows the meaning of each bit:
		(bit 0 is the least significant bit).

		  bit position   meaning
		  ------------   -------
              6-31       reserved
              5          fan6 status
              4          fan5 status
              3          fan4 status
              2          fan3 status
              1          fan2 status
		      0          fan1 status"
	::= { snChasGen 4 }




snChasMainBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board description string. (It is obsoleted for Chassis Product)"
    ::= { snChasGen 5 }


snChasMainPortTotal OBJECT-TYPE
    SYNTAX INTEGER (1..24)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the main board. (It is obsoleted for Chassis Product)"
    ::= { snChasGen 6 }


snChasExpBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board description string. Expansion
        board are those boards attaching on the main board.
        (It is obsoleted for Chassis Product)"
    ::= { snChasGen 7 }


snChasExpPortTotal OBJECT-TYPE
	SYNTAX INTEGER (1..24)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the expansion board.
        (It is obsoleted for Chassis Product)"
    ::= { snChasGen 8 }


snChasStatusLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel status LEDs. This is a bit-map; 
		each LED is encoded into 1 bit for each switch
		port.  The maximum number of ports in one chassis 
		is 24 that means 24 Ports Status LEDs. The expansion port 
		number always begins from the last main port number.  
		The following shows the meaning of each bit for each 
		switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (Link off)
			 1         on  (Link on)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
	::= { snChasGen 9 }


snChasTrafficLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel traffic LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch
		port.  The maximum number of ports in one chassis 
		is 24 that means 24 Ports Traffic LEDs. The expansion port 
		number always begins from the last main port number.  
		The following shows the meaning of each bit for each 
		switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no traffic)
			 1         on  (traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
	::= { snChasGen 10 }


snChasMediaLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch port.  
		The maximum number of ports in one chassis is 24 
		that means 24 Ports Media LEDs.  The expansion port 
		number always begins from the last main port number. 
		The following shows the meaning of each bit for each 
		switch port:

		bit value  meaning   
		---------  -------
      	  0        half duplex
      	  1        full duplex

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
        ---------"
	::= { snChasGen 11 }


snChasEnablePwrSupplyTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate power supply failure traps."
    DEFVAL { enabled }
	::= { snChasGen 12 }

snChasMainBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
	STATUS mandatory
	DESCRIPTION
        "The main board identifier, which can uniquely identify a board
        type. It is an encoded octet string with the following meaning:
          octet 0  - octet string format version, which identifies the
                     format of this string.

        If format version octet has the value 1, the octets after the
        version octet have the following meaning:
          octet 1  - product type, FIWG=0x57, FIBB=0x42, FIMLS=0x4D
                     NI=0x4E, TI=0x54, TIRT=0x52
          octet 2  - board type, POWERPC=1, ALPHA=2
		  The length of the octet string is 27.

        If format version octet has the value 2, the octets after the
        version octet have the following meaning:
          octet 1  - product type: 
						BI_WG					0x57
						BI_BB					0x42
						BI_NI					0x4E
						NI_M4					0x4D
						BI_SLB					0x53
          octet 2  - module type:
						MASTER_FIBER_8G			0x0
						MASTER_FIBER_4G			0x1
						MASTER_COPPER_16		0x2
						FI_MASTER_FIBER_2G		0x4
						FI_MASTER_FIBER_4G		0x5
						MASTER_COPPER_8G		0x6
						FI_MASTER_FIBER_8G		0x7
						MASTER_COPPER_12_2		0x9
						MASTER_FIBER_2G			0x12	
						MASTER_FIBER_0G			0x14	
						FI_MASTER_COPPER_8G		0x1D
						FI_MASTER_COPPER_4G		0x1F
						FI_MASTER_COPPER_2G		0x20
						MASTER_COPPER_4G		0x21
						MASTER_COPPER_2G		0x22
						MASTER_M4_8G			0x23
						MASTER_M4_4G			0x24
						MASTER_M4_0G			0x26	

		  The length of the octet string is 28.

          Both format version 1 and 2:
          octet 3  - processor type, PVR_M603=3, PVR_M604=4, PVR_M603E=6,
                     PVR_M603EV=7, PVR_M604E=9
          octet 4 to
          octet 5  - processor speed in MHz
          octet 6  - MAC type:
          				MAC_NONE=0,
          				MAC_SEEQ_10_100=1,
          				MAC_DEC_10_100=2,
                     	MAC_SEEQ_1000=5,
						MAC_GMAC_1000=6,
                     	MAC_VLSI_1000=7
          octet 7  - PHY type, PHY_NONE=0, PHY_QSI=1, PHY_BROADCOM=2,
                     PHY_ICS=3, PHY_NATIONAL=4, PHY_LEVEL1=6, PHY_LEVEL16=7,
                     PHY_LEVEL24=8
          octet 8  - port type, COPPER=0, FIBER=1
          octet 9  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3, LX_SX_FIBER=4,
                     LHB_FIBER=5
          octet 10 to
          octet 13 - DRAM size in KBytes
          octet 14 to
          octet 17 - boot flash size in KBytes
          octet 18 to
          octet 21 - code flash size in KBytes
          octet 22 to
          octet 27 - serial number.

		  Format version 1 only:
          octet 28 - chassis backplane type. 
		 	chassis4000	= 	0x00
		 	chassis8000	=	0x04
		 	chassis15000	=	0x05
		 	Turbo8			=	0x07 (stack2)
		 	FastIron2		=	0x06 (stack1)"
	::= { snChasGen 13 }


snChasExpBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board identifier. Expansion board are those
        boards attaching on the main board. It is an encoded octet
		string with the following meaning:
          octet 0  - octet string format version, which identifies
                     the format of this string.
        If format version octet has the value 1, the octets after
        the version octet have the following meaning:
          octet 1  - expansion board type, HUNDRED_MEG_1PORT=1,
                     HUNDRED_MEG_2PORT=2, HUNDRED_MEG_1PORT_COPPER=3,
                     HUNDRED_MEG_2PORT_COPPER=4, HUNDRED_MEG_2PORT_LX=5,
                     GIGA_1PORT=8, GIGA_2PORT=9
          octet 2  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3, LX_SX_FIBER=4
        (It is obsoleted for Chassis Product)"
    ::= { snChasGen 14 }


snChasSpeedLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch port.  
		The maximum number of ports in one chassis is 24 
		that means 24 Ports Speed LEDs.  The expansion port 
		number always begins from the last main port number. 
		The following shows the meaning of each bit for each 
		switch port:

		bit value  meaning   
		---------  -------
      	  0        10 MBit
      	  1        100 MBit

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
        ---------"
	::= { snChasGen 15 }


snChasEnableFanTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate fan failure traps."
    DEFVAL { enabled }
	::= { snChasGen 16 }


snChasIdNumber OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..64))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "An administratively-assigned chassis identity number,
        used by inventory control."
    ::= { snChasGen 17 }


snChasActualTemperature OBJECT-TYPE
    SYNTAX  INTEGER (-110..250)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Temperature of the chassis. Each unit is 0.5 degrees Celcius.
		Only management module built with temperature sensor hardware
		is applicable. For those non-applicable management module, it
		returns no-such-name."
	::= { snChasGen 18 }


snChasWarningTemperature OBJECT-TYPE
    SYNTAX  INTEGER (0..250)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Actual temperature higher than this threshold value will trigger
		the switch to send a temperature warning trap. Each unit is 0.5
		degrees Celcius. Only management module built with temperature
		sensor hardware is applicable. For those non-applicable management
		module, it returns no-such-name."
	::= { snChasGen 19 }


snChasShutdownTemperature OBJECT-TYPE
    SYNTAX  INTEGER (0..250)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Actual temperature higher than this threshold value will shutdown
		a partial of the switch hardware to cool down the system. Each unit
		is 0.5 degrees Celcius. Only management module built with temperature
		sensor hardware is applicable. For those non-applicable management
		module, it returns no-such-name."
	::= { snChasGen 20 }

snChasEnableTempWarnTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate temperature warning traps."
    DEFVAL { enabled }
	::= { snChasGen 21 }

-- Flash Card

snChasFlashCard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		flash card status. This is a packed bit string. The
		status of each flash card is encoded into one bit.

		  bit value    meaning
		  ---------    -------
		      0         flash card absent.
		      1         flash card present.

		There are up to two flash cards in this release.
		This object is valid if M4 management module is present.
		The following shows the meaning of each bit:
		(bit 0 is the least significant bit).

		  bit position   meaning
		  ------------   -------
              2-31       reserved
              1          flash card 2 status
		      0          flash card 1 status"
	::= { snChasGen 22 }


snChasFlashCardLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		flash card LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each flash card.

		  bit value  meaning
		  --------   ---------  
		     0         off 
			 1         on 
		"	  
	::= { snChasGen 23 }


snChasNumSlots OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of slots of the chassis."
	::= { snChasGen 24 }


snChasArchitectureType OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Architecture type."
	::= { snChasGen 25 }


snChasProductType OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Product type."
	::= { snChasGen 26 }


-- Power Supply Table


snChasPwrSupplyTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnChasPwrSupplyEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of each power supply information. Only installed
		power supply appears in a table row."
	::= { snChasPwr 1 }

snChasPwrSupplyEntry OBJECT-TYPE
	SYNTAX	SnChasPwrSupplyEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the power supply table."
	INDEX	{ snChasPwrSupplyIndex }
	::= { snChasPwrSupplyTable 1 }

SnChasPwrSupplyEntry ::= SEQUENCE {
	snChasPwrSupplyIndex
		INTEGER,
	snChasPwrSupplyDescription
		DisplayString,
	snChasPwrSupplyOperStatus
		INTEGER
	}

snChasPwrSupplyIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to power supply table."
	::= { snChasPwrSupplyEntry 1 }

snChasPwrSupplyDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The power supply description string."
    ::= { snChasPwrSupplyEntry 2 }

snChasPwrSupplyOperStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		normal(2),
		failure(3)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The power supply operation status."
    ::= { snChasPwrSupplyEntry 3 }


-- Fan Table


snChasFanTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnChasFanEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of each fan information. Only installed
		fan appears in a table row."
	::= { snChasFan 1 }

snChasFanEntry OBJECT-TYPE
	SYNTAX	SnChasFanEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the fan table."
	INDEX	{ snChasFanIndex }
	::= { snChasFanTable 1 }

SnChasFanEntry ::= SEQUENCE {
	snChasFanIndex
		INTEGER,
	snChasFanDescription
		DisplayString,
	snChasFanOperStatus
		INTEGER
	}

snChasFanIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to fan table."
	::= { snChasFanEntry 1 }

snChasFanDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The fan description string."
    ::= { snChasFanEntry 2 }

snChasFanOperStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		normal(2),
		failure(3)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The fan operation status."
    ::= { snChasFanEntry 3 }


-- Agent Groups

snAgentGbl				OBJECT IDENTIFIER ::= { snAgentSys 1 }
snAgentBrd				OBJECT IDENTIFIER ::= { snAgentSys 2 }
snAgentTrp 				OBJECT IDENTIFIER ::= { snAgentSys 3 }
snAgentBoot				OBJECT IDENTIFIER ::= { snAgentSys 4 }
snAgCfgEos				OBJECT IDENTIFIER ::= { snAgentSys 5 }
snAgentLog				OBJECT IDENTIFIER ::= { snAgentSys 6 }
snAgentSysParaConfig	OBJECT IDENTIFIER ::= { snAgentSys 7 }
snAgentConfigModule		OBJECT IDENTIFIER ::= { snAgentSys 8 }
snAgentUser				OBJECT IDENTIFIER ::= { snAgentSys 9 }
snAgentRedundant		OBJECT IDENTIFIER ::= { snAgentSys 10 }
snAgentCpu			OBJECT IDENTIFIER ::= { snAgentSys 11 }
snAgentHw			OBJECT IDENTIFIER ::= { snAgentSys 12 }
  


-- SECTION 2: MIB Objects


-- Agent's Global Group
	
snAgReload OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		running(2),
		reset(3),
		busy(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Action object to reboot the agent.
		The following values can only be read:
		  other(1).....agent in unknown or other state
		  running(2)...agent running
		  busy(4).......reload not allowed at this time, flash is busy

		The following value can be written:
		  reset(3).....do a hard reset

		The agent will return a
		response before the action occurs."
	::= { snAgentGbl 1 }

snAgEraseNVRAM OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(1),
		error(2),
		erase(3),
		erasing(4),		
		busy(5)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Action object to erase NVRAM of the agent.
		The following values can only be read:
		  normal(1)
		  error(2)... operation failed or bad flash
		  erasing(4)...agent is erasing NVRAM flash
		  busy(5).......operation not allowed at this time, flash is busy

		The following value can be written:
		  erase(3).....do erase 

		The agent will return a response even before the erase is done.
		And the read value will be erasing until erase is done.
		And the erase request will be rejected until error or normal."
	::= { snAgentGbl 2 }

snAgWriteNVRAM OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(1),
		error(2),
		write(3),
		writing(4),		
		busy(5)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Action object to save all configuration info to
		 NVRAM of the agent.
		The following values can only be read:
		  normal(1)
		  error(2)... operation failed or bad flash
	  	  writing(4)...agent is writing NVRAM flash
		  busy(5).......operation not allowed at this time, flash is busy

		The following value can be written:
		  write(3).....do write 

		The agent will return a response even before the write is done.
		And the read value will be writing until write is done.
		And the write request will be rejected until error or normal."
	::= { snAgentGbl 3 }

snAgConfigFromNVRAM OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(1),
		error(2),
		config(3),
		configing(4),
		busy(5)
	}
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Action object to config the switch from NVRAM of the agent.
		The following values can only be read:
		  normal(1)
		  error(2)... operation failed or bad flash
		  configing(4)...configing from NVRAM flash is in process.
		  busy(5).......operation not allowed at this time, flash is busy
		The following value can be written:
		  config(3).....do config 

		The agent will return a response after config is done."
	::= { snAgentGbl 4 }

--  image and config file down/up load 

snAgTftpServerIp OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The tftp server address, this will be used for both download/upload
		 image file and config file."
	::= { snAgentGbl 5 }

snAgImgFname OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Name of the image file including path currently associated
		with the system. When the object is not used, the value is a
		zero length string."
	::= { snAgentGbl 6 }


snAgImgLoad OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(1),
		flashPrepareReadFailure(2),
		flashReadError(3),
		flashPrepareWriteFailure(4),
		flashWriteError(5),
		tftpTimeoutError(6),
		tftpOutOfBufferSpace(7),
		tftpBusy(8),
	    tftpRemoteOtherErrors(9), 
	    tftpRemoteNoFile(10), 
	    tftpRemoteBadAccess(11), 
	    tftpRemoteDiskFull(12), 
	    tftpRemoteBadOperation(13), 
	    tftpRemoteBadId(14), 
	    tftpRemoteFileExists(15), 
	    tftpRemoteNoUser(16), 
		operationError(17),
		loading(18),
		uploadMPPrimary(19),
		downloadMPPrimary(20),
		uploadMPSecondary(21),
		downloadMPSecondary(22),
		tftpWrongFileType(23),
		downloadSPPrimary(24),
		downloadSPSecondary(25)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Action object to down/up load a new image
		to the agent. The following values:
		Error values: from normal(1) to operationError(17) and tftpWrongFileType(23).
		  loading(18) .. operation is in process.

		The following values are used for set :
		  uploadMPPrimary(19)..upload the Primary image from MP flash to tftp server.
		  downloadMPPrimary(20)..download the Primary image from tftp server to MP flash.
		  uploadMPSecondary(21)..upload the Secondary image from MP flash to tftp server.
		  downloadMPSecondary(22)..download the Secondary image from tftp server to MP flash.
		  downloadSPPrimary(24)..download the Primary image from tftp server to SP flash.
		  downloadSPSecondary(25)..download the Secondary image from tftp server to SP flash.

		MP is the management processor, SP is the switch processor.

		The image filename is defined in
		snAgImgFname. The tftp server address is defined in snAgTftpServerIp.
		Atomic set of snAgImgLoad, snAgImgFname and  
		snAgTftpServerIp is required to allow down/up load to happen. 
		And the write request will be rejected during loading until error 
		or normal."
	::= { snAgentGbl 7 }

snAgCfgFname OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Name of the config file(s) including path currently associated
		with the system. Some agents in special
		situations may support a value which contains
		multiple file names instead of a single file
		name. Multiple names are specified as a list
		of file names separated by semicolons (;).
		When the object is not used, the value is a
		zero length string."
	::= { snAgentGbl 8 }

snAgCfgLoad OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(1),
		flashPrepareReadFailure(2),
		flashReadError(3),
		flashPrepareWriteFailure(4),
		flashWriteError(5),
		tftpTimeoutError(6),
		tftpOutOfBufferSpace(7),
		tftpBusy(8),
	    tftpRemoteOtherErrors(9), 
	    tftpRemoteNoFile(10), 
	    tftpRemoteBadAccess(11), 
	    tftpRemoteDiskFull(12), 
	    tftpRemoteBadOperation(13), 
	    tftpRemoteBadId(14), 
	    tftpRemoteFileExists(15), 
	    tftpRemoteNoUser(16), 
		operationError(17),
		loading(18),
		uploadFromFlashToServer(20),
		downloadToFlashFromServer(21),
		uploadFromDramToServer(22),
		downloadToDramFromServer(23),
		uploadFromFlashToNMS(24),
		downloadToFlashFromNMS(25),
		uploadFromDramToNMS(26),
		downloadToDramFromNMS(27),
		operationDoneWithNMS(28),
		tftpWrongFileType(29),
		downloadToDramFromServerOverwrite(30)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Action object to down/up load a config image
		to the agent. The following values can be
		read :
		Error values: from normal(1) to operationError(17) and tftpWrongFileType(29).
		  loading(18) .. operation is in process.


		The following value can be used to set:
		  uploadFromFlashToServer(20)..upload the config from flash
                                              to tftp server. 
		  downloadToFlashFromServer(21)..download the config to flash
                                                from tftp server.
		  uploadFromDramToServer(22)..upload the config from DRAM 
                                             to tftp server.
		  downloadToDramFromServer(23)..download the config to DRAM
                                               from tftp server.
		  downloadToDramFromServerOverwrite(30)..download the config to DRAM
                                               from tftp server, clear the running-config,
                                               and overwrite with the new config.

		The following value can be used to set:
		  uploadFromFlashToNMS(24)..upload the config from flash to NMS. 
		  downloadToFlashFromNMS(25)..download the config to flash from NMS.
		  uploadFromDramToNMS(26)..upload the config from DRAM to NMS.
		  downloadToDramFromNMS(27)..download the config to DRAM from NMS.

		The config filename is defined in
		snAgCfgFname. The tftp server address is defined in snAgTftpServerIp.
		Atomic set of snAgCfgLoad, snAgCfgFname and  snAgTftpServerIp is
		required to allow down/up load to happen. And the write request 
		will be rejected during loading until error or normal.
		For those NMS commands from (24) to (27), The snAgCfgEosTable MIB must
		be sent along in one PDU.  A seperate write memory cli or set 
		snAgWriteNVRAM is required to save the config to NVRAM."
	::= { snAgentGbl 9 }

-- default gateway ip address

snAgDefGwayIp OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The default gateway (router) address." 	
	::= { snAgentGbl 10 }


-- image version

snAgImgVer OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the running software in the form
		'major.minor.maintenance[letters]'."
	::= { snAgentGbl 11 }

snAgFlashImgVer OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the software image saved in local
		storage such as flash memory in the form
		'major.minor.maintenance[letters]'. If not
		known or not available, then the value is
		a zero length string."
	::= { snAgentGbl 12 }

snAgGblIfIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The interface ip address."
	::= { snAgentGbl 13 }

snAgGblIfIpMask OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The interface ip address mask."
	::= { snAgentGbl 14 }

snAgGblPassword OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..48))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"System Security Access Password and this is only 
		 allowed to use for setting but not for reading.
		 An SNMP-Get will get an zero string."
	::= { snAgentGbl 15 }

snAgTrpRcvrCurEntry OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current total entries of the Trap 
		Receiver Table are created."
	::= { snAgentGbl 16 }

snAgGblDataRetrieveMode OBJECT-TYPE
	SYNTAX  INTEGER {
		nextbootCfg(0),             
		operationalData(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"By default, this mode is set to nextbootCfg(0).
		 The VLAN Table and Port-STP Table data will be retrieved
		 according to this mode.
		 nextbootCfg(0).........the nextboot configuration data are retrieved
		 operationalData(1)..........the current running data are retrieved"  
	::= { snAgentGbl 19 }


snAgSystemLog OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(5))	
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The system log object to indicate whether any Network
		 Management Station(NMS) has login.  The first byte
		 of the octet string is the value decribed below and 
		 followed by 4 bytes of secret code.
		  login(1)..... a value for a NMS to login.
		  heartbeat(2)... a value for the login NMS periodically to 
		                checkin; Otherwise, the Agent will automatically
		                set this object to logout(3) after a timeout 
		                period. 
		  logout(3).... a value for a NMS to logout.
		  changePassword(4).... a value for the login NMS to change
		                password, only if snAgGblPasswordChangeMode
						was configured to 'anyMgmtEntity'.
		  changeReadOnlyCommunity(5).... a value for the login NMS
		                to change the read-only community string,
		                only if snAgGblPasswordChangeMode was
		                configured to 'anyMgmtEntity'.
		  changeReadWriteCommunity(6).... a value for the login NMS
		                to change the read-write community string,
		                only if snAgGblPasswordChangeMode was
		                configured to 'anyMgmtEntity'."
	::= { snAgentGbl 20 }


snAgGblEnableColdStartTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate cold start traps."
    DEFVAL { enabled }
	::= { snAgentGbl 21 }


snAgGblEnableLinkUpTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate link up traps."
    DEFVAL { enabled }
	::= { snAgentGbl 22 }


snAgGblEnableLinkDownTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate link down traps."
    DEFVAL { enabled }
	::= { snAgentGbl 23 }

snAgGblPasswordChangeMode OBJECT-TYPE
	SYNTAX	INTEGER {
              anyMgmtEntity(1),
              consoleAndTelnet(2),
              consoleOnly(3),
              telnetOnly(4) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Specify which management entity is allowed to change
		the password. 'anyMgmtEntity' management entities are
		SNMP management station, console command line interface,
		and telnet command line interface. For security reason,
		this object can only be modified by console command line
		interface or telnet command line interface. The default
		value is 'consoleAndTelnet', of which both console and
		telnet command line interfaces are allowed to change
		the password."
	::= { snAgentGbl 24 }

snAgGblReadOnlyCommunity OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"SNMP read community string and this is only allowed
		to use for setting but not for reading. An SNMP-Get
		will get an zero length string."
	::= { snAgentGbl 25 }

snAgGblReadWriteCommunity OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"SNMP read-write community string and this is only
		allowed to use for setting but not for reading. An
		SNMP-Get will get an zero length string."
	::= { snAgentGbl 26 }

snAgGblCurrentSecurityLevel OBJECT-TYPE
	SYNTAX	INTEGER (0..5)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This represnts the current log-in security level.
		Each level of security requires a password to permit
		user for different system configurations."
	::= { snAgentGbl 27 }

snAgGblSecurityLevelSet OBJECT-TYPE
	SYNTAX	INTEGER (0..5)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This shows which the security level password to be set."
	::= { snAgentGbl 28 }

snAgGblLevelPasswordsMask OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This shows the bitmap of level passwords which successfully assigned to the system."
	::= { snAgentGbl 29 }

snAgGblQueueOverflow OBJECT-TYPE
	SYNTAX	INTEGER	{ false(0), true(1) } 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"false - The device queues are not overflow.
		 true  - The device queues are overflow."
	::= { snAgentGbl 30 }

snAgGblBufferShortage OBJECT-TYPE
	SYNTAX	INTEGER	{ false(0), true(1) } 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"false - The device buffers are adequate.
		 true  - The device buffers are in shortage."
	::= { snAgentGbl 31 }

snAgGblDmaFailure OBJECT-TYPE
	SYNTAX	INTEGER	{ false(0), true(1) } 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"false - The device DMAs are in good condition.
		 true  - One of the DMAs in the device fails."
	::= { snAgentGbl 32 }

snAgGblResourceLowWarning OBJECT-TYPE
	SYNTAX	INTEGER	{ false(0), true(1) } 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"false - No, the device does not have resource-low-warning.
		 true  - Yes, the device does have resource-low-warning."
	::= { snAgentGbl 33 }

snAgGblExcessiveErrorWarning OBJECT-TYPE
	SYNTAX	INTEGER	{ false(0), true(1) } 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"false - No, the device does not have any excessive collision, FCS errors, alignment warning etc.
		 true  - Yes, the device does have."
	::= { snAgentGbl 34 }

snAgGblCpuUtilData OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The statistics collection of utilization of the CPU in the device. Reading this object resets all the counters.  Therefore, a user need not set snAgGblUtilCollect."
	::= { snAgentGbl 35 }

snAgGblCpuUtilCollect OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	deprecated
	DESCRIPTION
		"enable(1)  - The beginning of statistics collection of utilization of the CPU in the device.
		 disable(0) - The end of statistics collection of utilization of the CPU in the device.
               This object is deprecated. User need not set this object. User can read snAgGblCpuUtilData to reset all the counters. "
	::= { snAgentGbl 36 }

snAgGblTelnetTimeout OBJECT-TYPE
	SYNTAX	INTEGER (0..240)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Telnet session idling timeout value. Writing value 0 to
		this object never timeouts any telnet sessions. Each value
		unit is one minute."
	::= { snAgentGbl 37 }

snAgGblEnableWebMgmt OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Enable/disable web management."
    DEFVAL { enabled }
	::= { snAgentGbl 38 }

snAgGblSecurityLevelBinding OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This represnts the binding of a given password to which
		security level. A value of 255 indicates an invalid
		binding."
	::= { snAgentGbl 39 }

snAgGblEnableSLB OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Enable/disable Server Load Balancing."
	::= { snAgentGbl 40 }

snAgSoftwareFeature OBJECT-TYPE
    SYNTAX  OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit string representing the software feature of the running
		switch/router image. These features were conditional compiled
		to different product images. For each bit, exist feature has
		a value of 1, but non-exist feature has a value of 0.
		  octet 0, bit 0 - RMON
		  octet 0, bit 1 - ipx switching
		  octet 0, bit 2 - server load balancing
		  octet 0, bit 3 - layer 3 filter in switch
		  octet 0, bit 4 - ipx routing
		  octet 0, bit 5 - appletalk routing
		  octet 0, bit 6 - ip multicast routing
		  octet 0, bit 7 - local access control
		  octet 1, bit 0 - BGP routing
		  octet 1, bit 1 - loopback interface
		  octet 1, bit 2 - BigIron multi-management module
		  octet 1, bit 3 - BigIron SYSIF II
		  octet 1, bit 4 - BigIron POS support
		  octet 1, bit 5 - appletalk cable vlan
		  octet 1, bit 6 - 64 subnet
		  octet 1, bit 7 - multi-slot trunk
		  octet 2, bit 0 - TACACS
		  octet 2, bit 1 - Gigabit Ethernet port auto-negotiation mode
		  octet 2, bit 2 - FSRP
		  octet 2, bit 3 - Exodus requested OSPF enhancement
		  octet 2, bit 4 - OSPF NSSA
		  octet 2, bit 5 - POS
		  octet 2, bit 6 - QOS
		  octet 2, bit 7 - Single Span
		  octet 3, bit 0 - Fast Span
		  octet 3, bit 1 - Base L3
		  octet 3, bit 2 - static log buffer
		  octet 3, bit 3 - L2 POS
		  octet 3, bit 4 - BI15K
		  octet 3, bit 5 - L2 ATM
		  octet 3, bit 6 - ATM
		  octet 3, bit 7 - NETFLOW
		  octet 4, bit 0 - SFLOW
		  octet 4, bit 1 - GVRP
		  octet 4, bit 2 - GARP
		  octet 4, bit 3 - dynamic trunk
		  octet 4, bit 4 - IGC 8G
		  octet 4, bit 5 - rate limit
		  octet 4, bit 6 - IPC rate limit
		  octet 4, bit 7 - MPLS
		  octet 5, bit 0 - ISIS
		  octet 5, bit 1 - link aggregation
		  octet 5, bit 2 - port dual mode
		  octet 5, bit 3 - private vlan
		  octet 5, bit 4 - MBGP
		  octet 5, bit 5 - ipv6 protocol vlan
		  octet 5, bit 6 - X10G
		  octet 5, bit 7 - fastiron edge switch/router (gridiron)
		  octet 6, bit 0 - FDP
		  octet 6, bit 1 - port tag type
		Bit 0 is the least significant bit of an octet, and
		bit 7 is the most significant bit of an octet."
	::= { snAgentGbl 41 }

snAgGblEnableModuleInsertedTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is permitted to
		generate hardware module inserted to chassis traps."
    DEFVAL { enabled }
	::= { snAgentGbl 42 }

snAgGblEnableModuleRemovedTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is permitted to
		generate hardware module removed from chassis traps."
    DEFVAL { enabled }
	::= { snAgentGbl 43 }

snAgGblTrapMessage OBJECT-TYPE
    SYNTAX  DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A generic trap message string."
	::= { snAgentGbl 44 }

snAgGblEnableTelnetServer OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Enable or disable telnet server in device."
    DEFVAL { enabled }
	::= { snAgentGbl 45 }

snAgGblTelnetPassword OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..48))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Telnet Access Password and this is only 
		 allowed to use for setting but not for reading.
		 An SNMP-Get will get an zero string."
	::= { snAgentGbl 46 }

snAgBuildDate OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The date of the built software."
	::= { snAgentGbl 47 }

snAgBuildtime OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time of the built software."
	::= { snAgentGbl 48 }

snAgBuildVer OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the built software in the form
		'major.minor.maintenance[letters]'."
	::= { snAgentGbl 49 }

snAgGblCpuUtil1SecAvg OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The statistics collection of 1 second CPU utilization."
	::= { snAgentGbl 50 }

snAgGblCpuUtil5SecAvg OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The statistics collection of 5 second CPU utilization."
	::= { snAgentGbl 51 }

snAgGblCpuUtil1MinAvg OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The statistics collection of 1 minute CPU utilization."
	::= { snAgentGbl 52 }

snAgGblDynMemUtil OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The system dynamic memory utilization, in unit of percentage."
	::= { snAgentGbl 53 }

snAgGblDynMemTotal OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total amount of system dynamic memory, in number of bytes."
	::= { snAgentGbl 54 }

snAgGblDynMemFree OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The free amount of system dynamic memory, in number of bytes."
	::= { snAgentGbl 55 }

snAgImgLoadSPModuleType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		vm1(2),
		pos12(3),
		pos48(4),
		atm(5),
		gignpa(6)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The switch processor module type of which that receives
		the downloaded image."
	::= { snAgentGbl 56 }

snAgImgLoadSPModuleNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The slot numner of a switch processor module that receives
		the downloaded image. Setting value 0 applies to all SP
		modules."
	::= { snAgentGbl 57 }

snAgTrapHoldTime OBJECT-TYPE
	SYNTAX	INTEGER (1..600)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The time in seconds for which traps will be witheld
		during system initialization."
	::= { snAgentGbl 58 }

snAgSFlowSourceInterface OBJECT-TYPE
	SYNTAX   InterfaceIndex
	ACCESS   read-write
	STATUS   mandatory
	DESCRIPTION
		"Use the ifIndex value here to specify the
		source interface to be used for sFlow packets.
		The interface should have IP address configured
		on it. Value of 0 indicates that source interface
		has not been configured for sFlow. Port 65534
		is used to specify a null port."
	::= { snAgentGbl 59 }

snAgGblTelnetLoginTimeout OBJECT-TYPE
	SYNTAX	INTEGER (1..10)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Telnet session login timeout value in minutes. Default is 1 minute."
	::= { snAgentGbl 60 }

snAgGblBannerExec OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"EXEC process creation banner. Insert newlines using '\n' within the string."
	::= { snAgentGbl 61 }

snAgGblBannerIncoming OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Incoming terminal line banner. Insert newlines using '\n' within the string."
	::= { snAgentGbl 62 }

snAgGblBannerMotd OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Message-of-the-day banner. Insert newlines using '\n' within the string."
	::= { snAgentGbl 63 }

-- Agent Board Table


snAgentBrdTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgentBrdEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of each physical board information."
	::= { snAgentBrd 1 }

snAgentBrdEntry OBJECT-TYPE
	SYNTAX	SnAgentBrdEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the Agent Board table."
	INDEX	{ snAgentBrdIndex }
	::= { snAgentBrdTable 1 }

SnAgentBrdEntry ::= SEQUENCE {
	snAgentBrdIndex
		INTEGER,
	snAgentBrdMainBrdDescription
		DisplayString,
	snAgentBrdMainBrdId
		OCTET STRING,
	snAgentBrdMainPortTotal
		INTEGER,
	snAgentBrdExpBrdDescription
		DisplayString,
	snAgentBrdExpBrdId
		OCTET STRING,
	snAgentBrdExpPortTotal
		INTEGER,
	snAgentBrdStatusLeds 
		INTEGER,
	snAgentBrdTrafficLeds 
		INTEGER,
	snAgentBrdMediaLeds 
		INTEGER,
	snAgentBrdSpeedLeds 
		INTEGER,
	snAgentBrdModuleStatus
		INTEGER,
	snAgentBrdRedundantStatus
		INTEGER,
	snAgentBrdAlarmLeds 
		INTEGER,
	snAgentBrdTxTrafficLeds 
		INTEGER,
	snAgentBrdRxTrafficLeds 
		INTEGER,
	snAgentBrdStatusLedString
		OCTET STRING,
	snAgentBrdTrafficLedString
		OCTET STRING,
	snAgentBrdMediaLedString
		OCTET STRING,
	snAgentBrdSpeedLedString
		OCTET STRING,
	snAgentBrdAlarmLedString
		OCTET STRING,
	snAgentBrdTxTrafficLedString
		OCTET STRING,
	snAgentBrdRxTrafficLedString
		OCTET STRING
	}

snAgentBrdIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..15)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the Agent Interface Table."
	::= { snAgentBrdEntry 1 }

snAgentBrdMainBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board description string."
    ::= { snAgentBrdEntry 2 }

snAgentBrdMainBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board identifier, which can uniquely identify a board
        type. It is an encoded octet string with the following meaning:
          octet 0  - octet string format version, which identifies the
                     format of this string.
        If format version octet has the value 2, the octets after the
        version octet have the following meaning:
          octet 1  - product type: 
						BI_WG					0x57
						BI_BB					0x42
						BI_NI					0x4E
						NI_M4					0x4D
						BI_SLB					0x53
          octet 2  - module type:
						MASTER_FIBER_8G			0x0
						MASTER_FIBER_4G			0x1
						MASTER_COPPER_16		0x2
						SLAVE_FIBER_4G			0x3
						FI_MASTER_FIBER_2G		0x4
						FI_MASTER_FIBER_4G		0x5
						MASTER_COPPER_8G		0x6
						FI_MASTER_FIBER_8G		0x7
						SLAVE_FIBER_8G			0x8
						MASTER_COPPER_12_2		0x9
						SLAVE_COPPER_24			0xA
						FI_SLAVE_COPPER_24		0xB
						SLAVE_100FX_8			0xD
						SLAVE_100FX_16			0xC
						SLAVE_COPPER_8G			0xE
						SLAVE_COPPER_16_2		0xF
						STACK_FIBER_8G			0x10
						STACK_COPPER_8G			0x11
						MASTER_FIBER_2G			0x12	
						SLAVE_100FX_24			0x13
						MASTER_FIBER_0G			0x14	
						POS_622M				0x15
						POS_155M				0x16
						SLAVE_FIBER_2G			0x17
						SLAVE_COPPER_2G			0x18
						FI_SLAVE_FIBER_2G		0x19
						FI_SLAVE_FIBER_4G		0x1A
						FI_SLAVE_FIBER_8G		0x1B
						FI_SLAVE_COPPER_8G		0x1C
						FI_MASTER_COPPER_8G		0x1D
						POS_155M2P				0x1E
						FI_MASTER_COPPER_4G		0x1F
						FI_MASTER_COPPER_2G		0x20
						MASTER_COPPER_4G		0x21
						MASTER_COPPER_2G		0x22
						MASTER_M4_8G			0x23
						MASTER_M4_4G			0x24
						MASTER_M4_2G			0x25
						MASTER_M4_0G			0x26	
						MASTER_M5_0G			0x27	
						POS_2488M				0x28	
						SLAVE_M5_0G				0x29	
						POS_N2488M				0x2A	
						STACK_IPC_48_2			0x2B	
						SLAVE_NPA_FIBER_4G		0x2C	
						ATM_2PORT				0x2D	
						ATM_4PORT				0x2E	
						SLAVE_FIBER_10G			0x2F	
						SLAVE_JC_48E			0xC3	
						SLAVE_JC_48T			0xC4	
						MASTER_JC_M4_8G			0xC5	
						SLAVE_JC_8G				0xC6	
						SLAVE_JC_B16GF			0xC8	
						MASTER_JC_B2404			0xC9	
						SLAVE_JC_B16GC			0xCA
						SLAVE_JC_B24FX			0xCE
          octet 3  - processor type, PVR_M603=3, PVR_M604=4, PVR_M603E=6,
                     PVR_M603EV=7, PVR_M750=8, PVR_M604E=9
          octet 4 to
          octet 5  - processor speed in MHz
          octet 6  - MAC type:
          				MAC_NONE=0
          				MAC_SEEQ_10_100=1, 
          				MAC_DEC_10_100=2,
          				MAC_3COM_10_100=3,
						MAC_X10GMAC_10000=4,
                     	MAC_SEEQ_1000=5, 
						MAC_GMAC_1000=6,
						MAC_VLSI_1000=7,
          octet 7  - PHY type, PHY_NONE=0, PHY_QSI=1, PHY_BROADCOM=2,
                     PHY_ICS=3, PHY_NATIONAL=4, PHY_LEVEL1=6,
                     PHY_BROADCOM_10_100=7, PHY_LEVEL24=8,
                     PHY_BROADCOM_10000=9
          octet 8  - port type, COPPER=0, FIBER=1
          octet 9  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3
          octet 10 to
          octet 13 - DRAM size in KBytes
          octet 14 to
          octet 17 - boot flash size in KBytes
          octet 18 to
          octet 21 - code flash size in KBytes
          octet 22 to
          octet 27 - serial number.
          octet 28 - chassis backplane type. 
		 	chassis4000	= 	0x00
		 	chassis8000	=	0x04
		 	chassis15000 =	0x05	
		 	Turbo8		=	0x07 (stack2)
		 	FastIron2	=	0x06 (stack1)"
	::= { snAgentBrdEntry 3 }


snAgentBrdMainPortTotal OBJECT-TYPE
    SYNTAX INTEGER (1..32)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the main board."
    ::= { snAgentBrdEntry 4 }


snAgentBrdExpBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board description string. Expansion
        board are those boards attaching on the main board."
    ::= { snAgentBrdEntry 5 }


snAgentBrdExpBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board identifier. Expansion board are those
        boards attaching on the main board. It is an encoded octet
		string with the following meaning:
          octet 0  - octet string format version, which identifies
                     the format of this string.
        If format version octet has the value 1, the octets after
        the version octet have the following meaning:
          octet 1  - expansion board type, HUNDRED_MEG_1PORT=1,
                     HUNDRED_MEG_2PORT=2, HUNDRED_MEG_1PORT_COPPER=3,
                     HUNDRED_MEG_2PORT_COPPER=4, HUNDRED_MEG_2PORT_LX=5,
                     GIGA_1PORT=8, GIGA_2PORT=9
          octet 2  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3, LX_SX_FIBER=4, LHB_FIBER=5"
    ::= { snAgentBrdEntry 6 }


snAgentBrdExpPortTotal OBJECT-TYPE
	SYNTAX INTEGER (1..24)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the expansion board."
    ::= { snAgentBrdEntry 7 }


snAgentBrdStatusLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel status LEDs. This is a bit-map; 
		each LED is encoded into 1 bit for each switch
		port.  The maximum number of ports in one chassis 
		is 32 that means 32 Ports Status LEDs. The expansion port 
		number always begins from the last main port number.  
		The following shows the meaning of each bit for each 
		switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (Link off)
			 1         on  (Link on)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
		(It was obsoleted after release 07100, replaced by snAgentBrdStatusLedString)"
	::= { snAgentBrdEntry 8 }


snAgentBrdTrafficLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel traffic LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch
		port.  The maximum number of ports in one chassis 
		is 24 that means 24 Ports Traffic LEDs. The expansion port 
		number always begins from the last main port number.  
		The following shows the meaning of each bit for each 
		switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no traffic)
			 1         on  (traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
		(It was obsoleted after release 07100, replaced by snAgentBrdTrafficLedString)"
	::= { snAgentBrdEntry 9 }


snAgentBrdMediaLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch port.  
		The maximum number of ports in one chassis is 24 
		that means 24 Ports Media LEDs.  The expansion port 
		number always begins from the last main port number. 
		The following shows the meaning of each bit for each 
		switch port:

		bit value  meaning   
		---------  -------
      	  0        half duplex
      	  1        full duplex

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
		(It was obsoleted after release 07100, replaced by snAgentBrdMediaLedString)"
	::= { snAgentBrdEntry 10 }



snAgentBrdSpeedLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch port.  
		The maximum number of ports in one chassis is 24 
		that means 24 Ports Speed LEDs.  The expansion port 
		number always begins from the last main port number. 
		The following shows the meaning of each bit for each 
		switch port:

		bit value  meaning   
		---------  -------
      	  0        10 MBit
      	  1        100 MBit

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
		(It was obsoleted after release 07100, replaced by snAgentBrdSpeedLedString)"
	::= { snAgentBrdEntry 11 }

snAgentBrdModuleStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		moduleEmpty(0),             
		moduleGoingDown(2),
		moduleRejected(3),
		moduleBad(4),
		moduleComingUp(9),
		moduleRunning(10)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"By default, this mode is set to notActivated(0).
		moduleEmpty(0) ......... The slot of the chassis is empty.
		moduleGoingDown(2) ..... The module is going down.
		moduleRejected(3) ...... The module is being rejected due to wrong configuration.
		moduleBad(4) ........... The module Hardware is bad.
		moduleComingUp(9) ...... The module is in power-up cycle.
		moduleRunning(10) ....... The module is running."
	::= { snAgentBrdEntry 12 }

snAgentBrdRedundantStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		active(2),             
		standby(3),
		crashed(4),
		comingUp(5)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The redundant status of a module. Non-management module always
		returns other(1). Management module returns the rest of the
		states."
	::= { snAgentBrdEntry 13 }

snAgentBrdAlarmLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs (for POS Module Only). This is a packed bit string; 
		each LED is encoded into 1 bit for each switch port.  
		The maximum number of ports in one chassis is 24 
		that means 24 Ports Speed LEDs.  The expansion port 
		number always begins from the last main port number. 
		The following shows the meaning of each bit for each 
		switch port:

		bit value  meaning   
		---------  -------
      	  0        no alarm
      	  1        alarm

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
		(It was obsoleted after release 07100, replaced by snAgentBrdAlarmLedString)"
	::= { snAgentBrdEntry 14 }


snAgentBrdTxTrafficLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel transmit traffic LEDs (for POS Module Only). This is a packed bit string; 
		each LED is encoded into 1 bit for each switch
		port.  The maximum number of ports in one chassis 
		is 24 that means 24 Ports Transmit Traffic LEDs. The expansion port 
		number always begins from the last main port number.  
		The following shows the meaning of each bit for each 
		switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no transmit traffic)
			 1         on  (transmit traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
		(It was obsoleted after release 07100, replaced by snAgentBrdTxTrafficLedString)"
	::= { snAgentBrdEntry 15 }

snAgentBrdRxTrafficLeds OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"A bit array that contains the value of the
		front panel receive traffic LEDs (for POS Module Only). This is a packed bit string; 
		each LED is encoded into 1 bit for each switch
		port.  The maximum number of ports in one chassis 
		is 24 that means 24 Ports Receive Traffic LEDs. The expansion port 
		number always begins from the last main port number.  
		The following shows the meaning of each bit for each 
		switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no receive traffic)
			 1         on  (receive traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
		(It was obsoleted after release 07100, replaced by snAgentBrdRxTrafficLedString)"
	::= { snAgentBrdEntry 16 }

snAgentBrdStatusLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel status LEDs. This is a bit-map; 
		each LED is encoded into 1 bit for each switch
		port. The following shows the meaning of each
		bit for each switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (Link off)
			 1         on  (Link on)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
	::= { snAgentBrdEntry 17 }

snAgentBrdTrafficLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel traffic LEDs. This is a packed bit string; 
		each LED is encoded into 1 bit for each switch
		port. The following shows the meaning of each
		bit for each switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no traffic)
			 1         on  (traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
	::= { snAgentBrdEntry 18 }

snAgentBrdMediaLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs. This is a packed bit string;
		each LED is encoded into 1 bit for each switch port.
		The following shows the meaning of each bit for each
		switch port:

		bit value  meaning   
		---------  -------
      	  0        half duplex
      	  1        full duplex

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
        ---------"
	::= { snAgentBrdEntry 19 }

snAgentBrdSpeedLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs. This is a packed bit string;
		each LED is encoded into 1 bit for each switch port.
		The following shows the meaning of each bit for each
		switch port:

		bit value  meaning   
		---------  -------
      	  0        10 MBit
      	  1        100 MBit

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
        ---------"
	::= { snAgentBrdEntry 20 }

snAgentBrdAlarmLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel media LEDs (for POS Module Only).
		This is a packed bit string; each LED is encoded
		into 1 bit for each switch port. The following
		shows the meaning of each bit for each switch port:

		bit value  meaning   
		---------  -------
      	  0        no alarm
      	  1        alarm

		The bitmap of LEDs are as following: 
		         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24			  
        ---------"
	::= { snAgentBrdEntry 21 }

snAgentBrdTxTrafficLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel transmit traffic LEDs (for POS Module Only).
		This is a packed bit string; each LED is encoded into
		1 bit for each switch port. The following shows the
		meaning of each bit for each switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no transmit traffic)
			 1         on  (transmit traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
	::= { snAgentBrdEntry 22 }

snAgentBrdRxTrafficLedString OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit array that contains the value of the
		front panel receive traffic LEDs (for POS Module Only).
		This is a packed bit string; each LED is encoded into
		1 bit for each switch port. The following shows the
		meaning of each bit for each switch port:

		  bit value  meaning
		  --------   ---------  
		     0         off (no receive traffic)
			 1         on  (receive traffic)

		The bitmap of LEDs are as following: 
			  
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
		Byte 1:	 LED1	LED2   LED3  LED4   LED5   LED6   LED7   LED8    
		Byte 2:	 LED9	LED10  LED11 LED12  LED13  LED14  LED15  LED16     
		Byte 3:	 LED17	LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
	::= { snAgentBrdEntry 23 }

-- Trap Receiver Table


snAgTrpRcvrTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgTrpRcvrEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of managers which to send traps."
	::= { snAgentTrp 1 }

snAgTrpRcvrEntry OBJECT-TYPE
	SYNTAX	SnAgTrpRcvrEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the trap receiver table.
		The column snAgTrpRcvrStatus is used to create
		and delete rows in the table. Creation requires
		a SET PDU with objects snAgTrpRcvrIndex,
		snAgTrpRcvrIpAddr, snAgTrpRcvrComm and 
		snAgTrpRcvrStatus."
	INDEX	{ snAgTrpRcvrIndex }
	::= { snAgTrpRcvrTable 1 }

SnAgTrpRcvrEntry ::= SEQUENCE {
	snAgTrpRcvrIndex
		INTEGER,
	snAgTrpRcvrIpAddr
		IpAddress,
	snAgTrpRcvrComm
		OCTET STRING,
	snAgTrpRcvrStatus
		INTEGER,
	snAgTrpRcvrUDPPort
		INTEGER
	}

snAgTrpRcvrIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..10)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the Trap Receiver Table."
	::= { snAgTrpRcvrEntry 1 }

snAgTrpRcvrIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ip address for
		SNMP manager that is to receive the trap."
	::= { snAgTrpRcvrEntry 2 }

snAgTrpRcvrComm OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Community string to use."
	::= { snAgTrpRcvrEntry 3 }


snAgTrpRcvrStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		valid(2),
		delete(3),
		create(4),
		ignore(5)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object is used to create and
		delete rows in the table and control
		if they are used. The values
		that can be written are:
		  ignore(5)...don't use this entry to
		                send traps to at this time
		  delete(3)...deletes the row
		  create(4)...creates a new row

		If the row exists, then a SET with
		value of create(5) returns error
		'badValue'. Deleted rows go away
		immediately. The following values
		can be returned on reads:
		  other(1)....some other case
		  valid(2)....the row exists and is valid
		  ignore(5)...don't use this entry to
		                send traps to at this time"
	::= { snAgTrpRcvrEntry 4 }

snAgTrpRcvrUDPPort       OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"UDP port number of the trap receiver."
    DEFVAL { 162 }
	::= { snAgTrpRcvrEntry 5 }


-- Boot Sequence Table


snAgBootSeqTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgBootSeqEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of image load sequnce instructions to the boot code.
		Boot code will start from instruction of the first valid entry
		to load the image. If failed, it will use the second valid
		entry and so on, until a succesful load has completed. Each
		entry must have an unique instruction, duplicate instructions
		will be rejected."
	::= { snAgentBoot 1 }

snAgBootSeqEntry OBJECT-TYPE
	SYNTAX	SnAgBootSeqEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the boot sequence table."
	INDEX	{ snAgBootSeqIndex }
	::= { snAgBootSeqTable 1 }

SnAgBootSeqEntry ::= SEQUENCE {
	snAgBootSeqIndex
		INTEGER,
	snAgBootSeqInstruction
		INTEGER,
	snAgBootSeqIpAddr
		IpAddress,
	snAgBootSeqFilename
		DisplayString,
	snAgBootSeqRowStatus
		INTEGER
	}

snAgBootSeqIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..4)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the boot sequence table."
	::= { snAgBootSeqEntry 1 }

snAgBootSeqInstruction OBJECT-TYPE
	SYNTAX	INTEGER {
		fromPrimaryFlash(1),
		fromSecondaryFlash(2),
		fromTftpServer(3),
		fromBootpServer(4) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The instruction for the boot code."
	::= { snAgBootSeqEntry 2 }

snAgBootSeqIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ip address of the TFTP server if snAgBootSeqInstruction
		was set to 'fromTftpServer'; otherwise, this object is not
		used in any other boot instruction."
	::= { snAgBootSeqEntry 3 }

snAgBootSeqFilename OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The image filename on the TFTP server if snAgBootSeqInstruction
		was set to 'fromTftpServer'; otherwise, this object is not
		used in any other boot instruction."
	::= { snAgBootSeqEntry 4 }

snAgBootSeqRowStatus OBJECT-TYPE
	SYNTAX	INTEGER	{
		other(1),
		valid(2),
		delete(3),
		create(4) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To create or delete a boot sequence table entry."
	::= { snAgBootSeqEntry 5 }

--- Encoded Octet Strings for the Configuration File Transfer


snAgCfgEosTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgCfgEosEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"This table represents the fragmented Configuration File data packet 
		with checksum include in each rows of this table.  A SNMP-SET
		represents configuration file download, and a SNMP-GET represents
		configuration file upload.  This action is only if the SNMP-SET of
		snAgCfgLoad command is sent along with this table consecutively.  The 
		applicable snAgCfgLoad command value is as followings:
		uploadFromFlashToNMS(23),
		downloadToFlashFromNMS(24),
		uploadFromDramToNMS(25),
		downloadToDramFromNMS(26)." 
	::= { snAgCfgEos 1 }


snAgCfgEosEntry OBJECT-TYPE
	SYNTAX	SnAgCfgEosEntry	
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"An EOS row in the table of encoded octet strings for table 
		snAgCfgEosTable. "
	INDEX  { snAgCfgEosIndex }
	::= { snAgCfgEosTable 1 }



SnAgCfgEosEntry ::= 
	SEQUENCE {
	snAgCfgEosIndex
		INTEGER,
	snAgCfgEosPacket 
		OCTET STRING,
	snAgCfgEosChkSum
		INTEGER
	}


snAgCfgEosIndex OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		 "Each VLAN EOS Buffer Identifier have a multiple 
		 VLAN table entries."
	::= { snAgCfgEosEntry 1 }

snAgCfgEosPacket OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(0..1000))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"An encoded octet string. On reads it contains an integral 
		number of configuration file data packets. The size 
		of each encoded octet string is less than or equal to 1400
		bytes."
	::= { snAgCfgEosEntry 2 }


snAgCfgEosChkSum OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		 "A checksum of each configuration file data packet." 
	::= { snAgCfgEosEntry 3 }


-- Stackable Management Group

snStackGen				OBJECT IDENTIFIER ::= { snStack 1 }
snStackSecSwitchInfo	OBJECT IDENTIFIER ::= { snStack 2 }

-- MIB Objects


-- General Stackable Management Information

snStackPriSwitchMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Stackable Management Primary Switch mode
		 either enabled or disabled and the default is 
		 disabled mode.
		 enabled(1)...........primary switch enabled
		 disabled(0)..........primary switch disabled"  
	::= { snStackGen 1 }

snStackMaxSecSwitch OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The Maximum Secondary Switches are allowed in the
		 Stackable Management Group."
	::= { snStackGen 2 }

snStackTotalSecSwitch OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The Total Secondary Switches currently connected to the
		 Stackable Management Group."
	::= { snStackGen 3 }

snStackSyncAllSecSwitch OBJECT-TYPE
	SYNTAX  INTEGER {
		normal(0),
		invalid(1),
		device(2),
		global(3),
		local(4)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Synchronize all the secondary switches in the
		 Stackable Management Group with the following commands.
		 device(2)...........device related parameters.
		 global(3)...........global parameters.  
		 local(4)............local parameters.
		 The return result of the above commands are either
		 normal(0)...........normal condition.
		 invalid(1)...........invalid result."  
	::= { snStackGen 4 }

snStackSmSlotIndex OBJECT-TYPE
	SYNTAX	INTEGER (0..8)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The Slot 0 is the Master slot and Slot 1-8 are slaves. 
		 All the slot-based MIB data can be retrieved with respect to 
		 this slot index such as snChassis global MIB. "
	::= { snStackGen 5 }

snStackFmpSetProcess OBJECT-TYPE
	SYNTAX	INTEGER { 
						normal(0), 
						pending(1), 
						failure(2)
					}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"normal(0)  - The set process is either in an idle state or FMP-SET-SUCCESS state.
		 pending(1) - The pending process is waiting for the result of an FMP-SET.
		 failure(2) - The failure result of an FMP-SET."
	::= { snStackGen 6 }




-- Stackable Management Secondary Switch Information Table


snStackSecSwitchTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnStackSecSwitchEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"If snSwGroupOperMode is configured as basic mode
		 which is VLAN by Port, Layer2 switching,
		 then this table is valid.  Each VLAN switch port
		 could have a number of VLAN IDs."
	::= { snStackSecSwitchInfo 1 }


snStackSecSwitchEntry OBJECT-TYPE
	SYNTAX  SnStackSecSwitchEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Stackable Management Secondary Switch 
		 Information table."
	INDEX   { 
		snStackSecSwitchIndex
	}
	::= { snStackSecSwitchTable 1 }


SnStackSecSwitchEntry ::= SEQUENCE {
	snStackSecSwitchIndex
		INTEGER,
	snStackSecSwitchSlotId
		INTEGER,
	snStackSecSwitchPortCnts
		INTEGER,
	snStackSecSwitchEnabled
		INTEGER,
	snStackSecSwitchAck
		INTEGER,
	snStackSecSwitchMacAddr
		MacAddress,
	snStackSecSwitchSyncCmd
		INTEGER, 
	snStackSecSwitchIpAddr
		IpAddress,
	snStackSecSwitchSubnetMask
		IpAddress,
	snStackSecSwitchCfgCmd
		INTEGER 
	}

snStackSecSwitchIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..26)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch index must not be greater than the snStackMaxSecSwitch."
	::= { snStackSecSwitchEntry 1 }


snStackSecSwitchSlotId OBJECT-TYPE
	SYNTAX  INTEGER (1..26)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch slot ID must be set before the Configuration 
		 command sent from the primary switch to the secondary switch 
		 either manually or automatically - snStackSecSwitchCfgCmd."
	::= { snStackSecSwitchEntry 2 }

snStackSecSwitchPortCnts OBJECT-TYPE
	SYNTAX  INTEGER (1..26)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The number of ports in this secondary switch."
	::= { snStackSecSwitchEntry 3 }

snStackSecSwitchEnabled OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch has been selected to Stackable Management Group."
	::= { snStackSecSwitchEntry 4 }

snStackSecSwitchAck OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch has sent reponse to the primary switch."
	::= { snStackSecSwitchEntry 5 }

snStackSecSwitchMacAddr OBJECT-TYPE
	SYNTAX  MacAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch physical address. The physical address 
		represents a MAC Station."
	::= { snStackSecSwitchEntry 6 }

snStackSecSwitchSyncCmd OBJECT-TYPE
	SYNTAX  INTEGER {
		normal(0),
		invalid(1),
		device(2),
		global(3),
		local(4)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Synchronize the secondary switches in the
		 Stackable Management Group with the following commands.
		 device(2)...........device related parameters.
		 global(3)...........global parameters.  
		 local(4)............local parameters.
		 The return result of the above commands are either
		 normal(0)...........normal condition.
		 invalid(1)...........invalid result."  
	::= { snStackSecSwitchEntry 7 }

snStackSecSwitchIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch IP Address and is used for 
		 manual-command of snStackSecSwitchCfgCmd."
	::= { snStackSecSwitchEntry 8 }

snStackSecSwitchSubnetMask OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The secondary switch IP Subnet Mask and is used for 
		 manual-command of snStackSecSwitchCfgCmd."
	::= { snStackSecSwitchEntry 9 }

snStackSecSwitchCfgCmd OBJECT-TYPE
	SYNTAX  INTEGER {
		normal(0),
		invalid(1),
		auto(2),
		manual(3)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"snStackSecSwitchSlotId must be set before the Configuration 
		 command sent from the primary switch to the secondary switch 
		 either manually or automatically.
		 auto(2)...........auto-configuration command sent.
		 manual(3).........manual-configuration command sent.
						   if manual-mode is used, snStackSecSwitchIpAddr
						   and snStackSecSwitchSubnetMask must be
						   first set before this command is sent.
		 The return result of the above commands are either
		 normal(0)...........normal condition.
		 invalid(1)..........invalid result."  
	::= { snStackSecSwitchEntry 10 }

-- System Logging Group

snAgSysLogGbl	OBJECT IDENTIFIER ::= { snAgentLog 1 }

snAgSysLogGblEnable OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Enable/disable system logging."
    DEFVAL { enabled }
	::= { snAgSysLogGbl 1 }

snAgSysLogGblBufferSize OBJECT-TYPE
	SYNTAX	INTEGER (1..100)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The number of dynamic system logging entries."
    DEFVAL { 50 }
	::= { snAgSysLogGbl 2 }

snAgSysLogGblClear OBJECT-TYPE
	SYNTAX	INTEGER { normal(0), clearAll(1), clearDynamic(2), clearStatic(3) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Clear dynamic and/or static system logging buffers."
	::= { snAgSysLogGbl 3 }

snAgSysLogGblCriticalLevel OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Filter events going to the logging buffer. This is a packed
		bit string object of which each bit has the following meaning:
		(bit 0 is the least significant bit).

		  bit position   meaning
		  ------------   -------
		      8-31	 reserved
		      7		 Warning (warning conditions)
		      6		 Notification (normal but significant conditions)
		      5		 Informational (informational messages)
		      4		 Error (error conditions)
		      3		 Emergency (system is unusable)
		      2		 Debugging (debugging messages)
		      1		 Critical (critical conditions)
		      0		 Alert (immediate action needed)

		Setting a critical level bit to 1 makes the logging buffer
		accept the corresponding event. Resetting a critical level
		bit to 0 makes the logging buffer reject the corresponding
		event."
    DEFVAL { 255 }
	::= { snAgSysLogGbl 4 }

snAgSysLogGblLoggedCount OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number events logged in the system logging buffer."
	::= { snAgSysLogGbl 5 }

snAgSysLogGblDroppedCount OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of events dropped."
	::= { snAgSysLogGbl 6 }

snAgSysLogGblFlushedCount OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of times that the system logging buffer was cleared."
	::= { snAgSysLogGbl 7 }

snAgSysLogGblOverrunCount OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of times that the system logging buffer was wrapped
		around."
	::= { snAgSysLogGbl 8 }

snAgSysLogGblServer OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS	read-write
	STATUS	deprecated
	DESCRIPTION
		"IP address of syslog server."
	::= { snAgSysLogGbl 9 }

snAgSysLogGblFacility OBJECT-TYPE
	SYNTAX  INTEGER {
		kern(1),
		user(2),
		mail(3),
		daemon(4),
		auth(5),
		syslog(6),
		lpr(7),
		news(8),
		uucp(9),
		sys9(10),
		sys10(11),
		sys11(12),
		sys12(13),
		sys13(14),
		sys14(15),
		cron(16),
		local0(17),
		local1(18),
		local2(19),
		local3(20),
		local4(21),
		local5(22),
		local6(23),
		local7(24)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Facility code."
    DEFVAL { user }
	::= { snAgSysLogGbl 10 }

-- Dynamic System Logging Buffer Table

snAgSysLogBufferTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgSysLogBufferEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Dynamic system logging buffer table."
	::= { snAgentLog 2 }

snAgSysLogBufferEntry OBJECT-TYPE
	SYNTAX	SnAgSysLogBufferEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the dynamic system logging buffer table."
	INDEX	{ snAgSysLogBufferIndex }
	::= { snAgSysLogBufferTable 1 }

SnAgSysLogBufferEntry ::= SEQUENCE {
	snAgSysLogBufferIndex
		INTEGER,
	snAgSysLogBufferTimeStamp
		TimeTicks,
	snAgSysLogBufferCriticalLevel
		INTEGER,
	snAgSysLogBufferMessage
		DisplayString,
	snAgSysLogBufferCalTimeStamp
		DisplayString
	}

snAgSysLogBufferIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..100)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the dynamic system logging buffer table."
	::= { snAgSysLogBufferEntry 1 }

snAgSysLogBufferTimeStamp OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A time stamp when the event is logged."
	::= { snAgSysLogBufferEntry 2 }

snAgSysLogBufferCriticalLevel OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		alert(2),
		critical(3),
		debugging(4),
		emergency(5),
		error(6),
		informational(7),
		notification(8),
		warning(9) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The critical level of this event."
	::= { snAgSysLogBufferEntry 3 }

snAgSysLogBufferMessage OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The system logging message."
	::= { snAgSysLogBufferEntry 4 }

snAgSysLogBufferCalTimeStamp OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A time stamp when the event is logged. This object returns
		a NULL terminated time stamp string if the system calendar
		time was set. It returns a zero length string if the system
		calendar time was not set."
	::= { snAgSysLogBufferEntry 5 }


-- Static System Logging Buffer Table

snAgStaticSysLogBufferTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgStaticSysLogBufferEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Static system logging buffer table."
	::= { snAgentLog 3 }

snAgStaticSysLogBufferEntry OBJECT-TYPE
	SYNTAX	SnAgStaticSysLogBufferEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the static system logging buffer table."
	INDEX	{ snAgStaticSysLogBufferIndex }
	::= { snAgStaticSysLogBufferTable 1 }

SnAgStaticSysLogBufferEntry ::= SEQUENCE {
	snAgStaticSysLogBufferIndex
		INTEGER,
	snAgStaticSysLogBufferTimeStamp
		TimeTicks,
	snAgStaticSysLogBufferCriticalLevel
		INTEGER,
	snAgStaticSysLogBufferMessage
		DisplayString,
	snAgStaticSysLogBufferCalTimeStamp
		DisplayString
	}

snAgStaticSysLogBufferIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..100)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the static system logging buffer table."
	::= { snAgStaticSysLogBufferEntry 1 }

snAgStaticSysLogBufferTimeStamp OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A time stamp when the event is logged."
	::= { snAgStaticSysLogBufferEntry 2 }

snAgStaticSysLogBufferCriticalLevel OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		alert(2),
		critical(3),
		debugging(4),
		emergency(5),
		error(6),
		informational(7),
		notification(8),
		warning(9) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The critical level of this event."
	::= { snAgStaticSysLogBufferEntry 3 }

snAgStaticSysLogBufferMessage OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The system logging message."
	::= { snAgStaticSysLogBufferEntry 4 }

snAgStaticSysLogBufferCalTimeStamp OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A time stamp when the event is logged. This object returns
		a NULL terminated time stamp string if the system calendar
		time was set. It returns a zero length string if the system
		calendar time was not set."
	::= { snAgStaticSysLogBufferEntry 5 }

-- SysLog Server Table

snAgSysLogServerTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgSysLogServerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"System Log Server table."
	::= { snAgentLog 4 }

snAgSysLogServerEntry OBJECT-TYPE
	SYNTAX	SnAgSysLogServerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the SysLog Server table."
	INDEX	{snAgSysLogServerIP, snAgSysLogServerUDPPort}
	::= { snAgSysLogServerTable 1 }

SnAgSysLogServerEntry ::= SEQUENCE {
	snAgSysLogServerIP
		IpAddress,
	snAgSysLogServerUDPPort
		INTEGER,
	snAgSysLogServerRowStatus
		INTEGER
	}

snAgSysLogServerIP OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP address of syslog server."
	::= { snAgSysLogServerEntry 1 }

snAgSysLogServerUDPPort       OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"UDP port number of syslog server."
	::= { snAgSysLogServerEntry 2 }

snAgSysLogServerRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		valid(2),
		delete(3),
		create(4)
		}
	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

		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:
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snAgSysLogServerEntry 3 }

-- Agent System Parameters Configuration Table


snAgentSysParaConfigTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgentSysParaConfigEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of Agent of each board."
	::= { snAgentSysParaConfig 1 }

snAgentSysParaConfigEntry OBJECT-TYPE
	SYNTAX	SnAgentSysParaConfigEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the Agent System Parameters Configuation table."
	INDEX	{ snAgentSysParaConfigIndex }
	::= { snAgentSysParaConfigTable 1 }

SnAgentSysParaConfigEntry ::= SEQUENCE {
	snAgentSysParaConfigIndex
		INTEGER,
	snAgentSysParaConfigDescription
		DisplayString,
	snAgentSysParaConfigMin
		INTEGER,
	snAgentSysParaConfigMax 
		INTEGER,
	snAgentSysParaConfigDefault 
		INTEGER,
	snAgentSysParaConfigCurrent
		INTEGER
	}

snAgentSysParaConfigIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the Agent System Parameters Configuation Table."
	::= { snAgentSysParaConfigEntry 1 }

snAgentSysParaConfigDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board description string."
    ::= { snAgentSysParaConfigEntry 2 }

snAgentSysParaConfigMin OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The minimum value of this Agent System Parameter."
	::= { snAgentSysParaConfigEntry 3 }

snAgentSysParaConfigMax OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum value of this Agent System Parameter."
	::= { snAgentSysParaConfigEntry 4 }

snAgentSysParaConfigDefault OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The default value of this Agent System Parameter."
	::= { snAgentSysParaConfigEntry 5 }

snAgentSysParaConfigCurrent OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The current configurated value of this Agent System Parameter."
	::= { snAgentSysParaConfigEntry 6 }


-- Agent Configured Module Table


snAgentConfigModuleTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgentConfigModuleEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of each configured module information."
	::= { snAgentConfigModule 1 }

snAgentConfigModuleEntry OBJECT-TYPE
	SYNTAX	SnAgentConfigModuleEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the Agent Configured Module table."
	INDEX	{ snAgentConfigModuleIndex }
	::= { snAgentConfigModuleTable 1 }

SnAgentConfigModuleEntry ::= SEQUENCE {
	snAgentConfigModuleIndex
		INTEGER,
	snAgentConfigModuleType
		INTEGER,
	snAgentConfigModuleRowStatus
		INTEGER,
	snAgentConfigModuleDescription
		DisplayString,
	snAgentConfigModuleOperStatus
		DisplayString,
	snAgentConfigModuleSerialNumber
		DisplayString,
	snAgentConfigModuleNumberOfPorts
		INTEGER,
	snAgentConfigModuleMgmtModuleType
		INTEGER,
	snAgentConfigModuleNumberOfCpus
		INTEGER
	}

snAgentConfigModuleIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the Agent Configured Module Table."
	::= { snAgentConfigModuleEntry 1 }

snAgentConfigModuleType OBJECT-TYPE
	SYNTAX	INTEGER	{
		bi8PortGigManagementModule(0),
		bi4PortGigManagementModule(1),
		bi16PortCopperManagementModule(2),
		bi4PortGigModule(3),
		fi2PortGigManagementModule(4),
		fi4PortGigManagementModule(5),
		bi8PortGigCopperManagementModule(6),
		fi8PortGigManagementModule(7),
		bi8PortGigModule(8),
		bi24PortCopperModule(10),
		fi24PortCopperModule(11),
		bi16Port100FXModule(12),
		bi8Port100FXModule(13),
		bi8PortGigCopperModule(14),
		bi2PortGigManagementModule(18),
		bi24Port100FXModule(19),
		bi0PortManagementModule(20),
		pos622MbsModule(21),
		pos155MbsModule(22),
		bi2PortGigModule(23),
		bi2PortGigCopperModule(24),
		fi2PortGigModule(25),
		fi4PortGigModule(26),
		fi8PortGigModule(27),
		fi8PortGigCopperModule(28),
		fi8PortGigCopperManagementModule(29),
		pos155Mbs2PModule(30),
		fi4PortGigCopperManagementModule(31),
		fi2PortGigCopperManagementModule(32),
		bi4PortGigCopperManagementModule(33),
		bi2PortGigCopperManagementModule(34),
		bi8PortGigM4ManagementModule(35),
		bi4PortGigM4ManagementModule(36),
		bi2PortGigM4ManagementModule(37),
		bi0PortGigM4ManagementModule(38),
		bi0PortWSMManagementModule(39),
		biPos2Port2488MbsModule(40),
		bi0PortWSMModule(41),
		niPos2Port2488MbsModule(42),
		ni4802(43),
		bi4PortGigNPAModule(44),
		biAtm2Port155MbsModule(45),
		biAtm4Port155MbsModule(46),
		bi1Port10GigModule(47),
		biFiJc48ePort100fxIpcModule(195),
		biFiJc48tPort100fxIpcModule(196),
		biFiJc8PortGigM4ManagementModule(197),
		biFiJc8PortGigIgcModule(198)
		}

    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The Configured Module Type."
    ::= { snAgentConfigModuleEntry 2 }


snAgentConfigModuleRowStatus OBJECT-TYPE
	SYNTAX	INTEGER	{
		other(1),
		valid(2),
		delete(3),
		create(4) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To create or delete a configured module table entry."
	::= { snAgentConfigModuleEntry 3 }


snAgentConfigModuleDescription OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A description of the configured module."
	::= { snAgentConfigModuleEntry 4 }


snAgentConfigModuleOperStatus OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Module operational status. Zero length string indicates
		that physical module has not been inserted to the chassis."
	::= { snAgentConfigModuleEntry 5 }


snAgentConfigModuleSerialNumber OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Module serial number. Zero length string indicates that
		module serial number EEPROM has not been programmed or
		the module does not support serial number EEPROM."
	::= { snAgentConfigModuleEntry 6 }


snAgentConfigModuleNumberOfPorts OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ports of module."
	::= { snAgentConfigModuleEntry 7 }


snAgentConfigModuleMgmtModuleType OBJECT-TYPE
	SYNTAX	INTEGER	{
		other(1),
		nonManagementModule(2),
		unknownManagementModule(3),
		m1ManagementModule(4),
		m2ManagementModule(5),
		m3ManagementModule(6),
		m4ManagementModule(7),
		m5ManagementModule(8),
		jetcoreStackManagementModule(9) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Management module type."
	::= { snAgentConfigModuleEntry 8 }


snAgentConfigModuleNumberOfCpus OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of module CPUs."
	::= { snAgentConfigModuleEntry 9 }


-- Agent User Access Group


snAgentUserGbl OBJECT IDENTIFIER ::= { snAgentUser 1 }

snAgentUserMaxAccnt         OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Maximum number of user account entries can be configured."
	::= { snAgentUserGbl 1 }


-- Agent User Account Table


snAgentUserAccntTable       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgentUserAccntEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of user account information."
	::= { snAgentUser 2 }

snAgentUserAccntEntry       OBJECT-TYPE
	SYNTAX	SnAgentUserAccntEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the Agent User table."
	INDEX	{ snAgentUserAccntName }
	::= { snAgentUserAccntTable 1 }

SnAgentUserAccntEntry ::= SEQUENCE {
	snAgentUserAccntName
		DisplayString,
	snAgentUserAccntPassword
		DisplayString,
	snAgentUserAccntEncryptCode
		INTEGER,
	snAgentUserAccntPrivilege
		INTEGER,
	snAgentUserAccntRowStatus
		INTEGER
	}

snAgentUserAccntName        OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..48))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The user name."
	::= { snAgentUserAccntEntry 1 }

snAgentUserAccntPassword    OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..48))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The user password."
	::= { snAgentUserAccntEntry 2 }

snAgentUserAccntEncryptCode OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
    DESCRIPTION
        "The password encryption method code."
    ::= { snAgentUserAccntEntry 3 }

snAgentUserAccntPrivilege   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
    DESCRIPTION
        "The user privilege."
    ::= { snAgentUserAccntEntry 4 }

snAgentUserAccntRowStatus   OBJECT-TYPE
	SYNTAX	INTEGER	{
		other(1),
		valid(2),
		delete(3),
		create(4),
		modify(5) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To create or delete a user account table entry."
	::= { snAgentUserAccntEntry 5 }

-- Agent Redundant Group


snAgentRedunGbl OBJECT IDENTIFIER ::= { snAgentRedundant 1 }

snAgentRedunActiveMgmtMod      OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Slot number of the active management module. Setting
		this object does not take effect immediately. Saving
		configuration data to flash storage and reboot the
		system are required to take effect. Setting a value of 0
		requests the system to auto-select an active management
		module after power up."
    DEFVAL { 0 }
	::= { snAgentRedunGbl 1 }

snAgentRedunSyncConfig         OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Frequency of the backup management module copying the
		configuration data from the active management module.
		Each unit is 1 second. Setting a value 0 will disable
		the synchronization copy. Setting a negative value will
		initiate the synchronization copy once immediately."
    DEFVAL { 10 }
	::= { snAgentRedunGbl 2 }

snAgentRedunBkupCopyBootCode   OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"If enabled(1), the backup management module copies the boot code
		from the active management module to its boot code flash storage
		after power up, and whenever the active management module's boot
		code is updated. The backup management module does not copy if
		both boot codes were identical."
    DEFVAL { disabled }
	::= { snAgentRedunGbl 3 }

snAgentEnableMgmtModRedunStateChangeTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is permitted to
		generate management module redundancy state change traps."
    DEFVAL { enabled }
	::= { snAgentRedunGbl 4 }

snAgentRedunBkupBootLoad       OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(1),
		operationError(17),
		downloadBackup(20)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Action object to down load a new boot code from boot flash storage
		of the active management module to the backup management module.
		The following are returned values from get operation:
		  normal(1)............no operation
		  operationError(17)...error codes

		The following are input values from set operation:
		  downloadBackup(20)...download the boot code from the active
		                       management module to the backup management
		                       module

		Any set operation is rejected during loading until error
		or normal state is reached."
	::= { snAgentRedunGbl 5 }

snAgentRedunSwitchOver         OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		reset(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To force a switch-over from standby to active state
		if the backup management module exists in a chassis."
	::= { snAgentRedunGbl 6 }

-- System CPU Utilization Table.

snAgentCpuUtilTable     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgentCpuUtilEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Table to list utilization for all CPUs in the device."
	::= { snAgentCpu 1 }

snAgentCpuUtilEntry	OBJECT-TYPE
	SYNTAX	SnAgentCpuUtilEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the CPU utilization table."
	INDEX	{ 
		snAgentCpuUtilSlotNum,
		snAgentCpuUtilCpuId,
		snAgentCpuUtilInterval
	}
	::= { snAgentCpuUtilTable 1 }

SnAgentCpuUtilEntry ::= SEQUENCE {
	snAgentCpuUtilSlotNum
		INTEGER,
	snAgentCpuUtilCpuId
		INTEGER,
	snAgentCpuUtilInterval
		INTEGER,
	snAgentCpuUtilValue
		Gauge
	}

snAgentCpuUtilSlotNum	OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The slot number of module which contains the cpu."
	::= { snAgentCpuUtilEntry 1 }

snAgentCpuUtilCpuId  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The id of cpu. For non-VM1/WSM management module, there is one CPU.
		For VM1/WSM there's one management CPU and three slave CPUs.
		The management CPU could be turned off. For POS and ATM
		there's no management CPU but  two slave CPUs.
		Id for management cpu is 1. Value of 2 or greater are for slave CPUs. "
	::= { snAgentCpuUtilEntry 2 }

snAgentCpuUtilInterval  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value, in seconds, for this utilization. For both management and slave CPU, we display
		utilization for 1 sec, 5 sec, 60 sec and 300 sec interval."
	::= { snAgentCpuUtilEntry 3 }

snAgentCpuUtilValue OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The statistical CPU utilization in units of one-hundredth of a percent."
	::= { snAgentCpuUtilEntry 4 }

-- Hardware ICBM (Integrated Central Buffer Manager) Counter Table.

snAgentHwICBMCounterTable     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnAgentHwICBMCounterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Table to list the ICBM counter values.
		This table is not supported on 10G module."
	::= { snAgentHw 1 }

snAgentHwICBMCounterEntry	OBJECT-TYPE
	SYNTAX	SnAgentHwICBMCounterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row representing ICBM counter values for that slot."
	INDEX	{ 
		snAgentHwICBMCounterSlot,
		snAgentHwICBMCounterDMA
	}
	::= { snAgentHwICBMCounterTable 1 }

SnAgentHwICBMCounterEntry ::= SEQUENCE {
	snAgentHwICBMCounterSlot
		Unsigned32,
	snAgentHwICBMCounterDMA
		Unsigned32,
	snAgentHwICBMCounterFreeDepth
		Counter,
	snAgentHwICBMCounterWriteDrop
		Counter,
	snAgentHwICBMCounterWriteInput
		Counter,
	snAgentHwICBMCounterWriteOutput
		Counter,
	snAgentHwICBMCounterReadInput
		Counter,
	snAgentHwICBMCounterReadOutput
		Counter
	}

snAgentHwICBMCounterSlot  OBJECT-TYPE
	SYNTAX	Unsigned32
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Slot number where ICBM resides."
	::= { snAgentHwICBMCounterEntry 1 }

snAgentHwICBMCounterDMA  OBJECT-TYPE
	SYNTAX	Unsigned32
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"DMA Id within a slot where ICBM resides. Valid only for Jetcore modules.
		For non-Jetcore modules, this index is ignored by the agent. In this case, value
		0 will be returned by the agent."
	::= { snAgentHwICBMCounterEntry 2 }

snAgentHwICBMCounterFreeDepth  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Current depth of the free queue for this ICBM."
	::= { snAgentHwICBMCounterEntry 3 }

snAgentHwICBMCounterWriteDrop  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Write sequencer drop count for this ICBM."
	::= { snAgentHwICBMCounterEntry 4 }

snAgentHwICBMCounterWriteInput  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Write sequencer input counter for this ICBM."
	::= { snAgentHwICBMCounterEntry 5 }

snAgentHwICBMCounterWriteOutput  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Write sequencer output counter for this ICBM."
	::= { snAgentHwICBMCounterEntry 6 }

snAgentHwICBMCounterReadInput  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Read sequencer input counter for this ICBM."
	::= { snAgentHwICBMCounterEntry 7 }

snAgentHwICBMCounterReadOutput  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Read sequencer output counter for this ICBM."
	::= { snAgentHwICBMCounterEntry 8 }

END

HP-SN-SWITCH-GROUP-MIB DEFINITIONS ::= BEGIN


-- Foundry SnSwitch Group MIB Release 2.0.0
-- Revision 0 08/18/96

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

IMPORTS
	Counter, TimeTicks, IpAddress, Gauge
		FROM RFC1155-SMI
	Unsigned32
		FROM SNMPv2-SMI
	OBJECT-TYPE
		FROM RFC-1212
	snSwitch
		FROM HP-SN-ROOT-MIB;

		-- textual conventions

	  DisplayString ::=
	      OCTET STRING
	  -- This data type is used to model textual information taken
	  -- from the NVT ASCII character set.  By convention, objects
	  -- with this syntax are declared as having
	  --
	  --      SIZE (0..255)

	  PhysAddress ::=
	      OCTET STRING
	  -- This data type is used to model media addresses.  For many
	  -- types of media, this will be in a binary representation.
	  -- For example, an ethernet address would be represented as
	  -- a string of 6 octets.

	  MacAddress ::=
	      OCTET STRING (SIZE(6))
	  -- This data type is used to model media addresses.  For many
	  -- types of media, this will be in a binary representation.
	  -- For example, an ethernet address would be represented as
	  -- a string of 6 octets.

      BridgeId ::= OCTET STRING (SIZE(8))  
      -- the Bridge-Identifier as used in the Spanning Tree

      Timeout ::= INTEGER -- a STP timer in units of 1/100 seconds

	  PortMask ::=
		  INTEGER
	  -- This data type is used to model port bitmask.  The 
	  -- maximum of ports are 32.  

      InterfaceId ::= OBJECT IDENTIFIER
	  -- This data type is used to specify an interface ID.
	  -- The first object identifier is port type, and the
	  -- format of the rest of the object identifiers depend
	  -- on the port type.
	  --
	  -- ethernet(1), format: type.slot.port
	  --   e.g. 1.3.6 is port ethernet 3/6
	  --
	  -- pos(2), format: type.slot.port
	  --   e.g. 2.10.1 is port pos 10/1
	  --
	  -- atm(3), format: type.slot.port
	  --   e.g. 3.8.2 is port atm 8/2
	  --
	  -- virtual router interface(4), format: type.ve
	  --   e.g. 4.9 is port ve 9
	  --
	  -- loopback(5), format: type.lb
	  --   e.g. 5.7 is port loopback 7
	  --
	  -- gre tunnel(6), format: type.tn, not supported
	  --
	  -- subinterface(7), format: type.slot.port.subInterface
	  --   e.g. 7.3.2.4 is port atm 3/2.4
	  --
	  -- mpls tunnel(8), format: type.tn
	  --   e.g. 8.3 is port tunnel 3
	  --
	  -- pvc(9), format: type.slot.port.subInterface.vpi.vci
	  --   e.g. 9.3.1.2.1.2 is port atm 3/1.2.1.2

-- Groups

snSwInfo 	            OBJECT IDENTIFIER ::= { snSwitch 1 }
snVLanInfo				OBJECT IDENTIFIER ::= { snSwitch 2 }
snSwPortInfo 	  		OBJECT IDENTIFIER ::= { snSwitch 3 }
snFdbInfo				OBJECT IDENTIFIER ::= { snSwitch 4 }
snPortStpInfo			OBJECT IDENTIFIER ::= { snSwitch 5 }
snTrunkInfo				OBJECT IDENTIFIER ::= { snSwitch 6 }
snSwSummary				OBJECT IDENTIFIER ::= { snSwitch 7 }
snDhcpGatewayListInfo	OBJECT IDENTIFIER ::= { snSwitch 8 }
snDnsInfo				OBJECT IDENTIFIER ::= { snSwitch 9 }
snMacFilter				OBJECT IDENTIFIER ::= { snSwitch 10 }
snNTP					OBJECT IDENTIFIER ::= { snSwitch 11 }
snRadius				OBJECT IDENTIFIER ::= { snSwitch 12 }
snTacacs				OBJECT IDENTIFIER ::= { snSwitch 13 }
snQos					OBJECT IDENTIFIER ::= { snSwitch 14 }
snAAA					OBJECT IDENTIFIER ::= { snSwitch 15 }
snCAR 					OBJECT IDENTIFIER ::= { snSwitch 16 }
snVLanCAR 				OBJECT IDENTIFIER ::= { snSwitch 17 }
snNetFlow 				OBJECT IDENTIFIER ::= { snSwitch 18 }
snSFlow 				OBJECT IDENTIFIER ::= { snSwitch 19 }
snFDP 				    OBJECT IDENTIFIER ::= { snSwitch 20 }
snVsrp   				OBJECT IDENTIFIER ::= { snSwitch 21 }

-- SECTION 2: Switch Group Configuration MIBs


snSwGroupOperMode OBJECT-TYPE
	SYNTAX  INTEGER {
		noVLan(1),
	    vlanByPort(2)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"noVLan(1) represents all switch ports with no virtual 
		 LAN by port (no Port VLAN), and with no tag assigned.
		 vlanByPort(2) represents all switch ports with Basic 
		 VLAN (layer2 Switch). "
	::= { snSwInfo 1 }

snSwGroupIpL3SwMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Group is configured with the Layer3
		 IP Switch mode either enabled or disabled and the
		 default is disabled mode.
		 enabled(1)...........activate Layer3 IP Switch
		 disabled(0)..........disable Layer3 IP Switch"  
	::= { snSwInfo 2 }


snSwGroupIpMcastMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Group is configured with the IP Multicast
		 pruning mode either enabled or disabled and the
		 default is disabled mode.
		 enabled(1)...........activate IP Multicast pruning
		 disabled(0)..........no IP Multicast pruning"
	::= { snSwInfo 3 }


snSwGroupDefaultCfgMode OBJECT-TYPE
	SYNTAX  INTEGER {
		default(1),
		nonDefault(2)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Group is configured with the Default
		 configuration. If the default configuration gets
		 overwritten, the state will change to non-default.
		 default(1)...........default configuration
		 nonDefault(2)..........non default configuration"
	::= { snSwInfo 4 }


snSwGroupSwitchAgeTime OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Age time is 180sec by default.
		 The configured range is 10 to 10,000sec.  The time
		 represents the time span to age out an MAC Address
		 entry."
	::= { snSwInfo 5 }



snVLanGroupVlanCurEntry OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The current total entry number of VLANs are configured." 
	::= { snSwInfo 6 }


snVLanGroupSetAllVLan OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The value of this object is the VLanIndex of a particalur
		 entry in snVLanByPortTable (snVLanByPortVLanIndex).  
		 All the attributes of that row of table except PortMask
		 will be used to set the same attributes for the 
		 entire VLan group. VLanId and PortMask must be set for 
                 that particular entry prior to setting this object.
		 Switch software will base on that VLAN information
		 to set the entire VLAN.   
		 Note: All the intended attributes of the given 
		 row of the table (given VLAN) must be set prior
		 setting this object.  When this object is set,
		 Set-All-VLAN action will take place simultaneously.
		 The previous setting will be overwritten by the 
		 new one."
	::= { snSwInfo 7 }


snSwPortSetAll OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The value of this object is the index number of the
		 snSwPortInfoTable (snSwPortInfoPortIndex).  
		 snSwPortInfoMonitorMode, snSwPortInfoTagMode, 
		 snSwPortInfoChnMode, snSwPortInfoSpeed,
		 snSwPortInfoAdminStatus are all the
		 read-write attributes of that row of table.
		 They will be used to set the same attributes for
		 all the ports in the system.
		 Note: prior setting this object, all the intended 
		 attributes of the given row of the table must be set.  
		 Otherwise, the current data of the row will be used to 
		 set the entire port-table. The previous setting will
		 be overwritten by the new one." 
	::= { snSwInfo 8 }



snFdbTableCurEntry OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The current total entry number of FDB are configured." 
	::= { snSwInfo 9 }


snFdbTableStationFlush OBJECT-TYPE
	SYNTAX  INTEGER {
	    normal(1),
        error(2),
        flush(3),
        flushing(4)
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The following values of the flush state
		 can only be read:
		  normal(1)... normal state
		  error(2)... operation failed
		  flushing(4)... in process

		The following value can be written:
		  flush(3).....do flush 

		The agent will return a response even before the flush is done.
		And the read value will be flushing until flush is done.
		And the flush request will be rejected until error or normal."
	::= { snSwInfo 10 }


snPortStpSetAll OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The value of this object is 1 which means invoking
                 Port STP Set-all command.  The snPortStpPriority, 
                 snPortStpPathCost, the read-write STP related 
                 attributes of the first row of table will be used 
                 to set the same attributes for all the ports in the 
                 system. 
		 Note: prior setting this object, all the intended 
		 attributes of the given row of the table must be set.  
		 Otherwise, the current data of the row will be used to 
		 set the entire port-table. The previous setting will
		 be overwritten by the new one." 
	::= { snSwInfo 11 }


snSwProbePortNum OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A chassis switch probe port is operated as a traffic analyzer
		 port and only one port can be assigned in the chassis.
		 The bit 0 to bit 7: port number. 
		 The bit 8 to bit 11: slot number.
		 A stackable switch is only assigned with one probe port as a 
		 traffic analyzer."
	::= { snSwInfo 12 }


snSw8021qTagMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Group is configured with the IEEE802.1q
		 Tagging mode either enabled or disabled and the
		 default is disabled mode.
		 enabled(1)...........activate IEEE802.1q Tagging mode.
		 disabled(0)..........no IEEE802.1q Tagging."
	::= { snSwInfo 13 }


snSwGlobalStpMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)       
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Spanning Tree System Global Mode in the Switch Group 
		 can be set either enabled or disabled and the default is 
		 enabled mode.
		 enabled(1)...........activate Spanning Tree
		 disabled(0)..........no Spanning Tree"
	::= { snSwInfo 14 }


snSwIpMcastQuerierMode OBJECT-TYPE
	SYNTAX  INTEGER {
		querier(1),
		nonQuerier(2)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The IP Multicast pruning mode is configured either 
		 Non-Querier or Querier mode and the default is 
		 querier mode.
		 querier(1)...........when prunning traffic locally 
		                      within the VLAN.
		 nonQuerier(2)........when running with a multicast 
		                      capable router in the network."
	::= { snSwInfo 15 }

snSwViolatorPortNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS	mandatory
	DESCRIPTION
		"The port number of the switch or router that received
		 a violator packet. It is included in the locked
		 address violation trap.
		 The bit 0 to bit 7: port number. 
		 The bit 8 to bit 11: slot number (slot for chassis only)."
	::= { snSwInfo 17 }

snSwViolatorMacAddress OBJECT-TYPE
    SYNTAX  MacAddress
	ACCESS  read-only
	STATUS	mandatory
	DESCRIPTION
		"The source address of the violator packet received
		 by the switch or router. It is included in the locked
		 address violation trap."
	::= { snSwInfo 18 }

snVLanGroupVlanMaxEntry OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of VLAN entries are allowed to configure."
	::= { snSwInfo 19 }

snSwEosBufferSize OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"A specific buffer size for all the different EOS buffers."
	::= { snSwInfo 20 }

snVLanByPortEntrySize OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		 "The size of each VLAN table entry."
	::= { snSwInfo 21 }

snSwPortEntrySize OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		 "The size of each port table entry."
	::= { snSwInfo 22 }

snFdbStationEntrySize OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		 "The size of each Fdb station table entry."
	::= { snSwInfo 23 }

snPortStpEntrySize OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		 "The size of each port stp table entry."
	::= { snSwInfo 24 }

snSwEnableBridgeNewRootTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate bridge new root traps."
    DEFVAL { enabled }
	::= { snSwInfo 25 }

snSwEnableBridgeTopoChangeTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate bridge topology change
		traps."
    DEFVAL { enabled }
	::= { snSwInfo 26 }

snSwEnableLockedAddrViolationTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate locked address violation
		traps."
    DEFVAL { enabled }
	::= { snSwInfo 27 }

snSwIpxL3SwMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Group is configured with the Layer3
		 IPX Switch mode either enabled or disabled and 
		 the default is disabled mode.
		 enabled(1)...........activate Layer3 Switch
		 disabled(0)..........disable Layer3 Switch"  
	::= { snSwInfo 28 }

snVLanByIpSubnetMaxSubnets OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of subnets for each IP VLAN."
	::= { snSwInfo 29 }

snVLanByIpxNetMaxNetworks OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of networks for each IPX VLAN."
	::= { snSwInfo 30 }

snSwProtocolVLanMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
	    enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"disabled(0) - represents system with Protocol VLAN disabled. 
		 enabled(1) - represents system with Protocol VLAN enabled (Layer3 VLAN)."
	::= { snSwInfo 31 }

snMacStationVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"This MAC Station VLAN ID index to the standard Forwarding Database for Transparent Bridge Table.
		 (dot1dTpFdbTable).  Since the dot1dTpFdbTable index is the MAC Address assigned to one of 
		 the ports in the bridge(VLAN) and each MAC address can be re-assigned to a different
		 ports belonging to different bridges(VLANs), the snMacStationVLanId can be used by
		 users to specify which bridge(VLAN) MAC Station information of the dot1dTpFdbTable 
		 users want to retrieve.  If users do not specify the VLan ID in this MIB, the default
		 VLAN (bridge) ID will be used when dot1dTpFdbTable is retrieved."
	::= { snSwInfo 32 }

snSwClearCounters OBJECT-TYPE
	SYNTAX  INTEGER {
		valid(0),
	    clear(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"valid(0) - a SNMP-GET of this mib shows that it is valid command to use. 
		 clear(1) - represents clear counter command of the following counters:
		 			Dot3, MIB2, IP and IPX counters for all ports."
	::= { snSwInfo 33 }

snSw8021qTagType OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The IEEE802.1q tag type embedded in the length/type field of
		an Ethernet packet. It specifies that the 2 octets after the
		length/type field in an Ethernet packet is the tag value."
    DEFVAL { 33024 }
	::= { snSwInfo 34 }

snSwBroadcastLimit OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Limit the number of broadcast packets to forward out of the
		switch ports. This object specifies the number of broadcast
		packets per second. Setting a value of 0 to this object
		disables the limitation check."
    DEFVAL { 0 }
	::= { snSwInfo 35 }

snSwMaxMacFilterPerSystem  OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of MAC Filters per system in the MAC Filter table."
	::= { snSwInfo 36 }

snSwMaxMacFilterPerPort  OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of MAC Filters per port in the Port MAC Access Filter table."
	::= { snSwInfo 37 }

snSwDefaultVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID of the DEFAULT PORT-VLAN."
	::= { snSwInfo 38 }

snSwGlobalAutoNegotiate OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1),
		negFullAuto(2),
		other(3)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"This feature only applies to Gigabit Ethernet ports. If set
		to disable(0), all Gigabit Ethernet ports will be put to non-
		negotiation mode. If set to enable(1), all Gigabit Ethernet
		ports will start auto-negotiation indefinitely until succeed.
		If set to negFullAuto(2), all Gigabit Ethernet ports will start
		with auto-negotiation, if the negotiation failed, then they
		will automatically switch to non-negotiation mode. Stackable
		products (except TurboIron 8) Gigabit Ethernet ports do not
		support negFullAuto(2). If the snSwPortInfoAutoNegotiate value
		of a port was not set to global, this global value does not
		apply to the negotiation mode of that port."
    DEFVAL { negFullAuto }
	::= { snSwInfo 39 }

snSwQosMechanism OBJECT-TYPE
	SYNTAX	INTEGER { strict(0), weighted(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the qos mechanism is
		 strict or weighted."
    DEFVAL { weighted }
	::= { snSwInfo 40 }

snSwSingleStpMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)       
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Single Spanning Tree System Mode in the Switch Group 
		 can be set either enabled or disabled and the default is 
		 disabled mode.
		 enabled(1)...........activate Single Spanning Tree
		 disabled(0)..........no Single Spanning Tree"
	::= { snSwInfo 41 }

snSwFastStpMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)       
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Fast Spanning Tree System Mode in the Switch Group 
		 can be set either enabled or disabled and the default is 
		 enabled mode.
		 enabled(1)...........activate Fast Spanning Tree
		 disabled(0)..........no Fast Spanning Tree"
	::= { snSwInfo 42 }


-- VLAN Layer 2 Switch VLAN By Port Information Table


snVLanByPortTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByPortEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"If snSwGroupOperMode is configured as basic mode
		 which is VLAN by Port, Layer2 switching,
		 then this table is valid.  Each VLAN switch port
		 could have a number of VLAN IDs."
	::= { snVLanInfo 1 }


snVLanByPortEntry OBJECT-TYPE
	SYNTAX  SnVLanByPortEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"An entry in the VLAN By Port Information table.
		 snVLanByPortVLanIndex = 1 and with 
		 snVLanByPortVLanId = 1 together implies all attributes
		 applying to the Global switch group i.e. noVLan.
		 A SNMP SET PDU for a row of the snVLanByPortTable 
		 requires the entired sequence of the MIB Objects in each 
		 snVLanByPortEntry stored in one PDU.  Otherwise, 
	 GENERR return-value will be returned."
	INDEX   { 
		snVLanByPortVLanIndex
	}
	::= { snVLanByPortTable 1 }


SnVLanByPortEntry ::= SEQUENCE {
	snVLanByPortVLanIndex
		INTEGER,
	snVLanByPortVLanId
		INTEGER,
	snVLanByPortPortMask
		PortMask,
	snVLanByPortQos
		INTEGER,
	snVLanByPortStpMode
		INTEGER,
	snVLanByPortStpPriority 
     	INTEGER,
	snVLanByPortStpGroupMaxAge 
		INTEGER,
	snVLanByPortStpGroupHelloTime 
		INTEGER,
	snVLanByPortStpGroupForwardDelay 
		INTEGER,
	snVLanByPortRowStatus 
		INTEGER,
	snVLanByPortOperState
		INTEGER,
	snVLanByPortBaseNumPorts
    	INTEGER,
	snVLanByPortBaseType
    	INTEGER, 
	snVLanByPortStpProtocolSpecification 
     	INTEGER,
	snVLanByPortStpMaxAge
     	Timeout,
	snVLanByPortStpHelloTime 
     	Timeout,
	snVLanByPortStpHoldTime 
     	INTEGER,
 	snVLanByPortStpForwardDelay 
       	Timeout,
	snVLanByPortStpTimeSinceTopologyChange 
     	TimeTicks,
	snVLanByPortStpTopChanges
      	Counter,
	snVLanByPortStpRootCost
    	INTEGER,
	snVLanByPortStpRootPort
    	INTEGER,
	snVLanByPortStpDesignatedRoot
     	BridgeId,
    snVLanByPortBaseBridgeAddress 
        MacAddress,
	snVLanByPortVLanName
		DisplayString,
    snVLanByPortRouterIntf
	    INTEGER,
	snVLanByPortChassisPortMask
		OCTET STRING,
	snVLanByPortPortList
		OCTET STRING
	}

snVLanByPortVLanIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The VLAN ID index must not be greater than the 
		 snVLanGroupVlanMaxEntry. Each VLAN Identifier can 
		 have a membership of multiple ports."
	::= { snVLanByPortEntry 1 }


snVLanByPortVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The VLAN ID index to the VLAN By Port Info Table.
		 Each VLAN Identifier can have a membership of multiple 
		 ports."
	::= { snVLanByPortEntry 2 }


snVLanByPortPortMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch VLAN port membership. (It was obsoleted for Chassis Product)"
	::= { snVLanByPortEntry 3 }


snVLanByPortQos OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Stand alone stackable switch VLAN Priority values are:
		 low(0)   -- low prority
		 high(1) -- high prority.
		 The BigIron switch VLAN Priority values are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snVLanByPortEntry 4 }

snVLanByPortStpMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)       
		}
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Spanning Tree Mode in the Switch Group can be set
		 either enabled or disabled and the default is 
		 enabled mode.
		 enabled(1)...........activate Spanning Tree
		 disabled(0)..........no Spanning Tree"
	::= { snVLanByPortEntry 5 }

snVLanByPortStpPriority OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
	"dot1dStpPriority : The value of the write-able 
	 portion of the Stp ID, i.e., the first two octets 
	 of the (8 octet long) Bridge ID.  The other (last) 6 
	 octets of the Bridge ID are given by the value of the 
	 base bridge address - dot1dBaseBridgeAddress."
	::= { snVLanByPortEntry 6 }

snVLanByPortStpGroupMaxAge OBJECT-TYPE
	SYNTAX  INTEGER (6..40)
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpBridgeMaxAge: From RFC1493(Bridge MIB).
     The value that all bridges use for MaxAge when 
     this bridge is acting as the root. 
     Note that 802.1D-1990 specifies that the 
     range for this parameter is related to the value of
     dot1dStpBridgeHelloTime. The granularity of this
     timer is specified by 802.1D-1990 to be 1 second.
     An agent may return a badValue error if a set is
     attempted to a value which is not a whole number
     of seconds."
	::= { snVLanByPortEntry 7 }

snVLanByPortStpGroupHelloTime OBJECT-TYPE
    SYNTAX  INTEGER (1..10)
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpBridgeHelloTime: From RFC1493(Bridge MIB).
     The value that all bridges use for HelloTime when
     this bridge is acting as the root.  The
     granularity of this timer is specified by 802.1D-
     1990 to be 1 second.  An agent may return a
     badValue error if a set is attempted to a value
     which is not a whole number of seconds."
	::= { snVLanByPortEntry 8 }

snVLanByPortStpGroupForwardDelay OBJECT-TYPE
	SYNTAX  INTEGER (2..30)
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
	"dot1dStpBridgeForwardDelay : From RFC1493(Bridge MIB).
     The value that all bridges use for ForwardDelay
     when this bridge is acting as the root.  Note that
     802.1D-1990 specifies that the range for this
     parameter is related to the value of
     dot1dStpBridgeMaxAge.  The granularity of this
     timer is specified by 802.1D-1990 to be 1 second.
     An agent may return a badValue error if a set is
     attempted to a value which is not a whole number
     of seconds."
	::= { snVLanByPortEntry 9 }

snVLanByPortRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		valid(2),
		delete(3),
		create(4),
		modify(5)
		}
	ACCESS  read-write
	STATUS  deprecated
	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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snVLanByPortEntry 10 }

snVLanByPortOperState OBJECT-TYPE
	SYNTAX  INTEGER {
		notActivated(0),             
		activated(1)
		}
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"By default, this mode is set to notActivated(0).
		 notActivated(0)...the VLAN entry is not activated and not in running mode.
		 activated(1)......the VLAN entry is activated and in running mode"  
	::= { snVLanByPortEntry 11 }

snVLanByPortBaseNumPorts OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "The number of ports controlled by this bridging
     entity."
	::= { snVLanByPortEntry 12 }

snVLanByPortBaseType OBJECT-TYPE
    SYNTAX  INTEGER {
              unknown(1),
              transparent-only(2),
              sourceroute-only(3),
              srt(4)
            }
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "Indicates what type of bridging this bridge can
     perform.  If a bridge is actually performing a
     certain type of bridging this will be indicated by
     entries in the port table for the given type."
	::= { snVLanByPortEntry 13 }

snVLanByPortStpProtocolSpecification OBJECT-TYPE
    SYNTAX  INTEGER {
        unknown(1),
        decLb100(2),
        ieee8021d(3)
        }
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "An indication of what version of the Spanning
     Tree Protocol is being run.  The value
     'decLb100(2)' indicates the DEC LANbridge 100
     Spanning Tree protocol.  IEEE 802.1d
     implementations will return 'ieee8021d(3)'.  If
     future versions of the IEEE Spanning Tree Protocol
     are released that are incompatible with the
     current version a new value will be defined."
	::= { snVLanByPortEntry 14 }


snVLanByPortStpMaxAge OBJECT-TYPE
    SYNTAX  Timeout
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpMaxAge: From RFC1493(Bridge MIB).
     The maximum age of Spanning Tree Protocol
     information learned from the network on any port
     before it is discarded, in units of hundredths of
     a second.  This is the actual value that this
     bridge is currently using."
	::= { snVLanByPortEntry 15 }

snVLanByPortStpHelloTime OBJECT-TYPE
    SYNTAX  Timeout
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpHelloTime: From RFC1493(Bridge MIB).
     The amount of time between the transmission of
     Configuration bridge PDUs by this node on any port
     when it is the root of the spanning tree or trying
     to become so, in units of hundredths of a second.
     This is the actual value that this bridge is
     currently using."
	::= { snVLanByPortEntry 16 }

snVLanByPortStpHoldTime OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpHoldTime: From RFC1493(Bridge MIB).
     This time value determines the interval length
     during which no more than two Configuration bridge
     PDUs shall be transmitted by this node, in units
     of hundredths of a second."
	::= { snVLanByPortEntry 17 }

 snVLanByPortStpForwardDelay OBJECT-TYPE
     SYNTAX  Timeout
     ACCESS  read-only
     STATUS  deprecated
     DESCRIPTION
     "dot1dStpForwardDelay: From RFC1493(Bridge MIB).
      This time value, measured in units of hundredths
      of a second, controls how fast a port changes its
      spanning state when moving towards the Forwarding
      state.  The value determines how long the port
      stays in each of the Listening and Learning
      states, which precede the Forwarding state.  This
      value is also used, when a topology change has
      been detected and is underway, to age all dynamic
      entries in the Forwarding Database.  [Note that
      this value is the one that this bridge is
      currently using, in contrast to
      dot1dStpBridgeForwardDelay which is the value that
      this bridge and all others would start using
      if/when this bridge were to become the root.]"
	::= { snVLanByPortEntry 18 }


snVLanByPortStpTimeSinceTopologyChange OBJECT-TYPE
    SYNTAX  TimeTicks
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "The time (in hundredths of a second) since the
     last time a topology change was detected by the
     bridge entity."
	::= { snVLanByPortEntry 19 }

snVLanByPortStpTopChanges OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "The total number of topology changes detected by
     this bridge since the management entity was last
     reset or initialized."
	::= { snVLanByPortEntry 20 }

snVLanByPortStpRootCost OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpRootCost: From RFC1493(Bridge MIB).     
     The cost of the path to the root as seen from
     this bridge."
	::= { snVLanByPortEntry 21 }

snVLanByPortStpRootPort OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpRootPort: From RFC1493(Bridge MIB).
     The port number of the port which offers the
     lowest cost path from this bridge to the root
     bridge."
	::= { snVLanByPortEntry 22 }

snVLanByPortStpDesignatedRoot OBJECT-TYPE
    SYNTAX  BridgeId
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "dot1dStpDesignatedRoot: From RFC1493(Bridge MIB).
     The bridge identifier of the root of the spanning
     tree as determined by the Spanning Tree Protocol
     as executed by this node.  This value is used as
     the Root Identifier parameter in all Configuration
     Bridge PDUs originated by this node."
	::= { snVLanByPortEntry 23 }

snVLanByPortBaseBridgeAddress OBJECT-TYPE
    SYNTAX  MacAddress
    ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
    "The MAC address used by this bridge when it must
     be referred to in a unique fashion.   It is
     recommended that this be the numerically smallest
     MAC address of all ports that belong to this
     bridge.  However it is only required to be unique.
     When concatenated with dot1dStpPriority a unique
     BridgeIdentifier is formed which is used in the
     Spanning Tree Protocol."
	::= { snVLanByPortEntry 24 }

snVLanByPortVLanName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	deprecated
	DESCRIPTION
		"VLAN Community Name string."
	::= { snVLanByPortEntry 25 }


snVLanByPortRouterIntf OBJECT-TYPE
	SYNTAX  INTEGER (1..60)
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Optional: A virtual interface for router to the VLAN -- applied to router only.
		 If a SNMP-Get value is zero, that means this object was not configured."
	::= { snVLanByPortEntry 26 }


snVLanByPortChassisPortMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN switch port membership.
		(It was obsoleted after release 07100, replaced by snVLanByPortPortList)"
	::= { snVLanByPortEntry 27 }

snVLanByPortPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"A list of port indices which are the port
		membership of a VLAN By Port. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByPortEntry 28 }


-- Port VLAN (Layer 2 VLAN) Port Membership Table
-- Use this table to create or delete a VLAN entry


snVLanByPortMemberTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByPortMemberEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Port VLAN (Layer 2 VLAN) port membership table."
	::= { snVLanInfo 6 }


snVLanByPortMemberEntry OBJECT-TYPE
	SYNTAX  SnVLanByPortMemberEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the port VLAN membership table."
	INDEX   { snVLanByPortMemberVLanId, snVLanByPortMemberPortId }
	::= { snVLanByPortMemberTable 1 }

SnVLanByPortMemberEntry ::= SEQUENCE {
	snVLanByPortMemberVLanId
		INTEGER,
	snVLanByPortMemberPortId
		INTEGER,
	snVLanByPortMemberRowStatus
		INTEGER
	}

snVLanByPortMemberVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN identifier (VLAN ID)."
	::= { snVLanByPortMemberEntry 1 }

snVLanByPortMemberPortId OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The ifIndex which is a member of the port VLAN."
	::= { snVLanByPortMemberEntry 2 }

snVLanByPortMemberRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		valid(2),
		delete(3),
		create(4)
		}
	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

		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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snVLanByPortMemberEntry 3 }


-- Port VLAN (Layer 2 VLAN) Configuration Table
-- Use this table to configure a VLAN entry


snVLanByPortCfgTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByPortCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Port VLAN (Layer 2 VLAN) configuration table."
	::= { snVLanInfo 7 }


snVLanByPortCfgEntry OBJECT-TYPE
	SYNTAX  SnVLanByPortCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the port VLAN configuration table."
	INDEX   { snVLanByPortCfgVLanId }
	::= { snVLanByPortCfgTable 1 }


SnVLanByPortCfgEntry ::= SEQUENCE {
	snVLanByPortCfgVLanId
		INTEGER,
	snVLanByPortCfgQos
		INTEGER,
	snVLanByPortCfgStpMode
		INTEGER,
	snVLanByPortCfgStpPriority 
     	INTEGER,
	snVLanByPortCfgStpGroupMaxAge 
		INTEGER,
	snVLanByPortCfgStpGroupHelloTime 
		INTEGER,
	snVLanByPortCfgStpGroupForwardDelay 
		INTEGER,
	snVLanByPortCfgBaseNumPorts
    	INTEGER,
	snVLanByPortCfgBaseType
    	INTEGER, 
	snVLanByPortCfgStpProtocolSpecification 
     	INTEGER,
	snVLanByPortCfgStpMaxAge
     	Timeout,
	snVLanByPortCfgStpHelloTime 
     	Timeout,
	snVLanByPortCfgStpHoldTime 
     	INTEGER,
 	snVLanByPortCfgStpForwardDelay 
       	Timeout,
	snVLanByPortCfgStpTimeSinceTopologyChange 
     	TimeTicks,
	snVLanByPortCfgStpTopChanges
      	Counter,
	snVLanByPortCfgStpRootCost
    	INTEGER,
	snVLanByPortCfgStpRootPort
    	INTEGER,
	snVLanByPortCfgStpDesignatedRoot
     	BridgeId,
    snVLanByPortCfgBaseBridgeAddress 
        MacAddress,
	snVLanByPortCfgVLanName
		DisplayString,
    snVLanByPortCfgRouterIntf
	    INTEGER,
	snVLanByPortCfgRowStatus
		INTEGER
	}

snVLanByPortCfgVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN identifier (VLAN ID)."
	::= { snVLanByPortCfgEntry 1 }

snVLanByPortCfgQos OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Stand alone stackable switch VLAN Priority values are:
		 level0(0)   -- low prority
		 level1(1) -- high prority.
		 The BigIron switch VLAN Priority values are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snVLanByPortCfgEntry 2 }

snVLanByPortCfgStpMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)       
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Spanning Tree Mode in the Switch Group can be set
		 either enabled or disabled and the default is 
		 enabled mode.
		 enabled(1)...........activate Spanning Tree
		 disabled(0)..........no Spanning Tree"
	::= { snVLanByPortCfgEntry 3 }

snVLanByPortCfgStpPriority OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	"dot1dStpPriority : The value of the write-able 
	 portion of the Stp ID, i.e., the first two octets 
	 of the (8 octet long) Bridge ID.  The other (last) 6 
	 octets of the Bridge ID are given by the value of the 
	 base bridge address - dot1dBaseBridgeAddress."
	::= { snVLanByPortCfgEntry 4 }

snVLanByPortCfgStpGroupMaxAge OBJECT-TYPE
	SYNTAX  INTEGER (6..40)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpBridgeMaxAge: From RFC1493(Bridge MIB).
     The value that all bridges use for MaxAge when 
     this bridge is acting as the root. 
     Note that 802.1D-1990 specifies that the 
     range for this parameter is related to the value of
     dot1dStpBridgeHelloTime. The granularity of this
     timer is specified by 802.1D-1990 to be 1 second.
     An agent may return a badValue error if a set is
     attempted to a value which is not a whole number
     of seconds."
	::= { snVLanByPortCfgEntry 5 }

snVLanByPortCfgStpGroupHelloTime OBJECT-TYPE
    SYNTAX  INTEGER (1..10)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpBridgeHelloTime: From RFC1493(Bridge MIB).
     The value that all bridges use for HelloTime when
     this bridge is acting as the root.  The
     granularity of this timer is specified by 802.1D-
     1990 to be 1 second.  An agent may return a
     badValue error if a set is attempted to a value
     which is not a whole number of seconds."
	::= { snVLanByPortCfgEntry 6 }

snVLanByPortCfgStpGroupForwardDelay OBJECT-TYPE
	SYNTAX  INTEGER (2..30)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	"dot1dStpBridgeForwardDelay : From RFC1493(Bridge MIB).
     The value that all bridges use for ForwardDelay
     when this bridge is acting as the root.  Note that
     802.1D-1990 specifies that the range for this
     parameter is related to the value of
     dot1dStpBridgeMaxAge.  The granularity of this
     timer is specified by 802.1D-1990 to be 1 second.
     An agent may return a badValue error if a set is
     attempted to a value which is not a whole number
     of seconds."
	::= { snVLanByPortCfgEntry 7 }

snVLanByPortCfgBaseNumPorts OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The number of ports controlled by this bridging
     entity."
	::= { snVLanByPortCfgEntry 8 }

snVLanByPortCfgBaseType OBJECT-TYPE
    SYNTAX  INTEGER {
              unknown(1),
              transparent-only(2),
              sourceroute-only(3),
              srt(4)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "Indicates what type of bridging this bridge can
     perform.  If a bridge is actually performing a
     certain type of bridging this will be indicated by
     entries in the port table for the given type."
	::= { snVLanByPortCfgEntry 9 }

snVLanByPortCfgStpProtocolSpecification OBJECT-TYPE
    SYNTAX  INTEGER {
        unknown(1),
        decLb100(2),
        ieee8021d(3)
        }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "An indication of what version of the Spanning
     Tree Protocol is being run.  The value
     'decLb100(2)' indicates the DEC LANbridge 100
     Spanning Tree protocol.  IEEE 802.1d
     implementations will return 'ieee8021d(3)'.  If
     future versions of the IEEE Spanning Tree Protocol
     are released that are incompatible with the
     current version a new value will be defined."
	::= { snVLanByPortCfgEntry 10 }


snVLanByPortCfgStpMaxAge OBJECT-TYPE
    SYNTAX  Timeout
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpMaxAge: From RFC1493(Bridge MIB).
     The maximum age of Spanning Tree Protocol
     information learned from the network on any port
     before it is discarded, in units of hundredths of
     a second.  This is the actual value that this
     bridge is currently using."
	::= { snVLanByPortCfgEntry 11 }

snVLanByPortCfgStpHelloTime OBJECT-TYPE
    SYNTAX  Timeout
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpHelloTime: From RFC1493(Bridge MIB).
     The amount of time between the transmission of
     Configuration bridge PDUs by this node on any port
     when it is the root of the spanning tree or trying
     to become so, in units of hundredths of a second.
     This is the actual value that this bridge is
     currently using."
	::= { snVLanByPortCfgEntry 12 }

snVLanByPortCfgStpHoldTime OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpHoldTime: From RFC1493(Bridge MIB).
     This time value determines the interval length
     during which no more than two Configuration bridge
     PDUs shall be transmitted by this node, in units
     of hundredths of a second."
	::= { snVLanByPortCfgEntry 13 }

 snVLanByPortCfgStpForwardDelay OBJECT-TYPE
     SYNTAX  Timeout
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
     "dot1dStpForwardDelay: From RFC1493(Bridge MIB).
      This time value, measured in units of hundredths
      of a second, controls how fast a port changes its
      spanning state when moving towards the Forwarding
      state.  The value determines how long the port
      stays in each of the Listening and Learning
      states, which precede the Forwarding state.  This
      value is also used, when a topology change has
      been detected and is underway, to age all dynamic
      entries in the Forwarding Database.  [Note that
      this value is the one that this bridge is
      currently using, in contrast to
      dot1dStpBridgeForwardDelay which is the value that
      this bridge and all others would start using
      if/when this bridge were to become the root.]"
	::= { snVLanByPortCfgEntry 14 }


snVLanByPortCfgStpTimeSinceTopologyChange OBJECT-TYPE
    SYNTAX  TimeTicks
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The time (in hundredths of a second) since the
     last time a topology change was detected by the
     bridge entity."
	::= { snVLanByPortCfgEntry 15 }

snVLanByPortCfgStpTopChanges OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The total number of topology changes detected by
     this bridge since the management entity was last
     reset or initialized."
	::= { snVLanByPortCfgEntry 16 }

snVLanByPortCfgStpRootCost OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpRootCost: From RFC1493(Bridge MIB).     
     The cost of the path to the root as seen from
     this bridge."
	::= { snVLanByPortCfgEntry 17 }

snVLanByPortCfgStpRootPort OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpRootPort: From RFC1493(Bridge MIB).
     The port number of the port which offers the
     lowest cost path from this bridge to the root
     bridge."
	::= { snVLanByPortCfgEntry 18 }

snVLanByPortCfgStpDesignatedRoot OBJECT-TYPE
    SYNTAX  BridgeId
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "dot1dStpDesignatedRoot: From RFC1493(Bridge MIB).
     The bridge identifier of the root of the spanning
     tree as determined by the Spanning Tree Protocol
     as executed by this node.  This value is used as
     the Root Identifier parameter in all Configuration
     Bridge PDUs originated by this node."
	::= { snVLanByPortCfgEntry 19 }

snVLanByPortCfgBaseBridgeAddress OBJECT-TYPE
    SYNTAX  MacAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The MAC address used by this bridge when it must
     be referred to in a unique fashion.   It is
     recommended that this be the numerically smallest
     MAC address of all ports that belong to this
     bridge.  However it is only required to be unique.
     When concatenated with dot1dStpPriority a unique
     BridgeIdentifier is formed which is used in the
     Spanning Tree Protocol."
	::= { snVLanByPortCfgEntry 20 }

snVLanByPortCfgVLanName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLAN Community Name string."
	::= { snVLanByPortCfgEntry 21 }


snVLanByPortCfgRouterIntf OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Optional: A virtual interface for router to the VLAN -- applied to router only.
		 If a SNMP-Get value is zero, that means this object was not configured."
	::= { snVLanByPortCfgEntry 22 }

snVLanByPortCfgRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		valid(2),
		delete(3)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Use object to delete a vlan entry."
	::= { snVLanByPortCfgEntry 23 }


-- VLAN by Protocol Configuration Table 


snVLanByProtocolTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByProtocolEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"."
	::= { snVLanInfo 2 }


snVLanByProtocolEntry OBJECT-TYPE
	SYNTAX  SnVLanByProtocolEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the VLAN By Protocol Configuration table. "
	INDEX   { 
		snVLanByProtocolVLanId,
	 	snVLanByProtocolIndex
	}
	::= { snVLanByProtocolTable 1 }


SnVLanByProtocolEntry ::= SEQUENCE {
    snVLanByProtocolVLanId
		INTEGER,
	snVLanByProtocolIndex
		INTEGER,
	snVLanByProtocolDynamic
  		INTEGER,
	snVLanByProtocolStaticMask
		PortMask,
	snVLanByProtocolExcludeMask
		PortMask,
	snVLanByProtocolRouterIntf
		INTEGER,	
	snVLanByProtocolRowStatus
		INTEGER,	
	snVLanByProtocolDynamicMask
		PortMask,
	snVLanByProtocolChassisStaticMask
		OCTET STRING,
	snVLanByProtocolChassisExcludeMask
		OCTET STRING,
	snVLanByProtocolChassisDynamicMask
		OCTET STRING,
	snVLanByProtocolVLanName
		DisplayString,
	snVLanByProtocolStaticPortList
		OCTET STRING,
	snVLanByProtocolExcludePortList
		OCTET STRING,
	snVLanByProtocolDynamicPortList
		OCTET STRING
	}

snVLanByProtocolVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID index to both of the VLAN By Port Info Table
		 and this table."
	::= { snVLanByProtocolEntry 1 }


snVLanByProtocolIndex OBJECT-TYPE
	SYNTAX  INTEGER {
		ip(1),
	    ipx(2),
	    appleTalk(3),
	    decNet(4),
	    netBios(5),
		others(6),
		ipv6(7)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		" The following IP/IPX protocol VLAN types are operated 
		in Layer3 VLAN such as : ip(1), ipx(2), ipv6(7)
		The following are operated in Layer2 bridging such as:
	    appleTalk(3), decNet(4), netBios(5),
	    others(6) -- other protocols which are defined here. "
	::= { snVLanByProtocolEntry 2 }

snVLanByProtocolDynamic OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
	    enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		" disabled(0) : disabled dynamic port inclusion - applied to switch only.
		  enabled(1) : enabled dynamic port inclusion - applied to switch only. "
	::= { snVLanByProtocolEntry 3 }

snVLanByProtocolStaticMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch Protocol VLAN port membership applied in static mode.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByProtocolEntry 4 }

snVLanByProtocolExcludeMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch Protocol VLAN port membership applied in exclusive mode.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByProtocolEntry 5 }

snVLanByProtocolRouterIntf OBJECT-TYPE
	SYNTAX  INTEGER (1..60)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Optional: A virtual interface for router to the VLAN -- applied to router only.
		 If a SNMP-Get value is zero, that means this object was not configured."
	::= { snVLanByProtocolEntry 6 }

snVLanByProtocolRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snVLanByProtocolEntry 7 }

snVLanByProtocolDynamicMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch Protocol VLAN active port membership.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByProtocolEntry 8 }

snVLanByProtocolChassisStaticMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis Protocol VLAN port membership applied in static mode.
		(It was obsoleted after release 07100, replaced by snVLanByProtocolStaticPortList)"
	::= { snVLanByProtocolEntry 9 }

snVLanByProtocolChassisExcludeMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis Protocol VLAN port membership applied in exclusive mode.
		(It was obsoleted after release 07100, replaced by snVLanByProtocolExcludePortList)"
	::= { snVLanByProtocolEntry 10 }

snVLanByProtocolChassisDynamicMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The Chassis Protocol VLAN active port membership.
		(It was obsoleted after release 07100, replaced by snVLanByProtocolDynamicPortList)"
	::= { snVLanByProtocolEntry 11 }

snVLanByProtocolVLanName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLAN Community Name string."
	::= { snVLanByProtocolEntry 12 }

snVLanByProtocolStaticPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the configured port
		membership of the Protocol VLAN. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByProtocolEntry 13 }

snVLanByProtocolExcludePortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the excluded from port
		membership of the Protocol VLAN. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByProtocolEntry 14 }

snVLanByProtocolDynamicPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are dynamically joining the port
		membership of the Protocol VLAN. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByProtocolEntry 15 }


-- VLAN By IP Subnet Configuration Table


snVLanByIpSubnetTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByIpSubnetEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the VLAN By IPX Network Number Table."
	::= { snVLanInfo 3 }


snVLanByIpSubnetEntry OBJECT-TYPE
	SYNTAX  SnVLanByIpSubnetEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the VLAN By IP Subnet Configuration table. "
	INDEX   { 
		snVLanByIpSubnetVLanId,
		snVLanByIpSubnetIpAddress,
		snVLanByIpSubnetSubnetMask
	}
	::= { snVLanByIpSubnetTable 1 }


SnVLanByIpSubnetEntry ::= SEQUENCE {
	snVLanByIpSubnetVLanId
		INTEGER,
	snVLanByIpSubnetIpAddress
		IpAddress,
	snVLanByIpSubnetSubnetMask
		IpAddress,
	snVLanByIpSubnetDynamic
  		INTEGER,
	snVLanByIpSubnetStaticMask
		PortMask,
	snVLanByIpSubnetExcludeMask
		PortMask,
	snVLanByIpSubnetRouterIntf
		INTEGER,
	snVLanByIpSubnetRowStatus
		INTEGER,
	snVLanByIpSubnetDynamicMask
		PortMask,
	snVLanByIpSubnetChassisStaticMask
		OCTET STRING,
	snVLanByIpSubnetChassisExcludeMask
		OCTET STRING,
	snVLanByIpSubnetChassisDynamicMask
		OCTET STRING,
	snVLanByIpSubnetVLanName
		DisplayString,
	snVLanByIpSubnetStaticPortList
		OCTET STRING,
	snVLanByIpSubnetExcludePortList
		OCTET STRING,
	snVLanByIpSubnetDynamicPortList
		OCTET STRING
	}

snVLanByIpSubnetVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID index to both of the VLAN By Port Info Table
		 and this table."
	::= { snVLanByIpSubnetEntry 1 }


snVLanByIpSubnetIpAddress OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Subnet IP address."
	::= { snVLanByIpSubnetEntry 2 }

snVLanByIpSubnetSubnetMask OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Subnet mask associated with the Subnet IP address."
	::= { snVLanByIpSubnetEntry 3 }

snVLanByIpSubnetDynamic OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
	    enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		" disabled(0) : disabled dynamic port inclusion - applied to switch only.
		  enabled(1) : enabled dynamic port inclusion - applied to switch only. "
	::= { snVLanByIpSubnetEntry 4 }

snVLanByIpSubnetStaticMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch VLAN By Subnet port membership applied in static mode.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByIpSubnetEntry 5 }

snVLanByIpSubnetExcludeMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch VLAN By Subnet port membership applied in exclusive mode.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByIpSubnetEntry 6 }

snVLanByIpSubnetRouterIntf OBJECT-TYPE
	SYNTAX  INTEGER (1..60)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Optional: A virtual interface for router to the VLAN -- applied to router only.
		 If a SNMP-Get value is zero, that means this object was not configured."
	::= { snVLanByIpSubnetEntry 7 }


snVLanByIpSubnetRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snVLanByIpSubnetEntry 8 }

snVLanByIpSubnetDynamicMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The Standand-alone switch VLAN By Subnet active port membership.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByIpSubnetEntry 9 }

snVLanByIpSubnetChassisStaticMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN By Subnet port membership applied in static mode.
		(It was obsoleted after release 07100, replaced by snVLanByIpSubnetStaticPortList)"
	::= { snVLanByIpSubnetEntry 10 }

snVLanByIpSubnetChassisExcludeMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN By Subnet port membership applied in exclusive mode.
		(It was obsoleted after release 07100, replaced by snVLanByIpSubnetExcludePortList)"
	::= { snVLanByIpSubnetEntry 11 }

snVLanByIpSubnetChassisDynamicMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN By Subnet active port membership.
		(It was obsoleted after release 07100, replaced by snVLanByIpSubnetDynamicPortList)"
	::= { snVLanByIpSubnetEntry 12 }

snVLanByIpSubnetVLanName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLAN Community Name string."
	::= { snVLanByIpSubnetEntry 13 }

snVLanByIpSubnetStaticPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the configured port
		membership of the VLAN By IP Subnet. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByIpSubnetEntry 14 }

snVLanByIpSubnetExcludePortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the excluded from port
		membership of the VLAN By IP Subnet. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByIpSubnetEntry 15 }

snVLanByIpSubnetDynamicPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are dynamically joining the port
		membership of the VLAN By IP Subnet. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByIpSubnetEntry 16 }


-- VLAN By IPX Net Configuration Table


snVLanByIpxNetTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByIpxNetEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the VLAN By IPX Network Number Table."
	::= { snVLanInfo 4 }


snVLanByIpxNetEntry OBJECT-TYPE
	SYNTAX  SnVLanByIpxNetEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the VLAN By Ipx Network Number Configuration table. "
	INDEX   { 
		snVLanByIpxNetVLanId,
		snVLanByIpxNetNetworkNum,
		snVLanByIpxNetFrameType
	}
	::= { snVLanByIpxNetTable 1 }


SnVLanByIpxNetEntry ::= SEQUENCE {
	snVLanByIpxNetVLanId
		INTEGER,
	snVLanByIpxNetNetworkNum
		OCTET STRING,
	snVLanByIpxNetFrameType
  		INTEGER,
	snVLanByIpxNetDynamic
  		INTEGER,
	snVLanByIpxNetStaticMask
		PortMask,
	snVLanByIpxNetExcludeMask
		PortMask,
	snVLanByIpxNetRouterIntf
		INTEGER,
	snVLanByIpxNetRowStatus
		INTEGER,
	snVLanByIpxNetDynamicMask
		PortMask,
	snVLanByIpxNetChassisStaticMask
		OCTET STRING,
	snVLanByIpxNetChassisExcludeMask
		OCTET STRING,
	snVLanByIpxNetChassisDynamicMask
		OCTET STRING,
	snVLanByIpxNetVLanName
		DisplayString,
	snVLanByIpxNetStaticPortList
		OCTET STRING,
	snVLanByIpxNetExcludePortList
		OCTET STRING,
	snVLanByIpxNetDynamicPortList
		OCTET STRING
	}

snVLanByIpxNetVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID index to both of the VLAN By Port Info Table
		 and this table."
	::= { snVLanByIpxNetEntry 1 }


snVLanByIpxNetNetworkNum OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(4))
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX Network Number."
	::= { snVLanByIpxNetEntry 2 }

snVLanByIpxNetFrameType OBJECT-TYPE
	SYNTAX  INTEGER {
	    notApplicable(0),
		ipxEthernet8022(1),
	    ipxEthernet8023(2),
	    ipxEthernetII(3),
	    ipxEthernetSnap(4)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		" The following IPX Frame types are operated 
		in Layer3 VLAN such as :  
		ipxEthernet8022(1), ipxEthernet8023(2),
	    ipxEthernetII(3), ipxEthernetSnap(4).
	    choose notApplicable(0) for other protocols.
	    Note: Each Network Number can be assigned with one unique Frame type; Otherwise,
	    a SNMP-SET error will be returned."
	::= { snVLanByIpxNetEntry 3 }

snVLanByIpxNetDynamic OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
	    enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		" disabled(0) : disabled dynamic port inclusion - applied to switch only.
		  enabled(1) : enabled dynamic port inclusion - applied to switch only. "
	::= { snVLanByIpxNetEntry 4 }

snVLanByIpxNetStaticMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The VLAN By IPX network port membership applied in static mode.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByIpxNetEntry 5 }

snVLanByIpxNetExcludeMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The VLAN By IPX network port membership applied in exclusive mode.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByIpxNetEntry 6 }


snVLanByIpxNetRouterIntf OBJECT-TYPE
	SYNTAX  INTEGER (1..60)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Optional: A virtual interface for router to the VLAN -- applied to router only.
		 If a SNMP-Get value is zero, that means this object was not configured."
	::= { snVLanByIpxNetEntry 7 }


snVLanByIpxNetRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snVLanByIpxNetEntry 8 }

snVLanByIpxNetDynamicMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The VLAN By IPX network active port membership.
		(It was obsoleted for Chassis Product)"
	::= { snVLanByIpxNetEntry 9 }

snVLanByIpxNetChassisStaticMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN By IPX network port membership applied in static mode.
		(It was obsoleted after release 07100, replaced by snVLanByIpxNetStaticPortList)"
	::= { snVLanByIpxNetEntry 10 }

snVLanByIpxNetChassisExcludeMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN By IPX network port membership applied in exclusive mode.
		(It was obsoleted after release 07100, replaced by snVLanByIpxNetExcludePortList)"
	::= { snVLanByIpxNetEntry 11 }

snVLanByIpxNetChassisDynamicMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The Chassis VLAN By IPX network active port membership.
		(It was obsoleted after release 07100, replaced by snVLanByIpxNetDynamicPortList)"
	::= { snVLanByIpxNetEntry 12 }

snVLanByIpxNetVLanName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLAN Community Name string."
	::= { snVLanByIpxNetEntry 13 }

snVLanByIpxNetStaticPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the configured port
		membership of the VLAN By IPX network. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByIpxNetEntry 14 }

snVLanByIpxNetExcludePortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the excluded from port
		membership of the VLAN By IPX network. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByIpxNetEntry 15 }

snVLanByIpxNetDynamicPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are dynamically joining the port
		membership of the VLAN By IPX network. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByIpxNetEntry 16 }


-- VLAN By AppleTalk Cable Configuration Table


snVLanByATCableTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanByATCableEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A Table Of VLAN By AppleTalk Network Number."
	::= { snVLanInfo 5 }

snVLanByATCableEntry OBJECT-TYPE
	SYNTAX  SnVLanByATCableEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the AppleTalk Cable VLAN table."
	INDEX   {snVLanByATCableVLanId, snVLanByATCableIndex}
	::= { snVLanByATCableTable 1 }

SnVLanByATCableEntry ::= SEQUENCE {
	snVLanByATCableVLanId
		INTEGER,
	snVLanByATCableIndex
		INTEGER,
	snVLanByATCableRouterIntf
		INTEGER,
	snVLanByATCableRowStatus
		INTEGER,
	snVLanByATCableChassisStaticMask
		OCTET STRING,
	snVLanByATCableVLanName
		DisplayString,
	snVLanByATCableStaticPortList
		OCTET STRING
	}

snVLanByATCableVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID of a PORT VLAN of which the AppleTalk Cable
		VLAN was attaching to."
	::= { snVLanByATCableEntry 1 }

snVLanByATCableIndex OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk Cable VLAN index number."
	::= { snVLanByATCableEntry 2 }

snVLanByATCableRouterIntf OBJECT-TYPE
	SYNTAX  INTEGER (0..60)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A virtual router interface to the AppleTalk Cable VLAN,
		only router products accept the SNMP-SET operation. The
		value zero indicates that virtual router interface was
		not configured."
	::= { snVLanByATCableEntry 3 }

snVLanByATCableRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snVLanByATCableEntry 4 }

snVLanByATCableChassisStaticMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(32))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"A list of ports which are statically configured to
		become port members of a VLAN.
		(It was obsoleted after release 07100, replaced by snVLanByATCableStaticPortList)"
	::= { snVLanByATCableEntry 5 }

snVLanByATCableVLanName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLAN Name string."
	::= { snVLanByATCableEntry 6 }

snVLanByATCableStaticPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the configured port
		membership of the AppleTalk Cable VLAN. Each port index is a
		16-bit integer in big endian order. 8-bit is the slot number,
		the other 8-bit is the port number."
	::= { snVLanByATCableEntry 7 }




-- Switch Port Information Group



snSwPortInfoTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnSwPortInfoEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A specific snSwPortInfo group consists of a number of 
		 switch ports.  "
	::= { snSwPortInfo 1 }

snSwPortInfoEntry OBJECT-TYPE
	SYNTAX  SnSwPortInfoEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the snSwPortInfo table indicates the 
		 configuration on a specified port. A SNMP SET PDU 
		 for a row of the snSwPortInfoTable requires the entired 
		 sequence of the MIB Objects in each 
		 snSwPortInfoEntry stored in one PDU.  Otherwise, 
	 	 GENERR return-value will be returned."
	INDEX   { 
		snSwPortInfoPortNum
	}
	::= { snSwPortInfoTable 1 }

SnSwPortInfoEntry ::= SEQUENCE {
	snSwPortInfoPortNum
		INTEGER,
	snSwPortInfoMonitorMode
	    INTEGER,
	snSwPortInfoTagMode
		INTEGER,
	snSwPortInfoChnMode
	    INTEGER,
	snSwPortInfoSpeed
	    INTEGER,
    snSwPortInfoMediaType
	    INTEGER,
	snSwPortInfoConnectorType
	    INTEGER,
	snSwPortInfoAdminStatus
		INTEGER,
	snSwPortInfoLinkStatus
		INTEGER,
	snSwPortInfoPortQos
	    INTEGER,
	snSwPortInfoPhysAddress
	    PhysAddress,
    snSwPortStatsInFrames 
    	Counter,
	snSwPortStatsOutFrames 
    	Counter,
	snSwPortStatsAlignErrors            
		Counter,
    snSwPortStatsFCSErrors                  
		Counter,
    snSwPortStatsMultiColliFrames    
		Counter,
    snSwPortStatsFrameTooLongs              
		Counter,
	snSwPortStatsTxColliFrames
	    Counter,
	snSwPortStatsRxColliFrames
	    Counter,
	snSwPortStatsFrameTooShorts
	    Counter,
	snSwPortLockAddressCount
	    INTEGER,
	snSwPortStpPortEnable
	    INTEGER,
    snSwPortDhcpGateListId
	    INTEGER,
	snSwPortName
		DisplayString,
	snSwPortStatsInBcastFrames
	    Counter,
	snSwPortStatsOutBcastFrames
	    Counter,
	snSwPortStatsInMcastFrames
	    Counter,
	snSwPortStatsOutMcastFrames
	    Counter,
	snSwPortStatsInDiscard
	    Counter,
	snSwPortStatsOutDiscard
	    Counter,
	snSwPortStatsMacStations
	    INTEGER,
	snSwPortCacheGroupId
	    INTEGER,
	snSwPortTransGroupId
	    INTEGER,
	snSwPortInfoAutoNegotiate
	    INTEGER,
	snSwPortInfoFlowControl
	    INTEGER,
	snSwPortInfoGigType
	    INTEGER,
	snSwPortStatsLinkChange
	    Counter,
	snSwPortIfIndex
	    INTEGER,
	snSwPortDescr
	    DisplayString,
	snSwPortInOctets
	    OCTET STRING,
	snSwPortOutOctets
	    OCTET STRING,
	snSwPortStatsInBitsPerSec
	    Gauge,
	snSwPortStatsOutBitsPerSec
	    Gauge,
	snSwPortStatsInPktsPerSec
	    Gauge,
	snSwPortStatsOutPktsPerSec
	    Gauge,
	snSwPortStatsInUtilization
	    INTEGER (0..10000),
	snSwPortStatsOutUtilization
	    INTEGER (0..10000),
	snSwPortFastSpanPortEnable
	    INTEGER,
	snSwPortFastSpanUplinkEnable
	    INTEGER,
	snSwPortVlanId
	    INTEGER,
	snSwPortRouteOnly
	    INTEGER,
	snSwPortPresent
	    INTEGER,
	snSwPortGBICStatus
	    INTEGER,
	snSwPortStatsInKiloBitsPerSec
		Unsigned32,
	snSwPortStatsOutKiloBitsPerSec    
		Unsigned32,
	snSwPortLoadInterval
	    INTEGER (30..300),
	snSwPortTagType
	    INTEGER
	}

snSwPortInfoPortNum OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index.
		 The bit 0 to bit 7: port number. 
		 The bit 8 to bit 11: slot number (slot for chassis only)."
	::= { snSwPortInfoEntry 1 }


snSwPortInfoMonitorMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		input(1),
		output(2),
		both(3)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A monitoring port is selected and its traffic will be
		 analyzed if the mode is not disabled(0), which is
		 the default mode.
		 The values are:

		 disabled(0) -- No traffic monitoring
		 input(1)  -- traffic monitoring is activated on packets received
		 output(2)  -- traffic monitoring is activated on packets transmitted
		 both(3)  -- traffic monitoring is activated on packets
		             received and transmitted."
	::= { snSwPortInfoEntry 2 }


snSwPortInfoTagMode OBJECT-TYPE
	SYNTAX  INTEGER {
		tagged(1),      
		untagged(2),    
		auto(3),
		disabled(4)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"For tagged port, we could have multiple VLANs 
		 per port. For untagged port or auto port, there 
		 is only one VLAN ID per port."  
	::= { snSwPortInfoEntry 3 }


snSwPortInfoChnMode OBJECT-TYPE
	SYNTAX  INTEGER {
        none(0),
		halfDuplex(1),  
		fullDuplex(2)   
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The port can be configured to operate in either
		half or full duplex mode. The values are:
			halfDuplex(1)...half duplex mode
			fullDuplex(2)...full duplex mode
		The read-back channel status from hardware are:
            none(0).........link down or port disabled.
			halfDuplex(1)...half duplex mode
			fullDuplex(2)...full duplex mode
		
		The port media type (expansion or regular)
		and port link type (trunk or feeder) determine
		value of this object.
		The port can not set to half duplex mode
		if the port connect mode is m200e(4).
		However, the value of this parameter may be
		automatically set whenever the expansion port
		is connected (e.g. cascade connecting device)."
	::= { snSwPortInfoEntry 4 }


snSwPortInfoSpeed OBJECT-TYPE
	SYNTAX  INTEGER {
        none(0),
	    sAutoSense(1),
		s10M(2),
		s100M(3),
		s1G(4),
		s45M(5),
		s155M(6),
		s10G(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION     
		"The speed configuration for a port. The values are:
          none(0)..........link down or no traffic.
		  sAutoSense(1)....Auto-sensing 10 or 100Mbits.
		  s10M(2)..........10Mbits per second.
		  s100M(3).........100Mbits per second.
		  s1G(4)...........1Gbits per second.
		  s45M(5)..........45Mbits per second (T3) (for expansion board only).
		  s155M(6).........155Mbits per second (ATM) (for expansion board only).
		  s10G(7)..........10Gbits per second.

         The read-back hardware status are the following:
          none(0)..........link down or no traffic.
		  s10M(2)..........10Mbits per second.
		  s100M(3).........100Mbits per second.
		  s1G(4)...........1Gbits per second.
		  s45M(5)..........45Mbits per second (T3) (for expansion board only).
		  s155M(6).........155Mbits per second (ATM) (for expansion board only).
		  s10G(7)..........10Gbits per second.

		The port media type (expansion or regular)
		and port link type (trunk or feeder) determine
		whether this object can be written and the valid
		values.
		It is not allowed to change speed for trunks ports.
		For expansion ports, all of the above speed 
		can be set.
		However, the value of this parameter may be
		automatically set whenever the expansion port
		is connected (e.g. cascade connecting device)."
	::= { snSwPortInfoEntry 5 }



snSwPortInfoMediaType OBJECT-TYPE
	SYNTAX  INTEGER {
	        other(1),
		m100BaseTX(2),
		m100BaseFX(3),
		m1000BaseFX(4),
		mT3(5),
		m155ATM(6),
		m1000BaseTX(7),
		m622ATM(8),
		m155POS(9),
		m622POS(10),
		m2488POS(11),
		m10000BaseFX(12)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION 
		"The media type for the port. The
		values are:
		  other(1).........other or unknown media.
		  m100BaseTX(2)....100Mbits per second copper.
		  m100BaseFX(3)....100Mbits per second fiber.
		  m1000BaseFX(4)...1Gbits per second fiber.
		  mT3(5)...........45Mbits per second (T3).
		  m155ATM(6).......155Mbits per second (ATM).
		  m1000BaseTX(7)...1Gbits per second copper.
		  m622ATM(8).......622Mbits per second (ATM).
		  m155POS(9).......155Mbits per second (POS).
		  m622POS(10)......622Mbits per second (POS).
		  m2488POS(11).....2488Mbits per second (POS).
		  m10000BaseFX(12).10Gbits per second fiber."
	::= { snSwPortInfoEntry 6 }



snSwPortInfoConnectorType OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		copper(2),
		fiber(3)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION 
		"The type of connector that the port offers.
		 The values are:
		  other(1)...........other or unknown connector
		  copper(2)..........Copper connector
		  fiber(3)...........Fiber connector
		 This describes the physical connector type"
	::= { snSwPortInfoEntry 7 }


snSwPortInfoAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
		up(1),       -- ready to pass packets
		down(2),
		testing(3)   -- in some test mode
		}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"The desired state of all ports.  The
	 	testing(3) state indicates that no operational
	 	packets can be passed. 
	 	(same as ifAdminStatus in MIB-II)"
    ::= { snSwPortInfoEntry 8 }


snSwPortInfoLinkStatus OBJECT-TYPE
    SYNTAX  INTEGER {
    	up(1),       -- ready to pass packets
    	down(2),
    	testing(3)   -- in some test mode
        }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The current operational state of the interface.
         The testing(3) state indicates that no operational
         packets can be passed. 
         (same as ifOperStatus in MIB-II)"
    ::= { snSwPortInfoEntry 9 }


snSwPortInfoPortQos OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Stand alone stackable switch Port Qos Priority values are:
		 low(0)   -- low prority
		 high(1) -- high prority.
		 The BigIron Port Qos Priority values are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snSwPortInfoEntry 10 }


snSwPortInfoPhysAddress OBJECT-TYPE
	SYNTAX  PhysAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port physical address. The physical address 
		represents the switch port."
	::= { snSwPortInfoEntry 11 }



snSwPortStatsInFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of packets received on the interface."
    ::= { snSwPortInfoEntry 12 }


snSwPortStatsOutFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of packets transmitted out of the interface."
    ::= { snSwPortInfoEntry 13 }


snSwPortStatsAlignErrors   OBJECT-TYPE
     SYNTAX     Counter
     ACCESS     read-only
     STATUS     mandatory
     DESCRIPTION
	 	"dot3StatsAlignmentErrors : A count of frames 
	  	received on a particular interface that are 
	  	not an integral number of octets in length 
	  	and do not pass the FCS check.

	  	The count represented by an instance of this
	  	object is incremented when the alignmentError
	  	status is returned by the MAC service to the
	  	LLC (or other MAC user). Received frames for
	  	which multiple error conditions obtain are,
	  	according to the conventions of IEEE 802.3
	  	Layer Management, counted exclusively according
	  	to the error status presented to the LLC."
    ::= { snSwPortInfoEntry 14 }

snSwPortStatsFCSErrors   OBJECT-TYPE
     SYNTAX      Counter
     ACCESS      read-only
     STATUS      mandatory
     DESCRIPTION
	 	"dot3StatsFCSErrors : A count of frames received 
	  	on a particular interface that are an integral 
	  	number of octets in length but do not pass the 
	  	FCS check.

	  	The count represented by an instance of this
	  	object is incremented when the frameCheckError
	  	status is returned by the MAC service to the
	  	LLC (or other MAC user). Received frames for
	  	which multiple error conditions obtain are,
	  	according to the conventions of IEEE 802.3
	  	Layer Management, counted exclusively according
	  	to the error status presented to the LLC."
    ::= { snSwPortInfoEntry 15 }


snSwPortStatsMultiColliFrames   OBJECT-TYPE
     SYNTAX      Counter
     ACCESS      read-only
     STATUS      mandatory
     DESCRIPTION
	 	"dot3StatsMultipleCollisionFrames : 
	  	A count of successfully transmitted frames on
	  	a particular interface for which transmission
	  	is inhibited by more than one collision.

	  	A frame that is counted by an instance of this
	  	object is also counted by the corresponding
	  	instance of either the ifOutUcastPkts,
	  	ifOutMulticastPkts, or ifOutBroadcastPkts,
	  	and is not counted by the corresponding
	  	instance of the dot3StatsSingleCollisionFrames
	  	object."
    ::= { snSwPortInfoEntry 16 }


snSwPortStatsFrameTooLongs   OBJECT-TYPE
     SYNTAX    Counter
     ACCESS    read-only
     STATUS    mandatory
     DESCRIPTION
	 	"dot3StatsFrameTooLongs : A count of frames 
	  	received on a particular interface that 
	  	exceed the maximum permitted frame size.

	  	The count represented by an instance of this
	  	object is incremented when the frameTooLong
	  	status is returned by the MAC service to the
	  	LLC (or other MAC user). Received frames for
	  	which multiple error conditions obtain are,
	  	according to the conventions of IEEE 802.3
	  	Layer Management, counted exclusively according
	  	to the error status presented to the LLC."
    ::= { snSwPortInfoEntry 17 }


snSwPortStatsTxColliFrames   OBJECT-TYPE
     SYNTAX      Counter
     ACCESS      read-only
     STATUS      mandatory
     DESCRIPTION
	 	"A count of successfully transmitted frames on
	  	a particular interface for which transmission
	  	is inhibited by more than one collision.

	  	A frame that is counted by a combination of
		both dot3StatsSingleCollisionFrames and
		dot3StatsMultipleCollisionFrames objects."
    ::= { snSwPortInfoEntry 18 }

snSwPortStatsRxColliFrames   OBJECT-TYPE
     SYNTAX      Counter
     ACCESS      read-only
     STATUS      mandatory
     DESCRIPTION
	 	"A count of successfully received frames on
	  	a particular interface for which transmission
	  	is inhibited by more than one collision.  This
	  	object is not specified in dot3 but it has the
	  	same functionarity as snSwPortStatsTxColliFrames."
    ::= { snSwPortInfoEntry 19 }

snSwPortStatsFrameTooShorts   OBJECT-TYPE
     SYNTAX    Counter
     ACCESS    read-only
     STATUS    mandatory
     DESCRIPTION
	 	" A count of frames received on a particular 
	 	interface that below the minimum permitted 
	 	frame size."
    ::= { snSwPortInfoEntry 20 }

snSwPortLockAddressCount OBJECT-TYPE
     SYNTAX  INTEGER (0..2048)
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
	 	"The number of source MAC addresses are allowed
	 	for a port. Writing 0 to this object will allow
	 	any number of addresses."
    DEFVAL { 8 }
    ::= { snSwPortInfoEntry 21 }

snSwPortStpPortEnable OBJECT-TYPE
     SYNTAX  INTEGER {
               disabled(0),
               enabled(1)
             }
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "The enabled/disabled status of the port."
     REFERENCE
     	"IEEE 802.1D-1990: Section 4.5.5.2, dot1dStpPortEnable"
     ::= { snSwPortInfoEntry 22 }

snSwPortDhcpGateListId OBJECT-TYPE
	SYNTAX  INTEGER (0..32)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The ID for a DHCP gateway list entry relative 
		 to this switch port. 0 = unset or no assigned ID"
	::= { snSwPortInfoEntry 23 }

snSwPortName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..255))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Port Name string."
	::= { snSwPortInfoEntry 24 }

snSwPortStatsInBcastFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of broadcast packets received on the interface."
    ::= { snSwPortInfoEntry 25 }


snSwPortStatsOutBcastFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of broadcast packets transmitted out of the interface."
    ::= { snSwPortInfoEntry 26 }

snSwPortStatsInMcastFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of multicast packets received on the interface."
    ::= { snSwPortInfoEntry 27 }


snSwPortStatsOutMcastFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of multicast packets transmitted out of the interface."
    ::= { snSwPortInfoEntry 28 }


snSwPortStatsInDiscard OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of inbound packets which were chosen
         to be discarded even though no errors had been
         detected to prevent their being deliverable to a
         higher-layer protocol.  One possible reason for
         discarding such a packet could be to free up
         buffer space."
    ::= { snSwPortInfoEntry 29 }


snSwPortStatsOutDiscard OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of outbound packets which were chosen
         to be discarded even though no errors had been
         detected to prevent their being transmitted.  One
         possible reason for discarding such a packet could
         be to free up buffer space."
    ::= { snSwPortInfoEntry 30 }

snSwPortStatsMacStations OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of MAC Stations connected to the interface."
    ::= { snSwPortInfoEntry 31 }


snSwPortCacheGroupId OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
    	"Cache Group ID for the interface."
    ::= { snSwPortInfoEntry 32 }

snSwPortTransGroupId OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
    	"Transparent Group ID for the interface."
    ::= { snSwPortInfoEntry 33 }

snSwPortInfoAutoNegotiate OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1),
		negFullAuto(2),
		global(3),
		other(4)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"This feature only applies to Gigabit Ethernet ports. If set to
		disable(0), port will be put to non-negotiation mode. If set to
		enable(1), port will start auto-negotiation indefinitely until
		succeed. If set to negFullAuto(2), the port will start with auto-
		negotiation, if the negotiation failed, then it will automatically
		switch to non-negotiation mode. Stackable products (except TurboIron
		8) Gigabit Ethernet ports do not support negFullAuto(2). If set
		to global(3), port negotiation mode follows the value of
		snSwGlobalAutoNegotiate. Non-Gigabit Ethernet port returns
		the value other(4)."
    DEFVAL { global }
	::= { snSwPortInfoEntry 34 }


snSwPortInfoFlowControl OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disbale port flow control."
    DEFVAL { enabled }
	::= { snSwPortInfoEntry 35 }

snSwPortInfoGigType OBJECT-TYPE
	SYNTAX  INTEGER {
		m1000BaseSX(0),
		m1000BaseLX(1),
		m1000BaseLH(2),
		m1000BaseLHA(3),
		m1000BaseLHB(4),
		m1000BaseTX(5),
		m10000BaseSR(6),
		m10000BaseLR(7),
		m10000BaseER(8),
		notApplicable(255)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION 
		"The media type for the port. The
		values are:
		  m1000BaseSX(0)....1Gbits per second fiber, with a short wavelength transceiver.
		  m1000BaseLX(1)....1Gbits per second fiber, with a long wavelength transceiver (3km).
		  m1000BaseLH(2)....1Gbits per second fiber, with a special wavelength transceiver (50km).
		  m1000BaseLHA(3)....1Gbits per second fiber, with a special wavelength transceiver (70km).
		  m1000BaseLHB(4)....1Gbits per second fiber, with a special wavelength transceiver (150km).
		  m1000BaseTX(5)....1Gbits per second copper (100meter).
		  m10000BaseSR(6)....10Gbits per second fiber, with a short range wavelength transceiver (100m).
		  m10000BaseLR(7)....10Gbits per second fiber, with a long range wavelength transceiver (10km).
		  m10000BaseER(8)....10Gbits per second fiber, with a extended range wavelength transceiver (40km).
		  notApplicable(255)....a non-gigabit port."
	::= { snSwPortInfoEntry 36 }


snSwPortStatsLinkChange OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of link state change of the interface."
    ::= { snSwPortInfoEntry 37 }


snSwPortIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"In order to identify a particular interface, this
		object shall identify the instance of the ifIndex
		object, defined in RFC 1213 and RFC 1573."
    ::= { snSwPortInfoEntry 38 }


snSwPortDescr OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"A textual string containing the slot/port information
    	about the interface."
    ::= { snSwPortInfoEntry 39 }


snSwPortInOctets OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(8))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of octets received on the interface,
    	including framing characters. This object is a 64-bit
		counter of the ifInOctets object, defined in RFC 1213.
		The octet string is in big-endian byte order."
    ::= { snSwPortInfoEntry 40 }


snSwPortOutOctets OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(8))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of octets transmitted out of the interface,
    	including framing characters. This object is a 64-bit
		counter of the ifOutOctets object, defined in RFC 1213.
		The octet string is in big-endian byte order."
    ::= { snSwPortInfoEntry 41 }


snSwPortStatsInBitsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of bits per second received on the interface
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 42 }


snSwPortStatsOutBitsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of bits per second transmitted out of the interface
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 43 }


snSwPortStatsInPktsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of packets per second received on the interface
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 44 }


snSwPortStatsOutPktsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of packets per second transmitted out of the interface
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 45 }


snSwPortStatsInUtilization OBJECT-TYPE
    SYNTAX  INTEGER (0..10000)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The input network utilization in hundredths of a percent
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 46 }


snSwPortStatsOutUtilization OBJECT-TYPE
    SYNTAX  INTEGER (0..10000)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The output network utilization in hundredths of a percent
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 47 }

snSwPortFastSpanPortEnable OBJECT-TYPE
     SYNTAX  INTEGER {
               disabled(0),
               enabled(1)
             }
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "The enabled/disabled fast span port status of the port."
     ::= { snSwPortInfoEntry 48 }

snSwPortFastSpanUplinkEnable OBJECT-TYPE
     SYNTAX  INTEGER {
               disabled(0),
               enabled(1)
             }
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "The enabled/disabled fast span uplink status of the port."
     ::= { snSwPortInfoEntry 49 }

snSwPortVlanId OBJECT-TYPE
     SYNTAX  INTEGER (0..4095)
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "The ID of a VLAN of which this port is a member. Port must
        be untagged. For tagged port which belongs to multiple
        VLANs, this object return 0 which is an invalid VLAN ID
        value."
     ::= { snSwPortInfoEntry 50 }

snSwPortRouteOnly OBJECT-TYPE
     SYNTAX  INTEGER { disabled(0), enabled(1) }
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "Enable/Disable L2 switching of a routing switch port.
		By default, the routing switch performs routing first.
		If routing failed, it performs switching. Enable route
		only instrcuts the routing switch to perform routing
		only. For a L2 switching only product, reading this
		object always return 'disabled', writing 'enabled' to
		this object takes no effect."
     DEFVAL { disabled }
     ::= { snSwPortInfoEntry 51 }

snSwPortPresent OBJECT-TYPE
     SYNTAX  INTEGER {
               false(0),
               true(1)
             }
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
        "Indicate if the port is absent or present.
		 This object only valid for M4 module
		 "
     ::= { snSwPortInfoEntry 52 }

snSwPortGBICStatus OBJECT-TYPE
     SYNTAX  INTEGER {
               gbic(1),
               miniGBIC(2),
               empty(3),
               other(4)
             }
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
        "Indicate if the gig port has GBICs on them.
		 If set to  GBIC(1), it means that the port is GBIC.
		 If set to  miniGBIC(2), it means that the port miniGBIC.
		 If set to empty(3), it means that the GBIC is missing.
		 Value other(4) means that the port not a removable gig port.
		 "
     ::= { snSwPortInfoEntry 53 }

snSwPortStatsInKiloBitsPerSec OBJECT-TYPE
    SYNTAX  Unsigned32
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"Bit rate in kilobits per second received on the 10G and faster interface
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 54 }


snSwPortStatsOutKiloBitsPerSec OBJECT-TYPE
    SYNTAX  Unsigned32
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"Bit rate in kilobits per second transmitted out of the 10G and faster interface
    	over a 5 minutes interval."
    ::= { snSwPortInfoEntry 55 }

snSwPortLoadInterval OBJECT-TYPE
     SYNTAX  INTEGER (30..300)
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
        "The time in seconds for which average port utilization should be carried out.
        The value should be incremental of 30 seconds, between the ranges specified."
     DEFVAL { 300 }
     ::= { snSwPortInfoEntry 56 }

snSwPortTagType OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
		"The IEEE802.1q tag type embedded in the length/type field of
		an Ethernet packet. It specifies that the 2 octets after the
		length/type field in an Ethernet packet is the tag value."
     DEFVAL { 33024 }
     ::= { snSwPortInfoEntry 57 }


-- Interface ID Registration Group

snInterfaceId      OBJECT IDENTIFIER ::= { snSwPortInfo 2 }

-- Interface ID to ifIndex Lookup Table
-- Given an interface ID, this table returns the ifIndex value.
-- 
-- Note: This table does not behave like most SNMP tables.  It does not
-- support GetNext.  If you try to walk the table using GetNext, no rows
-- will be returned.  The contents of the table can only be accessed
-- using Get operations.  The table is useful for mapping a known
-- interface to the corresponding ifIndex value.

snInterfaceLookupTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnInterfaceLookupEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snSwPortInfo 3 }

snInterfaceLookupEntry OBJECT-TYPE
	SYNTAX  SnInterfaceLookupEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		""
	INDEX { snInterfaceLookupInterfaceId }
	::= { snInterfaceLookupTable 1 }

SnInterfaceLookupEntry ::= SEQUENCE {
	snInterfaceLookupInterfaceId
		InterfaceId,
	snInterfaceLookupIfIndex
	    INTEGER
	}

snInterfaceLookupInterfaceId OBJECT-TYPE
     SYNTAX  InterfaceId
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
        ""
     ::= { snInterfaceLookupEntry 1 }

snInterfaceLookupIfIndex OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
        ""
     ::= { snInterfaceLookupEntry 2 }


-- ifIndex to Interface ID Lookup Table
-- Given an ifIndex, this table returns the interface ID value.

snIfIndexLookupTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIfIndexLookupEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snSwPortInfo 4 }

snIfIndexLookupEntry OBJECT-TYPE
	SYNTAX  SnIfIndexLookupEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		""
	INDEX { snIfIndexLookupIfIndex }
	::= { snIfIndexLookupTable 1 }

SnIfIndexLookupEntry ::= SEQUENCE {
	snIfIndexLookupIfIndex
	    INTEGER,
	snIfIndexLookupInterfaceId
		InterfaceId
	}

snIfIndexLookupIfIndex OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
        ""
     ::= { snIfIndexLookupEntry 1 }

snIfIndexLookupInterfaceId OBJECT-TYPE
     SYNTAX  InterfaceId
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
        ""
     ::= { snIfIndexLookupEntry 2 }


--      Forwarding Database Group
--
-- This group contains information relevant to 
-- the forwarding database in the system.



-- The Forward Database Static Table Information
--
-- This table contains all MAC addresses in the system. Static 
-- stations may be configured.


snFdbTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnFdbEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"This table contains snFdb information for each station
		known to the system, one entry per station." 
	::= { snFdbInfo 1 }

snFdbEntry OBJECT-TYPE
	SYNTAX  SnFdbEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Each entry represents the information of a static MAC station." 
	INDEX   { 
		snFdbStationIndex
	}
	::= { snFdbTable 1 }


SnFdbEntry ::= SEQUENCE {
    snFdbStationIndex
		INTEGER,
    snFdbStationAddr
	    PhysAddress,
	snFdbStationPort
		INTEGER,
	snFdbVLanId
		INTEGER,
	snFdbStationQos
		INTEGER,
	snFdbStationType
		INTEGER,
	snFdbRowStatus
		INTEGER
	}

snFdbStationIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..256)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The FDB Station index to the Fdb Station Table."
	::= { snFdbEntry 1 }

snFdbStationAddr OBJECT-TYPE
	SYNTAX  PhysAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The snFdbs physical address. The physical address 
		represents a MAC Station."
	::= { snFdbEntry 2 }


snFdbStationPort OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Station slot/port number. 
		 The bit 0 to bit 7: port number. 
		 The bit 8 to bit 11: slot number (slot for chassis only)."
	::= { snFdbEntry 3 }


snFdbVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Station VLan ID."
	::= { snFdbEntry 4 }

snFdbStationQos OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Stand alone stackable station Qos Priority values are:
		 low(0)   -- low prority
		 high(1) -- high prority.
		 The BigIron switch station Priority values are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snFdbEntry 5 }

snFdbStationType OBJECT-TYPE
	SYNTAX  INTEGER {
		notSupported(0),
		host(1),
		router(2)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The station type values are:
		 notSupported    -- a read value only : this product does not 
		                    support MultiLayer Switching.
		 host    -- any MAC station.
		 router  -- a router-typed station."
	::= { snFdbEntry 6 }

snFdbRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		valid(2),
		delete(3),
		create(4)
		}
	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

		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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snFdbEntry 7 }


-- Port STP Configuration Group


snPortStpTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnPortStpEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A specific snPortStpTable consists of a number of 
		 switch ports. This table only exists if only if
		 snVLanByPortTable exists and snVLanByPortStpMode is
		 enabled for each VLAN."
	::= { snPortStpInfo 1 }

snPortStpEntry OBJECT-TYPE
	SYNTAX  SnPortStpEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the snPortStpTable indicates the 
		 configuration on a specified port. A SNMP SET PDU 
		 for a row of the snPortStpTable requires the entired 
		 sequence of the MIB Objects in each 
		 snPortStpEntry stored in one PDU.  Otherwise, 
	 	 GENERR return-value will be returned."
	INDEX   { 
			snPortStpVLanId,	
			snPortStpPortNum
	}
	::= { snPortStpTable 1 }

SnPortStpEntry ::= SEQUENCE {
	snPortStpVLanId
		INTEGER,
	snPortStpPortNum
		INTEGER,
	snPortStpPortPriority
		INTEGER,
	snPortStpPathCost 
		INTEGER,
    snPortStpOperState
		INTEGER,
    snPortStpPortEnable
        INTEGER,
    snPortStpPortForwardTransitions
        Counter,
    snPortStpPortState
        INTEGER,
    snPortStpPortDesignatedCost
        INTEGER,
    snPortStpPortDesignatedRoot
        BridgeId,
    snPortStpPortDesignatedBridge
        BridgeId,
    snPortStpPortDesignatedPort
        OCTET STRING
	}

snPortStpVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID of the VLAN switch community." 
	::= { snPortStpEntry 1 }

snPortStpPortNum OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port number of the Switch. 
		 The bit 0 to bit 7: port number. 
		 The bit 8 to bit 11: slot number (slot for chassis only)."
	::= { snPortStpEntry 2 }

snPortStpPortPriority OBJECT-TYPE
	SYNTAX  INTEGER (8..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
    "The value of the priority field which is
     contained in the first (in network byte order)
     octet of the (2 octet long) Port ID.  The other
     octet of the Port ID is given by the value of
     dot1dStpPort."
	::= { snPortStpEntry 3 }

snPortStpPathCost OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	"dot1dStpPortPathCost : The contribution of this 
	 port to the path cost of paths towards the spanning 
	 tree root which include this port.  802.1D-1990 
	 recommends that the default value of this parameter 
	 be in inverse proportion to the speed of the 
	 attached LAN. Writing value zero to this object
	 sets path cost to a default value which automatically
	 changes according to port speed. Reading value zero
	 indicates an unknown path cost value because port
	 speed cannot be determined due to speed auto sense
	 in progress."
	::= { snPortStpEntry 4 }


snPortStpOperState OBJECT-TYPE
	SYNTAX  INTEGER {
		notActivated(0),             
		activated(1)
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"By default, this mode is set to notActivated(0).
		 notActivated(0)...the Port STP entry is not activated and not in running mode.
		 activated(1)......the Port STP entry is activated and in running mode"  
	::= { snPortStpEntry 5 }

snPortStpPortEnable OBJECT-TYPE
    SYNTAX  INTEGER {
              enabled(1),
              disabled(2)
            }
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
    "The enabled/disabled status of the port."
	::= { snPortStpEntry 6 }

snPortStpPortForwardTransitions OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
    "The number of times this port has transitioned
     from the Learning state to the Forwarding state."
	::= { snPortStpEntry 7 }

snPortStpPortState OBJECT-TYPE
    SYNTAX  INTEGER {
              disabled(1),
              blocking(2),
              listening(3),
              learning(4),
              forwarding(5),
              broken(6)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The port's current state as defined by
     application of the Spanning Tree Protocol.  This
     state controls what action a port takes on
     reception of a frame.  If the bridge has detected
     a port that is malfunctioning it will place that
     port into the broken(6) state.  For ports which
     are disabled (see dot1dStpPortEnable), this object
     will have a value of disabled(1)."
	::= { snPortStpEntry 8 }

snPortStpPortDesignatedCost OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The path cost of the Designated Port of the
     segment connected to this port.  This value is
     compared to the Root Path Cost field in received
     bridge PDUs."
	::= { snPortStpEntry 9 }


snPortStpPortDesignatedRoot OBJECT-TYPE
    SYNTAX  BridgeId
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The unique Bridge Identifier of the Bridge
     recorded as the Root in the Configuration BPDUs
     transmitted by the Designated Bridge for the
     segment to which the port is attached."
	::= { snPortStpEntry 10 }

snPortStpPortDesignatedBridge OBJECT-TYPE
    SYNTAX  BridgeId
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The Bridge Identifier of the bridge which this
     port considers to be the Designated Bridge for
     this port's segment."
	::= { snPortStpEntry 11 }

snPortStpPortDesignatedPort OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE (2))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    "The Port Identifier of the port on the Designated
     Bridge for this port's segment."
	::= { snPortStpEntry 12 }



-- Trunk Port Configuration Group


snTrunkTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnTrunkEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A specific snTrunkTable consists of a number of 
		 Trunk port-mask." 
	::= { snTrunkInfo 1 }

snTrunkEntry OBJECT-TYPE
	SYNTAX  SnTrunkEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the snTrunkTable indicates the 
		 configuration on a specified Trunk port membership." 
	INDEX   { 
		snTrunkIndex
	}
	::= { snTrunkTable 1 }

SnTrunkEntry ::= SEQUENCE {
	snTrunkIndex
		INTEGER,
	snTrunkPortMask
		PortMask,
	snTrunkType
		INTEGER
	}

snTrunkIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The number of the trunk entries can be configured."
	::= { snTrunkEntry 1 }


snTrunkPortMask OBJECT-TYPE
	SYNTAX  PortMask
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Trunk membership of the Switch." 
	::= { snTrunkEntry 2 }


snTrunkType OBJECT-TYPE
	SYNTAX  INTEGER {
		switch(1),
	    server(2)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The trunk connection type which specifies what
		device the trunk ports are connected to."
	::= { snTrunkEntry 3 }


-- Multi-slot Trunk Port Configuration Group


snMSTrunkTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnMSTrunkEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A table contains the configuration of port members of
		multi-slot trunk groups."
	::= { snTrunkInfo 2 }

snMSTrunkEntry OBJECT-TYPE
	SYNTAX  SnMSTrunkEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the snMSTrunkTable."
	INDEX {snMSTrunkPortIndex}
	::= { snMSTrunkTable 1 }

SnMSTrunkEntry ::= SEQUENCE {
	snMSTrunkPortIndex
		INTEGER,
	snMSTrunkPortList
		OCTET STRING,
	snMSTrunkType
		INTEGER,
	snMSTrunkRowStatus
		INTEGER
	}

snMSTrunkPortIndex OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The primary port of a trunk group. For module with Gig ports,
		primary port is port 1, 3, 5, 7. For module with 10/100 ports,
		primary port is port 1, 5, 9, 13, 17, 21."
	::= { snMSTrunkEntry 1 }


snMSTrunkPortList OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of port indices which are the port membership
		of a trunk group. Each port index is a 16-bit integer
		in big endian order. The first port index must be the
		primary port index."
	::= { snMSTrunkEntry 2 }


snMSTrunkType OBJECT-TYPE
	SYNTAX  INTEGER {
		switch(1),
	    server(2)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The trunk connection type which specifies what
		device the trunk ports are connected to."
	::= { snMSTrunkEntry 3 }


snMSTrunkRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
	    invalid(1),
	    valid(2),
	    delete(3),
	    create(4),
	    modify(5)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a table entry."
	::= { snMSTrunkEntry 4 }


-- Switch Configuration Summary Group


snSwSummaryMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Switch Group Configuration Summary is configured 
		 either enabled or disabled and the
		 default is disabled mode.
		 enabled(1)...........activate Switch Configuration Summary.
		 disabled(0)..........no Switch Configuration Summary."
	::= { snSwSummary 1 }


--- DHCP Gateway List Table


snDhcpGatewayListTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnDhcpGatewayListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A table of DHCP gateway list of addresses."
	::= { snDhcpGatewayListInfo 1 }

snDhcpGatewayListEntry             OBJECT-TYPE
	SYNTAX  SnDhcpGatewayListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Port Address table."
	INDEX   { snDhcpGatewayListId }
	::= { snDhcpGatewayListTable 1 }

SnDhcpGatewayListEntry ::= SEQUENCE {
	snDhcpGatewayListId
		INTEGER,
	snDhcpGatewayListAddrList
		OCTET STRING,
	snDhcpGatewayListRowStatus
		INTEGER
	}


snDhcpGatewayListId                 OBJECT-TYPE
	SYNTAX  INTEGER (1..32)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The ID for a DHCP gateway list entry."
	::= { snDhcpGatewayListEntry 1 }

snDhcpGatewayListAddrList          OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(4..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The DHCP gateway address list for each DHCP gateway list ID.
		This list contains 1 to 8 IP addresses represented by octet string."
	::= { snDhcpGatewayListEntry 2 }

snDhcpGatewayListRowStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		other(1),
		valid(2),
		delete(3),
		create(4)
		}
	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 or 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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snDhcpGatewayListEntry 3 }


-- DNS MIB Group 

snDnsDomainName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..80))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"DNS Domain Name string."
	::= { snDnsInfo 1 }

snDnsGatewayIpAddrList OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(16))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The DNS Gateway IP address list. This list contains 4 
		IP addresses represented by octet string."
	::= { snDnsInfo 2 }

-- MAC filter table

snMacFilterTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnMacFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"MAC filter table."
	::= { snMacFilter 1 }

snMacFilterEntry       OBJECT-TYPE
	SYNTAX  SnMacFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the MAC filter table."
	INDEX   { snMacFilterIndex }
	::= { snMacFilterTable 1 }

SnMacFilterEntry ::= SEQUENCE {
	snMacFilterIndex
		INTEGER,
	snMacFilterAction              
		INTEGER,
	snMacFilterSourceMac
		MacAddress,
	snMacFilterSourceMask
		MacAddress,
	snMacFilterDestMac
		MacAddress,
	snMacFilterDestMask
		MacAddress,
	snMacFilterOperator
		INTEGER,
	snMacFilterFrameType
		INTEGER,
	snMacFilterFrameTypeNum
		INTEGER,
	snMacFilterRowStatus
		INTEGER
	}

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

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

snMacFilterSourceMac    OBJECT-TYPE
	SYNTAX  MacAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source MAC address."
	::= { snMacFilterEntry 3 }

snMacFilterSourceMask  OBJECT-TYPE
	SYNTAX  MacAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source MAC subnet mask."
	::= { snMacFilterEntry 4 }

snMacFilterDestMac      OBJECT-TYPE
	SYNTAX  MacAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination MAC address."
	::= { snMacFilterEntry 5 }

snMacFilterDestMask    OBJECT-TYPE
	SYNTAX  MacAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination MAC subnet mask."
	::= { snMacFilterEntry 6 }

snMacFilterOperator    OBJECT-TYPE
	SYNTAX  INTEGER { equal(0), notEqual(1), less(2), greater(3) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Type of comparison to perform."
	::= { snMacFilterEntry 7 }

snMacFilterFrameType     OBJECT-TYPE
	SYNTAX  INTEGER{ notUsed(0), ethernet(1), llc(2), snap(3) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Frame Type: ethernet-type, LLC and SNAP types"
	::= { snMacFilterEntry 8 }

snMacFilterFrameTypeNum     OBJECT-TYPE
	SYNTAX  INTEGER(0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Frame Type Number. 0 means NA"
	::= { snMacFilterEntry 9 }

snMacFilterRowStatus   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"
	::= { snMacFilterEntry 10 }

-- MAC Filter Port access table

snMacFilterPortAccessTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnMacFilterPortAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"MAC Filter port access table."
	::= { snMacFilter 2 }

snMacFilterPortAccessEntry           OBJECT-TYPE
	SYNTAX  SnMacFilterPortAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the MAC Filter Port access table."
	INDEX   { snMacFilterPortAccessPortIndex }
	::= { snMacFilterPortAccessTable 1 }

SnMacFilterPortAccessEntry ::= SEQUENCE {
	snMacFilterPortAccessPortIndex
		INTEGER,
	snMacFilterPortAccessFilters
		OCTET STRING,
	snMacFilterPortAccessRowStatus
		INTEGER
	}

snMacFilterPortAccessPortIndex               OBJECT-TYPE
	SYNTAX  INTEGER (1..3900)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index.
		For FastIron/NetIron products, port index value is from 1 to 42
		For BigIron products, port index is an encoded number:
		The bit 0 to bit 7: port number.
		The bit 8 to bit 11: slot number.
		For virtual router interface, slot number is 15,
		port number is the virtual router port from 1 to 60.
		Therefore, port index value for BigIron is from 257 to 3900."
	::= { snMacFilterPortAccessEntry 1 }

snMacFilterPortAccessFilters                 OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"1st octet correspond to 1st filter 
		number and so on."
	::= { snMacFilterPortAccessEntry 2 }

snMacFilterPortAccessRowStatus       OBJECT-TYPE
	SYNTAX	 INTEGER {
	    invalid(1),
	    valid(2),
	    delete(3),
	    create(4)
	}
	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

	 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"
	::= { snMacFilterPortAccessEntry 3 }

-- NTP general group

snNTPGeneral               OBJECT IDENTIFIER ::= { snNTP 1 }

snNTPPollInterval          OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Interval specifies how often to poll the NTP server.
		Each unit is one second."
    DEFVAL  { 1800 }
	::= { snNTPGeneral 1 }

snNTPTimeZone              OBJECT-TYPE
	SYNTAX  INTEGER {
		alaska(0),
		aleutian(1),
		arizona(2),
		central(3),
		eastIndiana(4),
		eastern(5),
		hawaii(6),
		michigan(7),
		mountain(8),
		pacific(9),
		samoa(10),
		gmtPlus12(11),
		gmtPlus11(12),
		gmtPlus10(13),
		gmtPlus9(14),
		gmtPlus8(15),
		gmtPlus7(16),
		gmtPlus6(17),
		gmtPlus5(18),
		gmtPlus4(19),
		gmtPlus3(20),
		gmtPlus2(21),
		gmtPlus1(22),
		gmt(23),
		gmtMinus1(24),
		gmtMinus2(25),
		gmtMinus3(26),
		gmtMinus4(27),
		gmtMinus5(28),
		gmtMinus6(29),
		gmtMinus7(30),
		gmtMinus8(31),
		gmtMinus9(32),
		gmtMinus10(33),
		gmtMinus11(34),
		gmtMinus12(35) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Time zone."
    DEFVAL  { gmt }
	::= { snNTPGeneral 2 }

snNTPSummerTimeEnable      OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled (1) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disable daylight saving time. This enables daylight
		saving time for time/date starting 02:00:00 of first Sunday
		in April and ending 02:00:00 of last Sunday in October every
		year."
    DEFVAL  { disabled }
	::= { snNTPGeneral 3 }

snNTPSystemClock           OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (7))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"System clock, in the following format:
		octet   0: seconds after the minute [0-60]
		octet   1: minutes after the hour [0-59]
		octet   2: hours since midnight [0-23]
		octet   3: day of the month [1-31]
		octet   4: months since January [0-11]
		octet   5: years since 1900
		octet   6: days since Sunday [0-6]
		Setting this object requires valid value in octets 0 to 5,
		and zero in octet 6. System clock can be disabled by setting
		zero to all octets."
	::= { snNTPGeneral 4 }

snNTPSync                  OBJECT-TYPE
	SYNTAX  INTEGER { other(1), synchronize(2) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Initiate time synchronization to the NTP servers.
		For set operation, only 'synchronize(2)' is accepted.
		For get operation, always return 'other(1)'."
	::= { snNTPGeneral 5 }

-- NTP server table

snNTPServerTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnNTPServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"NTP (Network Time Protocol) server table."
	::= { snNTP 2 }

snNTPServerEntry           OBJECT-TYPE
	SYNTAX  SnNTPServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the NTP server table."
	INDEX   { snNTPServerIp }
	::= { snNTPServerTable 1 }

SnNTPServerEntry ::= SEQUENCE {
	snNTPServerIp
		IpAddress,
	snNTPServerVersion
		INTEGER,
	snNTPServerRowStatus
		INTEGER
	}

snNTPServerIp              OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"NTP server IP address."
	::= { snNTPServerEntry 1 }

snNTPServerVersion         OBJECT-TYPE
	SYNTAX  INTEGER (1..4)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"NTP server version."
    DEFVAL  { 1 }
	::= { snNTPServerEntry 2 }

snNTPServerRowStatus       OBJECT-TYPE
	SYNTAX	INTEGER {
	    other(1),
	    valid(2),
	    delete(3),
	    create(4) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a NTP server table entry."
	::= { snNTPServerEntry 3 }

-- Radius general group

snRadiusGeneral            OBJECT IDENTIFIER ::= { snRadius 1 }

snRadiusSNMPAccess         OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Indicate whether Radius group MIB obejcts can be
		accessed by SNMP manager. If value is disabled,
		all Radius group MIB objects return 'general error'."
    DEFVAL  { disabled }
	::= { snRadiusGeneral 1 }

snRadiusEnableTelnetAuth   OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disable telnet authentication specified
		by 'snRadiusLoginMethod'."
    DEFVAL  { disabled }
	::= { snRadiusGeneral 2 }

snRadiusRetransmit         OBJECT-TYPE
	SYNTAX  INTEGER (0..5)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The number of authentication query retransmissions
		to the Radius server."
    DEFVAL  { 3 }
	::= { snRadiusGeneral 3 }

snRadiusTimeOut            OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Interval specifies how long to wait for authentication
		reply from the Radius server, each unit is one second."
    DEFVAL  { 3 }
	::= { snRadiusGeneral 4 }

snRadiusDeadTime           OBJECT-TYPE
	SYNTAX  INTEGER (1..5)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Interval specifies Radius server dead time,
		each unit is one minute."
    DEFVAL  { 3 }
	::= { snRadiusGeneral 5 }

snRadiusKey                OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Authentication key displayed as encrypted text."
	::= { snRadiusGeneral 6 }

snRadiusLoginMethod        OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..7))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of authentication methods. Each octet represents
		a method to authenticate the user login process. Each octet
		has the following enumeration value:
		  enable(1) - authenticate by command line interface
		              enable password
		  radius(2) - authenticate by requesting radius server
		  local(3) - authenticate by local user account table
		  line(4) - authenticate by telnet password
		  tacplus(5) - authenticate by requesting tacplus server
		  none(6) - do not authenticate
		  tacacs(7) - authenticate by requesting tacacs server
		Setting a zero length octet string invalidates all
		previous authentication methods."
	::= { snRadiusGeneral 7 }

snRadiusEnableMethod       OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..7))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of authentication methods. Each octet represents
		a method to authenticate the user entering priviledge mode
		of the command line interface. Each octet has the following
		enumeration value:
		  enable(1) - authenticate by command line interface
		              enable password
		  radius(2) - authenticate by requesting radius server
		  local(3) - authenticate by local user account table
		  line(4) - authenticate by telnet password
		  tacplus(5) - authenticate by requesting tacplus server
		  none(6) - do not authenticate
		  tacacs(7) - authenticate by requesting tacacs server
		Setting a zero length octet string invalidates all
		previous authentication methods."
	::= { snRadiusGeneral 8 }

snRadiusWebServerMethod    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..7))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of authentication methods. Each octet represents
		a method to authenticate the user accessing the web-server.
		Each octet has the following enumeration value:
		  enable(1) - authenticate by command line interface
		              enable password
		  radius(2) - authenticate by requesting radius server
		  local(3) - authenticate by local user account table
		  line(4) - authenticate by telnet password
		  tacplus(5) - authenticate by requesting tacplus server
		  none(6) - do not authenticate
		  tacacs(7) - authenticate by requesting tacacs server
		Setting a zero length octet string invalidates all
		previous authentication methods."
	::= { snRadiusGeneral 9 }

snRadiusSNMPServerMethod   OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..7))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of authentication methods. Each octet represents
		a method to authenticate the user accessing the snmp-server.
		Each octet has the following enumeration value:
		  enable(1) - authenticate by command line interface
		              enable password
		  radius(2) - authenticate by requesting radius server
		  local(3) - authenticate by local user account table
		  line(4) - authenticate by telnet password
		  tacplus(5) - authenticate by requesting tacplus server
		  none(6) - do not authenticate
		  tacacs(7) - authenticate by requesting tacacs server
		Setting a zero length octet string invalidates all
		previous authentication methods."
	::= { snRadiusGeneral 10 }

-- Radius server table

snRadiusServerTable        OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRadiusServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Radius server table."
	::= { snRadius 2 }

snRadiusServerEntry        OBJECT-TYPE
	SYNTAX  SnRadiusServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Radius server table."
	INDEX   { snRadiusServerIp }
	::= { snRadiusServerTable 1 }

SnRadiusServerEntry ::= SEQUENCE {
	snRadiusServerIp
		IpAddress,
	snRadiusServerAuthPort
		INTEGER,
	snRadiusServerAcctPort
		INTEGER,
	snRadiusServerRowStatus
		INTEGER,
	snRadiusServerRowKey
		DisplayString,
	snRadiusServerUsage
		INTEGER
	}

snRadiusServerIp           OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Radius server IP address."
	::= { snRadiusServerEntry 1 }

snRadiusServerAuthPort     OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Authentication UDP port number."
    DEFVAL  { 1645 }
	::= { snRadiusServerEntry 2 }

snRadiusServerAcctPort     OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Account UDP port number."
    DEFVAL  { 1646 }
	::= { snRadiusServerEntry 3 }

snRadiusServerRowStatus    OBJECT-TYPE
	SYNTAX	INTEGER {
	    other(1),
	    valid(2),
	    delete(3),
	    create(4) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Radius server table entry."
	::= { snRadiusServerEntry 4 }

snRadiusServerRowKey       OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Authentication key displayed as encrypted text."
	::= { snRadiusServerEntry 5 }

snRadiusServerUsage    OBJECT-TYPE
	SYNTAX	INTEGER {
	    default(1),
	    authentication-only(2),
	    authorization-only(3),
	    accounting-only(4) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To allow this server to be dedicated for a particular AAA activity."
	::= { snRadiusServerEntry 6 }

--- Tacacs General MIBs

snTacacsGeneral            OBJECT IDENTIFIER ::= { snTacacs 1 }

snTacacsRetransmit         OBJECT-TYPE
	SYNTAX  INTEGER (0..5)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The number of authentication query retransmissions
		to the Tacacs server."
    DEFVAL  { 3 }
	::= { snTacacsGeneral 1 }

snTacacsTimeOut            OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Interval specifies how long to wait for authentication
		reply from the Tacacs server, each unit is one second."
    DEFVAL  { 3 }
	::= { snTacacsGeneral 2 }

snTacacsDeadTime           OBJECT-TYPE
	SYNTAX  INTEGER (1..5)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Interval specifies Tacacs server dead time,
		each unit is one minute."
    DEFVAL  { 3 }
	::= { snTacacsGeneral 3 }

snTacacsKey                OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Authentication key displayed as encrypted text."
	::= { snTacacsGeneral 4 }

snTacacsSNMPAccess         OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Indicate whether Tacacs group MIB obejcts can be
		accessed by SNMP manager. If value is disabled,
		all Tacacs group MIB objects return 'general error'."
    DEFVAL  { disabled }
	::= { snTacacsGeneral 5 }

-- Tacacs server table

snTacacsServerTable        OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnTacacsServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
 		"Tacacs server table."
	::= { snTacacs 2 }

snTacacsServerEntry        OBJECT-TYPE
	SYNTAX  SnTacacsServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Tacacs server table."
	INDEX   { snTacacsServerIp }
	::= { snTacacsServerTable 1 }

SnTacacsServerEntry ::= SEQUENCE {
	snTacacsServerIp
		IpAddress,
	snTacacsServerAuthPort
		INTEGER,
	snTacacsServerRowStatus
		INTEGER,
	snTacacsServerRowKey
		DisplayString,
	snTacacsServerUsage
		INTEGER
	}

snTacacsServerIp           OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Tacacs server IP address."
	::= { snTacacsServerEntry 1 }

snTacacsServerAuthPort     OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Authentication UDP port number."
    DEFVAL  { 49 }
	::= { snTacacsServerEntry 2 }

snTacacsServerRowStatus    OBJECT-TYPE
	SYNTAX	INTEGER {
	    other(1),
	    valid(2),
	    delete(3),
	    create(4) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Tacacs server table entry."
	::= { snTacacsServerEntry 3 }

snTacacsServerRowKey       OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Authentication key displayed as encrypted text."
	::= { snTacacsServerEntry 4 }

snTacacsServerUsage    OBJECT-TYPE
	SYNTAX	INTEGER {
	    default(1),
	    authentication-only(2),
	    authorization-only(3),
	    accounting-only(4) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To allow this server to be dedicated for a particular AAA activity."
	::= { snTacacsServerEntry 5 }

-- QOS Profile Group

snQosProfileTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnQosProfileEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A table contains the configuration of qos profile 
		 groups."
	::= { snQos 1 }

snQosProfileEntry OBJECT-TYPE
	SYNTAX  SnQosProfileEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the snQosProfileTable."
	INDEX {snQosProfileIndex}
	::= { snQosProfileTable 1 }

SnQosProfileEntry ::= SEQUENCE {
	snQosProfileIndex
		INTEGER,
	snQosProfileName
		DisplayString,
	snQosProfileRequestedBandwidth
		INTEGER,
	snQosProfileCalculatedBandwidth
		INTEGER
	}

snQosProfileIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..4)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index of QOS Profile." 
	::= { snQosProfileEntry 1 }

snQosProfileName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Qos Profile Name string."
	::= { snQosProfileEntry 2 }

snQosProfileRequestedBandwidth OBJECT-TYPE
	SYNTAX  INTEGER (0..100)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Qos Profile Requested Bandwidth."
	::= { snQosProfileEntry 3 }

snQosProfileCalculatedBandwidth OBJECT-TYPE
	SYNTAX  INTEGER (0..100)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Qos Profile Calculated Bandwidth."
	::= { snQosProfileEntry 4 }

-- QOS Bind Group

snQosBindTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnQosBindEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A table contains the configuration of 802.1p to qos profile 
		 binding groups."
	::= { snQos 2 }

snQosBindEntry OBJECT-TYPE
	SYNTAX  SnQosBindEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the snQosBindTable."
	INDEX {snQosBindIndex}
	::= { snQosBindTable 1 }

SnQosBindEntry ::= SEQUENCE {
	snQosBindIndex
		INTEGER,
	snQosBindPriority
		INTEGER,
	snQosBindProfileIndex
		INTEGER
	}

snQosBindIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..8)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index of QOS Bind."
	::= { snQosBindEntry 1 }

snQosBindPriority OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		 "QOS bind priority."
	::= { snQosBindEntry 2 }

snQosBindProfileIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..4)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"QOS Bind Profile Index. This is pointer to the
		index of snQosProfile Table." 
	::= { snQosBindEntry 3 }

-- AAA Mib

snAuthentication			OBJECT IDENTIFIER ::= { snAAA 1 }
snAuthorization				OBJECT IDENTIFIER ::= { snAAA 2 }
snAccounting				OBJECT IDENTIFIER ::= { snAAA 3 }

snAuthorizationCommandMethods        OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..3))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of authorization methods. Each octet represents
		a method to authorize the user command. Each octet
		has the following value:
		  radius(2) - authorize by requesting radius server
		  tacplus(5) - authorize by requesting tacplus server
		  none(6) - skip authorization
		Setting a zero length octet string invalidates all
		previous authorization methods."
	::= { snAuthorization 1 }

snAuthorizationCommandLevel OBJECT-TYPE
	SYNTAX  INTEGER {
                 level0(0),
                 level4(4),
				 level5(5)
                    }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Commands, which are equal to and less than the specified
		command level here needs to be authorized. Possible enumeration
		values:
		0 - Privilege level 0
		4 - Privilege level 4
		5 - Privilege level 5." 
	::= { snAuthorization 2 }

snAuthorizationExec        OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..3))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of exec authorization methods. Each octet represents
		a method for telnet or SSH login authorization. Each octet
		has the following enumeration value:
		  radius(2) - send exec authorization request to radius server
		  tacplus(5) - send exec authorization request to tacplus server
		  none(6) - no exec authorization
		Setting a zero length octet string invalidates all
		authorization methods."
	::= { snAuthorization 3 }


snAccountingCommandMethods        OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..3))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of accounting methods. Each octet represents
		a method to account for the user command. Each octet
		has the following enumeration value:
		  radius(2) - send accounting info to radius server
		  tacplus(5) - send accounting info to tacplus server
		  none(6) - skip accounting
		Setting a zero length octet string invalidates all
		previous accounting methods."
	::= { snAccounting 1 }

snAccountingCommandLevel OBJECT-TYPE
	SYNTAX  INTEGER {
                 level0(0),
                 level4(4),
				 level5(5)
                    }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Commands, which are equal to and less than the specified
		command level here will be accounted. Possible enumeration
		values:
		level0 - Privilege level 0
		level4 - Privilege level 4
		level5 - Privilege level 5." 
	::= { snAccounting 2 }

snAccountingExec        OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..3))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of accounting methods. Each octet represents
		a method for telnet or SSH login accounting. Each octet
		has the following enumeration value:
		  radius(2) - send accounting info to radius server
		  tacplus(5) - send accounting info to tacplus server
		  none(6) - skip accounting
		Setting a zero length octet string invalidates all
		previous accounting methods."
	::= { snAccounting 3 }

snAccountingSystem        OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..3))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A sequence of accounting methods. Each octet represents
		a method to account for the system related events. Each octet
		has the following enumeration value:
		  radius(2) - send accounting info to radius server
		  tacplus(5) - send accounting info to tacplus server
		  none(6) - skip accounting
		Setting a zero length octet string invalidates all
		previous accounting methods."
	::= { snAccounting 4 }

-- NetFlow Mib

snNetFlowGlb	OBJECT IDENTIFIER ::= { snNetFlow 1 }

snNetFlowGblEnable OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Enable/disable NetFlow export operation."
    DEFVAL { disabled }
	::= { snNetFlowGlb 1 }

snNetFlowGblVersion OBJECT-TYPE
	SYNTAX	INTEGER { version1 (1), version5 (5) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"NetFlow export version."
    DEFVAL { version5 }
	::= { snNetFlowGlb 2 }

snNetFlowGblProtocolDisable OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"bit 0 - other, disable all protocols export except UDP and TCP
		 bit 1 - tcp, disable TCP protocol export
		 bit 2 - udp, disable UDP protocol export"
    DEFVAL { 0 }
	::= { snNetFlowGlb 3 }

snNetFlowGblActiveTimeout OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Maximum time an active flow can be in the NetFlow cache (minutes: 1..60)"
    DEFVAL { 60 }
	::= { snNetFlowGlb 4 }

snNetFlowGblInactiveTimeout OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Maximum time an inactive flow can be in the NetFlow cache (seconds: 10..600)"
    DEFVAL { 60 }
	::= { snNetFlowGlb 5 }


-- NetFlow Collector Table


snNetFlowCollectorTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnNetFlowCollectorEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of each NetFlow collector information."
	::= { snNetFlow 2 }

snNetFlowCollectorEntry OBJECT-TYPE
	SYNTAX	SnNetFlowCollectorEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the NetFlow collector table."
	INDEX	{ snNetFlowCollectorIndex }
	::= { snNetFlowCollectorTable 1 }

SnNetFlowCollectorEntry ::= SEQUENCE {
	snNetFlowCollectorIndex
		INTEGER,
	snNetFlowCollectorIp
		IpAddress,
	snNetFlowCollectorUdpPort
		INTEGER,
	snNetFlowCollectorSourceInterface
		INTEGER,
	snNetFlowCollectorRowStatus
		INTEGER
	}

snNetFlowCollectorIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..10)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the NetFlow collector table."
	::= { snNetFlowCollectorEntry 1 }

snNetFlowCollectorIp OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The NetFlow collector ip address."
	::= { snNetFlowCollectorEntry 2 }

snNetFlowCollectorUdpPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The NetFlow collector UDP port number."
	::= { snNetFlowCollectorEntry 3 }

snNetFlowCollectorSourceInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex value to specify source port to
		 export NetFlow packet. Value 0 to indicate
		 default outgoing port."
	::= { snNetFlowCollectorEntry 4 }


snNetFlowCollectorRowStatus OBJECT-TYPE
	SYNTAX	INTEGER	{
		other(1),
		valid(2),
		delete(3),
		create(4) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To create or delete a NetFlow collector table entry."
	::= { snNetFlowCollectorEntry 5 }



-- NetFlow Aggregation Table


snNetFlowAggregationTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnNetFlowAggregationEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of each NetFlow aggregation scheme information."
	::= { snNetFlow 3 }

snNetFlowAggregationEntry OBJECT-TYPE
	SYNTAX	SnNetFlowAggregationEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the NetFlow Aggregation table."
	INDEX	{ snNetFlowAggregationIndex }
	::= { snNetFlowAggregationTable 1 }

SnNetFlowAggregationEntry ::= SEQUENCE {
	snNetFlowAggregationIndex
		INTEGER,
	snNetFlowAggregationIp
		IpAddress,
	snNetFlowAggregationUdpPort
		INTEGER,
	snNetFlowAggregationSourceInterface
		INTEGER,
	snNetFlowAggregationNumberOfCacheEntries
		INTEGER,
	snNetFlowAggregationActiveTimeout
		INTEGER,
	snNetFlowAggregationInactiveTimeout
		INTEGER,
    snNetFlowAggregationEnable
		INTEGER,
    snNetFlowAggregationRowStatus
		INTEGER
	}

snNetFlowAggregationIndex OBJECT-TYPE
	SYNTAX	INTEGER { as (1), protocolPort (2), destPrefix (3),
	                 sourcePrefix (4), prefix (5) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The Aggregation scheme ID"      
	::= { snNetFlowAggregationEntry 1 }

snNetFlowAggregationIp OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The NetFlow aggregation collector ip address."
	::= { snNetFlowAggregationEntry 2 }

snNetFlowAggregationUdpPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The NetFlow aggregation collector UDP port number."
	::= { snNetFlowAggregationEntry 3 }

snNetFlowAggregationSourceInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex value to specify source port to
		 export NetFlow aggregation packet.
		 Value 0 to indicate default outgoing port."
	::= { snNetFlowAggregationEntry 4 }

snNetFlowAggregationNumberOfCacheEntries OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Number of cache entries for aggregation scheme"
	::= { snNetFlowAggregationEntry 5 }

snNetFlowAggregationActiveTimeout OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Maximum time an active flow can be in
		 the aggregation cache"
	::= { snNetFlowAggregationEntry 6 }

snNetFlowAggregationInactiveTimeout OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Maximum time an inactive flow can be in
		 the aggregation cache"
	::= { snNetFlowAggregationEntry 7 }

snNetFlowAggregationEnable OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Enable/disable NetFlow aggregation
		 for this aggregation scheme."
    DEFVAL { disabled }
	::= {  snNetFlowAggregationEntry 8 }

snNetFlowAggregationRowStatus OBJECT-TYPE
	SYNTAX	INTEGER	{
		other(1),
		valid(2),
		delete(3),
		create(4) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To create or delete a NetFlow collector table entry."
	::= { snNetFlowAggregationEntry 9 }


-- NetFlow Interface Table

-- Table containing information about the switching
-- type in every interface.

snNetFlowIfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnNetFlowIfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A list of interface entries.  The number of entries
         is given by the value of ifNumber."
	::= { snNetFlow 4 }

snNetFlowIfEntry OBJECT-TYPE
	SYNTAX	SnNetFlowIfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Entry containing the type of switching performed
		 on that interface."
	INDEX	{ snNetFlowIfIndex }
	::= { snNetFlowIfTable 1 }

SnNetFlowIfEntry ::= SEQUENCE {
	snNetFlowIfIndex
		INTEGER,
	snNetFlowIfFlowSwitching
		INTEGER
	}

 snNetFlowIfIndex OBJECT-TYPE
       SYNTAX      INTEGER (1..65536)
       ACCESS      read-only
       STATUS      mandatory
       DESCRIPTION
           "A unique value, greater than zero, for each
            interface.  It is recommended that values are assigned
            contiguously starting from 1.  The value for each
            interface sub-layer must remain constant at least from
            one re-initialization of the entity's network
            management system to the next re-initialization."
       ::= { snNetFlowIfEntry 1 }

snNetFlowIfFlowSwitching OBJECT-TYPE
       SYNTAX      INTEGER { disabled (0), enabled (1) }
       ACCESS      read-write
       STATUS      mandatory
       DESCRIPTION
           "To enable/disable flow switching in a particular
		    interface:
			disable (0) - no flow switching
			enable  (1) - flow switching"
       ::= { snNetFlowIfEntry 2 }

-- sFlow Collector Table.

snSFlowGlb	OBJECT IDENTIFIER ::= { snSFlow 1 }

snSflowCollectorTable     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnSflowCollectorEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Table of all but first sFlow collectors. The first collector can be configured
		using sFlowTable in RFC 3176. The RFC cannot be used to configure more
		than one sFlow collectors. This table has been created to fill this gap."
	::= { snSFlow 2 }

snSflowCollectorEntry	OBJECT-TYPE
	SYNTAX	SnSflowCollectorEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the sFlow collector table."
	INDEX	{ snSflowCollectorIndex }
	::= { snSflowCollectorTable 1 }

SnSflowCollectorEntry ::= SEQUENCE {
	snSflowCollectorIndex
		INTEGER,
	snSflowCollectorIP
		IpAddress,
	snSflowCollectorUDPPort
		INTEGER,
	snSflowCollectorRowStatus
		INTEGER
	}

snSflowCollectorIndex  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index to the sFlow collector table."
	::= { snSflowCollectorEntry 1 }

snSflowCollectorIP OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The sFlow collector ip address."
	::= { snSflowCollectorEntry 2 }

snSflowCollectorUDPPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The sFlow collector UDP port number."
	::= { snSflowCollectorEntry 3 }

snSflowCollectorRowStatus OBJECT-TYPE
	SYNTAX	INTEGER	{
		noSuch(0),
		other(1),
		valid(2),
		delete(3),
		create(4),
		modify(5)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"To create, update or delete a SFlow collector table entry.
		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
		  other(1)....some other case
		  valid(2)....the row exists and is valid"
	::= { snSflowCollectorEntry 4 }


snFdpMIBObjects OBJECT IDENTIFIER ::= { snFDP 1 }

snFdpInterface   OBJECT IDENTIFIER ::= { snFdpMIBObjects 1 }
snFdpCache       OBJECT IDENTIFIER ::= { snFdpMIBObjects 2 }
snFdpGlobal      OBJECT IDENTIFIER ::= { snFdpMIBObjects 3 }
snFdpCachedAddr  OBJECT IDENTIFIER ::= { snFdpMIBObjects 4 }

--
-- FDP Interface Group
--
snFdpInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FdpInterfaceEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Status of FDP on the device's interfaces."
    ::= { snFdpInterface 1 }

snFdpInterfaceEntry OBJECT-TYPE
    SYNTAX     FdpInterfaceEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry in the snFdpInterfaceTable,
            having the status of FDP on an interface."
    INDEX      { snFdpInterfaceIfIndex }
    ::= { snFdpInterfaceTable 1 }

FdpInterfaceEntry ::= SEQUENCE {
    snFdpInterfaceIfIndex           INTEGER,
    snFdpInterfaceFdpEnable            INTEGER,
    snFdpInterfaceCdpEnable            INTEGER
}

snFdpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "ifIndex value of the local interface."
    ::= { snFdpInterfaceEntry 1 }

snFdpInterfaceFdpEnable OBJECT-TYPE
    SYNTAX     INTEGER { false(0), true(1) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The flag, whether the Foundry Discovery Protocol
            is currently running on this interface.  It has no
            effect when FDP is disabled (snFdpGlobalRun = FALSE)."
	DEFVAL { true }
    ::= { snFdpInterfaceEntry 2 }

snFdpInterfaceCdpEnable OBJECT-TYPE
    SYNTAX     INTEGER { false(0), true(1) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The flag, whether the Cisco Discovery Protocol
            is currently running on this interface.  It has no
            effect when CDP is disabled (snCdpGlobalRun = FALSE)."
	DEFVAL { true }
    ::= { snFdpInterfaceEntry 3 }

--
-- FDP Cache Table
--

snFdpCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FdpCacheEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The table for the cached information obtained
             via receiving FDP/CDP messages."
    ::= { snFdpCache 1 }

snFdpCacheEntry OBJECT-TYPE
    SYNTAX     FdpCacheEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry in the snFdpCacheTable, having the information 
            received via FDP/CDP on one interface from one device.  
            Entries appear when a FDP/CDP advertisement is received
            from a neighbor device.
            Entries disappear when FDP/CDP is disabled on the interface, or globally."
    INDEX      { snFdpCacheIfIndex, snFdpCacheDeviceIndex }
    ::= { snFdpCacheTable 1 }

FdpCacheEntry ::= SEQUENCE {
    snFdpCacheIfIndex					INTEGER,
    snFdpCacheDeviceIndex				INTEGER,
    snFdpCacheDeviceId					DisplayString,
    snFdpCacheAddressType				INTEGER,
    snFdpCacheAddress					OCTET STRING,
    snFdpCacheVersion					DisplayString,
    snFdpCacheDevicePort				DisplayString,
    snFdpCachePlatform					DisplayString,
    snFdpCacheCapabilities				DisplayString, 
    snFdpCacheVendorId					INTEGER, 
	snFdpCacheIsAggregateVlan		INTEGER,
	snFdpCacheTagType				INTEGER,
	snFdpCachePortVlanMask		OCTET STRING,
	snFdpCachePortTagMode         INTEGER,
	snFdpCacheDefaultTrafficeVlanIdForDualMode  INTEGER
}

snFdpCacheIfIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "ifIndex value of the local interface."
    ::= { snFdpCacheEntry 1 }

snFdpCacheDeviceIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Identification of a device, which sent FDP/CDP messages"
    ::= { snFdpCacheEntry 2 }

snFdpCacheDeviceId OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The Device-ID string as reported in the most recent FDP/CDP
            message.  The zero-length string indicates no Device-ID
            field (TLV) was reported in the most recent FDP/CDP
            message."
    ::= { snFdpCacheEntry 3 }

snFdpCacheAddressType OBJECT-TYPE
    SYNTAX     INTEGER { ip(1), ipx(2), appletalk(3) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "An indication of the type of address contained in the
            corresponding instance of snFdpCacheAddress."
    ::= { snFdpCacheEntry 4 }

snFdpCacheAddress OBJECT-TYPE
    SYNTAX     OCTET STRING
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The (first) network-layer address of the device
            as reported in the most recent FDP/CDP message
			in the following format:
              IP address:  4 octets, ip(1)
              IPX address: 10 octets, ipx(2)
                     First 4-octet as the network number
                     Second 6-octet as the host number
              Appletalk address: 3 octets, appletalk(3)
                     First 2-octet as the network number
                     Second 1-octet as the host number"
    ::= { snFdpCacheEntry 5 }

snFdpCacheVersion OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Version string as reported in the most recent FDP/CDP message. "
    ::= { snFdpCacheEntry 6 }


snFdpCacheDevicePort OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The Port-ID string as reported in the most recent FDP/CDP
            message.  This will typically be the value of the ifName
            object (e.g., Ethernet0).  The zero-length string
            indicates no Port-ID field (TLV) was reported in the
            most recent FDP/CDP message."
    ::= { snFdpCacheEntry 7 }

snFdpCachePlatform OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The Device's Hardware Platform as reported in the most
            recent FDP/CDP message.  The zero-length string indicates
            that no Platform field (TLV) was reported in the most
            recent FDP/CDP message."
    ::= { snFdpCacheEntry 8 }

snFdpCacheCapabilities OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The Device's Functional Capabilities as reported in the
            most recent FDP/CDP message. "
    ::= { snFdpCacheEntry 9 }

snFdpCacheVendorId OBJECT-TYPE
    SYNTAX     INTEGER { fdp(1), cdp(2) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Indicates the entry received by either FDP or CDP."
    ::= { snFdpCacheEntry 10 }

snFdpCacheIsAggregateVlan OBJECT-TYPE
    SYNTAX     INTEGER { false(0), true(1) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Neighbor device is in aggregated-vlan."
    ::= { snFdpCacheEntry 11 }

snFdpCacheTagType OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Neighbor device tag-type."
    ::= { snFdpCacheEntry 12 }

snFdpCachePortVlanMask OBJECT-TYPE
    SYNTAX     OCTET STRING
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Neighbor device port VLAN masks in 512-byte octet string."
    ::= { snFdpCacheEntry 13 }

snFdpCachePortTagMode OBJECT-TYPE
    SYNTAX     INTEGER { untagged(1), tagged(2), dual(3) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Neighbor device port tag mode"
    ::= { snFdpCacheEntry 14 }

snFdpCacheDefaultTrafficeVlanIdForDualMode OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Default traffic vlan id for neighbor device dual-mode port"
    ::= { snFdpCacheEntry 15 }

--
-- FDP Global Group
--   

snFdpGlobalRun OBJECT-TYPE
    SYNTAX     INTEGER { false(0), true(1) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The flag, whether the Foundry Discovery Protocol
            is currently running.  FDP entries in snFdpCacheTable are
            deleted when FDP is disabled."
    DEFVAL     { false }
    ::= { snFdpGlobal 1 }

snFdpGlobalMessageInterval OBJECT-TYPE
    SYNTAX     INTEGER (5..900)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The interval at which FDP messages are to be generated.
            The default value is 60 seconds."
    DEFVAL     { 60 }
    ::= { snFdpGlobal 2 }

snFdpGlobalHoldTime OBJECT-TYPE
    SYNTAX     INTEGER (10..255)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The time for the receiving device holds FDP message.
            The default value is 180 seconds."
    DEFVAL     { 180 }
    ::= { snFdpGlobal 3 }

snFdpGlobalCdpRun OBJECT-TYPE
    SYNTAX     INTEGER { false(0), true(1) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "An indication of whether the Cisco Discovery Protocol
            is currently running.  CDP entries in snFdpCacheTable are
            deleted when CDP is disabled."
    DEFVAL     { false }
    ::= { snFdpGlobal 4 }

--
-- FDP Cached Address Entry Table
--
snFdpCachedAddressTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FdpCachedAddressEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Cached address table from receiving FDP/CDP messages."
    ::= { snFdpCachedAddr 1 }

snFdpCachedAddressEntry OBJECT-TYPE
    SYNTAX     FdpCachedAddressEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snFdpCacheAddressTable,
            containing one cached address from FDP/CDP messages."
    INDEX      { snFdpCachedAddrIfIndex, snFdpCachedAddrDeviceIndex, snFdpCachedAddrDeviceAddrEntryIndex }
    ::= { snFdpCachedAddressTable 1 }

FdpCachedAddressEntry ::= SEQUENCE {
    snFdpCachedAddrIfIndex               INTEGER,
    snFdpCachedAddrDeviceIndex           INTEGER,
    snFdpCachedAddrDeviceAddrEntryIndex  INTEGER,
    snFdpCachedAddrType				     INTEGER,
    snFdpCachedAddrValue				 OCTET STRING
}

snFdpCachedAddrIfIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The ifIndex value of the local interface."
    ::= { snFdpCachedAddressEntry 1 }

snFdpCachedAddrDeviceIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "A unique vlaue for each device from which FDP/CDP messages
			are being received."
    ::= { snFdpCachedAddressEntry 2 }

snFdpCachedAddrDeviceAddrEntryIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "A unique vlaue for address entry in device from which FDP/CDP messages
			are being received."
    ::= { snFdpCachedAddressEntry 3 }

snFdpCachedAddrType OBJECT-TYPE
    SYNTAX     INTEGER { ip(1), ipx(2), appletalk(3) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
			"An indication of the type of address contained in the
            corresponding instance of snFdpCacheAddrValue."
	::= { snFdpCachedAddressEntry 4 }

snFdpCachedAddrValue OBJECT-TYPE
    SYNTAX     OCTET STRING
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The network-layer address of the device
            SNMP-agent as reported in the most recent FDP/CDP message
			in the following format:
              IP address:  4 octets, ip(1)
              IPX address: 10 octets, ipx(2)
                     First 4-octet as the network number
                     Second 6-octet as the host number
              Appletalk address: 3 octets, appletalk(3)
                     First 2-octet as the network number
                     Second 1-octet as the host number"
    ::= { snFdpCachedAddressEntry 5 }

END
HP-SN-IP-VRRP-MIB DEFINITIONS ::= BEGIN


-- Foundry SnRouter Group MIB Release 1.0.0
-- Revision 0 1/7/97
-- Revision 1 6/5/02
-- Revision 2 08/10/02

-- Copyright 1996-97 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base 
-- 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

IMPORTS
	IpAddress, Counter
		FROM RFC1155-SMI
	OBJECT-TYPE             
		FROM RFC-1212
	ifIndex FROM IF-MIB
		
    snVrrp FROM HP-SN-ROOT-MIB ;

	MacAddress ::=
	      OCTET STRING (SIZE(6))
	  -- This data type is used to model media addresses.  For many
	  -- types of media, this will be in a binary representation.
	  -- For example, an ethernet address would be represented as
	  -- a string of 6 octets.

snVrrpGlobal 	OBJECT IDENTIFIER ::= { snVrrp 1 }
snVrrpIntf 		OBJECT IDENTIFIER ::= { snVrrp 2 }
snVrrpVirRtr 	OBJECT IDENTIFIER ::= { snVrrp 3 }
snVrrpIntf2 	OBJECT IDENTIFIER ::= { snVrrp 4 }
snVrrpVirRtr2 	OBJECT IDENTIFIER ::= { snVrrp 5 }


-- VRRP and VRRP-Extended MIBs

--  Section 1:	VRRP Global Variables

snVrrpGroupOperMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The VRRP is configured on this system
		 either enabled or disabled and the
		 default is disabled mode.
		 disabled(0)..........disable VRRP   
		 enabled(1)...........activate VRRP"
	::= { snVrrpGlobal 1 }

snVrrpIfStateChangeTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate vrrp and vrrpe interface state change
		traps."
    DEFVAL { enabled }
	::= { snVrrpGlobal 2 }

snVrrpIfMaxNumVridPerIntf OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates the maximum number of VRID per interface."
	::= { snVrrpGlobal 3 }

snVrrpIfMaxNumVridPerSystem OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates the maximum number of VRID per system."
	::= { snVrrpGlobal 4 }

snVrrpClearVrrpStat OBJECT-TYPE
	SYNTAX	INTEGER { normal(0), clear(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Clear VRRP statistics command."
	::= { snVrrpGlobal 5 }

snVrrpGroupOperModeVrrpextended OBJECT-TYPE 
    SYNTAX  INTEGER {   disabled(0), enabled(1) }
    ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION "The VRRP_extended is configured on this system either enabled 
        or disabled and the default is disabled mode.
		 disabled(0)..........disable VRRP extended   
		 enabled(1)...........activate VRRP extended" 
	::= { snVrrpGlobal 6 }
	

--  Section 2:	VRRP Interface Table
--  The following table is deprecated by snVrrpIf2Table, which is 
--  ifIndex based table

snVrrpIfTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF SnVrrpIfEntry
    ACCESS   not-accessible
    STATUS   deprecated
    DESCRIPTION
       "The VRRP Interface Table describes the interfaces from
        the viewpoint of VRRP."
    ::= { snVrrpIntf 1 }

     snVrrpIfEntry OBJECT-TYPE
         SYNTAX   SnVrrpIfEntry
         ACCESS   not-accessible
         STATUS   deprecated
         DESCRIPTION
            "The VRRP Interface Entry describes one interface from
            the viewpoint of VRRP."
         INDEX { snVrrpIfPort }
         ::= { snVrrpIfTable 1 }

     SnVrrpIfEntry ::=
         SEQUENCE {
             snVrrpIfPort
			     INTEGER,
             snVrrpIfAuthType
			     INTEGER,
			 snVrrpIfAuthPassword
			     OCTET STRING,
             snVrrpIfRxHeaderErrCnts
			     Counter,
             snVrrpIfRxAuthTypeErrCnts
			     Counter,
             snVrrpIfRxAuthPwdMismatchErrCnts
			     Counter,
             snVrrpIfRxVridErrCnts
			     Counter
         }


    snVrrpIfPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The IP port of this VRRP interface."
         ::= { snVrrpIfEntry 1 }

    snVrrpIfAuthType OBJECT-TYPE
         SYNTAX   INTEGER { 
         				noAuth(0), 
         				simpleTextPasswd(1), 
						ipAuthHeader(2)
						}
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The authentication type of this interface."
         ::= { snVrrpIfEntry 2 }

    snVrrpIfAuthPassword OBJECT-TYPE
		 SYNTAX	  OCTET STRING (SIZE (0..8))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The simple text password is allowed if only if 
            the snVrrpIfAuthType type is simpleTextPasswd(1)."
         ::= { snVrrpIfEntry 3 }

    snVrrpIfRxHeaderErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received Header error counts in this interface."
         ::= { snVrrpIfEntry 4 }

    snVrrpIfRxAuthTypeErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received authentication type error counts in this interface."
         ::= { snVrrpIfEntry 5 }

    snVrrpIfRxAuthPwdMismatchErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received authentication password mismatched error counts in this interface."
         ::= { snVrrpIfEntry 6 }

    snVrrpIfRxVridErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received unfound VRID error counts in this interface."
         ::= { snVrrpIfEntry 7 }

--  Section 3:	VRRP and VRRP-Extended Interface Table, 
--              this is a modified vrrp/vrrpe interface table with ifIndex.
--              NOTE: Protocols VRRPE and VRRP-Extended are one and the same.

snVrrpIf2Table OBJECT-TYPE
    SYNTAX   SEQUENCE OF SnVrrpIf2Entry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "The VRRP and VRRPE Interface Table describes the interfaces from
        the viewpoint of VRRP and VRRPE."
    ::= { snVrrpIntf2 1 }

     snVrrpIf2Entry OBJECT-TYPE
         SYNTAX   SnVrrpIf2Entry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The VRRP and VRRPE Interface Entry describes one interface from
            the viewpoint of VRRP and VRRPE."
         INDEX { ifIndex}
         ::= { snVrrpIf2Table 1 }

     SnVrrpIf2Entry ::=
         SEQUENCE {
             snVrrpIf2AuthType
			     INTEGER,
			 snVrrpIf2AuthPassword
			     OCTET STRING,
             snVrrpIf2RxHeaderErrCnts
			     Counter,
             snVrrpIf2RxAuthTypeErrCnts
			     Counter,
             snVrrpIf2RxAuthPwdMismatchErrCnts
			     Counter,
             snVrrpIf2RxVridErrCnts
			     Counter
         }

    snVrrpIf2AuthType OBJECT-TYPE
         SYNTAX   INTEGER { 
         				noAuth(0), 
         				simpleTextPasswd(1), 
						ipAuthHeader(2)
						}
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The authentication type of this interface."
         ::= { snVrrpIf2Entry 1 }

    snVrrpIf2AuthPassword OBJECT-TYPE
		 SYNTAX	  OCTET STRING (SIZE (0..8))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The simple text password is allowed if only if 
            the snVrrpIf2AuthType type is simpleTextPasswd(1)."
         ::= { snVrrpIf2Entry 2 }

    snVrrpIf2RxHeaderErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received Header error counts in this interface."
         ::= { snVrrpIf2Entry 3 }

    snVrrpIf2RxAuthTypeErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received authentication type error counts in this interface."
         ::= { snVrrpIf2Entry 4 }

    snVrrpIf2RxAuthPwdMismatchErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received authentication password mismatched error counts in this interface."
         ::= { snVrrpIf2Entry 5 }

    snVrrpIf2RxVridErrCnts OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received unfound VRID error counts in this interface."
         ::= { snVrrpIf2Entry 6 }

--  Section 4: VRRP virtual Router Configuration Table.

--      The VRRP (Virtual Router Redundancy Protocol) Virtual Router Table augments 
--		with VRRP specific information.
--      The following table is deprecated by snVrrpVirRtr2Table, which is 
--      ifIndex based table 

snVrrpVirRtrTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF SnVrrpVirRtrEntry
    ACCESS   not-accessible
    STATUS   deprecated
    DESCRIPTION
       "The VRRP virtual router Entry describes one virtual router from
        the viewpoint of VRRP."
    ::= { snVrrpVirRtr 1 }

     snVrrpVirRtrEntry OBJECT-TYPE
         SYNTAX   SnVrrpVirRtrEntry
         ACCESS   not-accessible
         STATUS   deprecated
         DESCRIPTION
            "The VRRP virtual router Entry describes one virtual router from
            the viewpoint of VRRP."
         INDEX { snVrrpVirRtrPort, snVrrpVirRtrId }
         ::= { snVrrpVirRtrTable 1 }

     SnVrrpVirRtrEntry ::=
         SEQUENCE {
             snVrrpVirRtrPort
			     INTEGER,
             snVrrpVirRtrId
			     INTEGER,
             snVrrpVirRtrOwnership
			     INTEGER,
             snVrrpVirRtrCfgPriority
                 INTEGER,
             snVrrpVirRtrTrackPriority
                 INTEGER,
             snVrrpVirRtrCurrPriority
                 INTEGER,
			 snVrrpVirRtrHelloInt 
				 INTEGER,
			 snVrrpVirRtrDeadInt 
				 INTEGER,
			 snVrrpVirRtrPreemptMode 
				 INTEGER,
			 snVrrpVirRtrState
				 INTEGER,
			 snVrrpVirRtrActivate 
				 INTEGER,
             snVrrpVirRtrIpAddrMask
                 OCTET STRING,
             snVrrpVirRtrTrackPortMask
                 OCTET STRING,
             snVrrpVirRtrTrackVifMask
                 OCTET STRING,
			 snVrrpVirRtrRowStatus 
				 INTEGER,
			 snVrrpVirRtrRxArpPktDropCnts 
				 Counter,
			 snVrrpVirRtrRxIpPktDropCnts 
				 Counter,
			 snVrrpVirRtrRxPortMismatchCnts 
				 Counter,
			 snVrrpVirRtrRxNumOfIpMismatchCnts 
				 Counter,
			 snVrrpVirRtrRxIpMismatchCnts 
				 Counter,
			 snVrrpVirRtrRxHelloIntMismatchCnts 
				 Counter,
			 snVrrpVirRtrRxPriorityZeroFromMasterCnts 
				 Counter,
			 snVrrpVirRtrRxHigherPriorityCnts 
				 Counter,
			 snVrrpVirRtrTransToMasterStateCnts 
				 Counter,
			 snVrrpVirRtrTransToBackupStateCnts 
				 Counter,
			 snVrrpVirRtrCurrDeadInt 
				 INTEGER,
             snVrrpVirRtrTrackPortList
                 OCTET STRING,
             snVrrpVirRtrTrackVifPortList
                 OCTET STRING
         }


    snVrrpVirRtrPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The IP port of this VRRP interface."
         ::= { snVrrpVirRtrEntry 1 }

    snVrrpVirRtrId OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "One of the virtual router ID of this VRRP interface."
         ::= { snVrrpVirRtrEntry 2 }

    snVrrpVirRtrOwnership OBJECT-TYPE
	     SYNTAX   INTEGER {
					incomplete(0),
					owner(1),
					backup(2)
					}
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The ownership of this VRRP router interface 
            can be set either owner(1) or backup(2).  
            VirRtr SNMP-GET returns incomplete(0), it means 
            no IP address has assigned to this VRRP router interface."
         ::= { snVrrpVirRtrEntry 3 }

     snVrrpVirRtrCfgPriority OBJECT-TYPE
         SYNTAX   INTEGER (3..254)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The higher the number the higher the priority is.
            This parameter decides which backup router should becomes
            the Active Router for the interface.  A backup Router with
            higher priority selected to becomes the Active Router.
            Therefore, this Object can be set if only if snVrrpVirRtrOwnership
            is set to backup(2)."
         DEFVAL { 100 }
         ::= { snVrrpVirRtrEntry 4 }

     snVrrpVirRtrTrackPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The higher the number the higher the priority is.
            after this object is configured, the snVrrpVirRtrCurrPriority 
            of this interface will be adjusted dynamically with this
			track priority when the Track Port states first
            changes from UP to DOWN."
         ::= { snVrrpVirRtrEntry 5 }

     snVrrpVirRtrCurrPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The higher the number the higher the priority is.
            This object will be adjusted dynamically with the
			track priority when the Track Port states first
            changes from UP to DOWN."
         ::= { snVrrpVirRtrEntry 6 }

     snVrrpVirRtrHelloInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "Time interval between advertisements (seconds)."
         DEFVAL { 1 }
         ::= { snVrrpVirRtrEntry 7 }

     snVrrpVirRtrDeadInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "Dead interval (seconds)."
         DEFVAL { 1 }
         ::= { snVrrpVirRtrEntry 8 }

     snVrrpVirRtrPreemptMode OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This mode controls whether a higher priority Backup router
            preempts a lower priority Master.  The mode with enabled(1)
            allow preemption and disabled(0) prohibit preemption."
         DEFVAL { enabled }
         ::= { snVrrpVirRtrEntry 9 }

	 snVrrpVirRtrState OBJECT-TYPE
	     SYNTAX   INTEGER {
					init(0),
					master(1),
					backup(2)
				  }
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the VRRP Router's interface state as:
            init(0)...initialization state.
            master(1)...master state.
            backup(2)...backup state."
         ::= { snVrrpVirRtrEntry 10 }

	 snVrrpVirRtrActivate OBJECT-TYPE
	     SYNTAX   INTEGER {
					disabled(0),
					enabled(1)
				  }
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the VRRP Router's activate command as:
            disabled(0)...deactivate this VRRP Router.
            enabled(1)....activate this VRRP Router."
         ::= { snVrrpVirRtrEntry 11 }

    snVrrpVirRtrIpAddrMask OBJECT-TYPE
		 SYNTAX  OCTET STRING (SIZE(64))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The numbers of IP Addresses of this virtual router of this interface."
         ::= { snVrrpVirRtrEntry 12 }

     snVrrpVirRtrTrackPortMask OBJECT-TYPE
		 SYNTAX  OCTET STRING (SIZE(4..32))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the identity of the physical port
			whose state is to be monitored.  Each bit is a port of
			the system. Default value is 0.  VirRtr this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The Chassis/Stackable router VRRP Track port membership.
            The size of the OCTET STRING for Chassis is 32.
            The size of the OCTET STRING for Stackable is 4.
            (It was obsoleted after release 07100, replaced by snVrrpVirRtrTrackPortList)"
         ::= { snVrrpVirRtrEntry 13 }

     snVrrpVirRtrTrackVifMask OBJECT-TYPE
		 SYNTAX  OCTET STRING (SIZE(4..512))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the identity of the virtual interface 
            whose state is to be monitored.  Each bit is a port of
			the system. Default value is 0.  VirRtr this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The Chassis/Stackable router VRRP Track port membership
            The size of the OCTET STRING for Chassis is 8.
            The size of the OCTET STRING for Stackable is 4.
            (It was obsoleted after release 07100, replaced by snVrrpVirRtrTrackVifPortList)"
         ::= { snVrrpVirRtrEntry 14 }

     snVrrpVirRtrRowStatus OBJECT-TYPE
	     SYNTAX   INTEGER {
					invalid(1),
					valid(2),
					delete(3),
					create(4),
					modify(5)
				  }
		 ACCESS   read-write
	     STATUS   deprecated
		 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 existing row

		     VirRtr 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"
	     ::= { snVrrpVirRtrEntry 15 }

	 snVrrpVirRtrRxArpPktDropCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received VRRP ARP Packet Drop Counts."
         ::= { snVrrpVirRtrEntry 16 }

	 snVrrpVirRtrRxIpPktDropCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received VRRP IP Packet Drop Counts."
         ::= { snVrrpVirRtrEntry 17 }

	 snVrrpVirRtrRxPortMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received VRRP Port mismatching Counts."
         ::= { snVrrpVirRtrEntry 18 }

	 snVrrpVirRtrRxNumOfIpMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received VRRP Number of IP Addresses mismatching Counts."
         ::= { snVrrpVirRtrEntry 19 }

	 snVrrpVirRtrRxIpMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The received VRRP IP Address mismatching Counts."
         ::= { snVrrpVirRtrEntry 20 }

	 snVrrpVirRtrRxHelloIntMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
  			"The counts of the virtual router interface with hello interval mismatch counts."
         ::= { snVrrpVirRtrEntry 21 }

	 snVrrpVirRtrRxPriorityZeroFromMasterCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
  			"The counts of the virtual router interface with Priority zero from the master."
         ::= { snVrrpVirRtrEntry 22 }

	 snVrrpVirRtrRxHigherPriorityCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
  			"The counts of the virtual router interface with higher Priority."
         ::= { snVrrpVirRtrEntry 23 }

	 snVrrpVirRtrTransToMasterStateCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
  			"The counts of the virtual router interface transition to master state."
         ::= { snVrrpVirRtrEntry 24 }

	 snVrrpVirRtrTransToBackupStateCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
  			"The counts of the virtual router interface transition to backup state."
         ::= { snVrrpVirRtrEntry 25 }

     snVrrpVirRtrCurrDeadInt OBJECT-TYPE
         SYNTAX   INTEGER 
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "Current Dead interval (in 100 milliseconds)."
         ::= { snVrrpVirRtrEntry 26 }

     snVrrpVirRtrTrackPortList OBJECT-TYPE
		 SYNTAX  OCTET STRING
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the identity of the physical port
			whose state is to be monitored.  Each port index is a
			16-bit integer in big endian order. 8-bit is the slot
			number, the other 8-bit is the port number. Default value
			is 0 length octet string.  If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The router VRRP physical track port membership."
         ::= { snVrrpVirRtrEntry 27 }

     snVrrpVirRtrTrackVifPortList OBJECT-TYPE
		 SYNTAX  OCTET STRING
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the identity of the virtual interface 
            whose state is to be monitored.  Each port index is a
			16-bit integer in big endian order.  Default value
			is 0 length octet string.  If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The router VRRP virtual port track membership."
         ::= { snVrrpVirRtrEntry 28 }


--  Section 5: VRRP and VRRPE Virtual Router Configuration Table,  ifIndex based

--      The VRRP(Virtual Router Redundancy Protocol, rfc 2338 based, made an 
--      enhancement!) and VRRPE (Virtual Router Redundancy Protocol hp extended)
--      configuration.
--      Added snVrrpVirRtr2CurrDeadInt, snVrrpVirRtr2AdvertiseBackup, SnVrrpVirRtr2VirtualMacAddr
--      SnVrrpVirRtr2IpAddrCount, SnVrrpVirRtr2MasterIpAddr as new objects
--      and deleted port masks objects and virtual interface track port list.

snVrrpVirRtr2Table OBJECT-TYPE
    SYNTAX   SEQUENCE OF SnVrrpVirRtr2Entry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "The Vrrp and Vrrpe virtual router Entry describes one virtual router from
        the viewpoint of Vrrp and Vrrpe."
    ::= { snVrrpVirRtr2 1 }

     snVrrpVirRtr2Entry OBJECT-TYPE
         SYNTAX   SnVrrpVirRtr2Entry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The Vrrp and Vrrpe virtual router Entry describes one virtual router from
            the viewpoint of Vrrp and Vrrpe."
         INDEX { ifIndex, snVrrpVirRtr2Id }
         ::= { snVrrpVirRtr2Table 1 }

     SnVrrpVirRtr2Entry ::=
         SEQUENCE {
             snVrrpVirRtr2Id
			     INTEGER,
             snVrrpVirRtr2Ownership
			     INTEGER,
             snVrrpVirRtr2CfgPriority
                 INTEGER,
             snVrrpVirRtr2TrackPriority
                 INTEGER,
             snVrrpVirRtr2CurrPriority
                 INTEGER,
			 snVrrpVirRtr2HelloInt 
				 INTEGER,
			 snVrrpVirRtr2DeadInt 
				 INTEGER,
			 snVrrpVirRtr2PreemptMode 
				 INTEGER,
			 snVrrpVirRtr2State
				 INTEGER,
             snVrrpVirRtr2IpAddrMask
                 OCTET STRING,
			 snVrrpVirRtr2Activate 
				 INTEGER,
			 snVrrpVirRtr2BackupInt
				 INTEGER,
			 snVrrpVirRtr2RowStatus 
				 INTEGER,
			 snVrrpVirRtr2RxArpPktDropCnts 
				 Counter,
			 snVrrpVirRtr2RxIpPktDropCnts 
				 Counter,
			 snVrrpVirRtr2RxPortMismatchCnts 
				 Counter,
			 snVrrpVirRtr2RxNumOfIpMismatchCnts 
				 Counter,
			 snVrrpVirRtr2RxIpMismatchCnts 
				 Counter,
			 snVrrpVirRtr2RxHelloIntMismatchCnts 
				 Counter,
			 snVrrpVirRtr2RxPriorityZeroFromMasterCnts 
				 Counter,
			 snVrrpVirRtr2RxHigherPriorityCnts 
				 Counter,
			 snVrrpVirRtr2TransToMasterStateCnts 
				 Counter,
			 snVrrpVirRtr2TransToBackupStateCnts 
				 Counter,
			 snVrrpVirRtr2CurrDeadInt 
				 INTEGER,
             snVrrpVirRtr2TrackPortList
                 OCTET STRING,
			 snVrrpVirRtr2AdvertiseBackup 
				 INTEGER,
             snVrrpVirRtr2MasterIpAddr
                 IpAddress,
             snVrrpVirRtr2IpAddrCount
                 INTEGER,
             snVrrpVirRtr2VirtualMacAddr
                 MacAddress
         }
     
    snVrrpVirRtr2Id OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "One of the virtual router ID of this Vrrp and Vrrpe interface."
         ::= { snVrrpVirRtr2Entry 1 }

    snVrrpVirRtr2Ownership OBJECT-TYPE
	     SYNTAX   INTEGER {
					incomplete(0),
					owner(1),
					backup(2)
					}
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The ownership of this Vrrp router interface 
            can be set either owner(1) or backup(2).  
            VirRtr SNMP-GET returns incomplete(0), it means 
            no IP address has assigned to this Vrrp router interface.
            vrrpe protocol has no owner(1), can only be set to backup(2) or incomplete(0)."
         ::= { snVrrpVirRtr2Entry 2 }

     snVrrpVirRtr2CfgPriority OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
         "This object specifies the priority to be used for the
         virtual router master election process. Higher values imply
         higher priority.

         A priority of '0', although not settable, is sent by
         the master router to indicate that this router has ceased
         to participate in VRRP and a backup virtual router should
         transition  to become a new master.

         A priority of 255 is only for VRRP - owner. Not valid for number to 
         configure VRRPE."
         DEFVAL { 100 }
         ::= { snVrrpVirRtr2Entry 3 }

     snVrrpVirRtr2TrackPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The higher the number the higher the priority is.
            after this object is configured, the snVrrpVirRtr2CurrPriority 
            of this interface will be adjusted dynamically with this
			track priority when the Track Port states first
            changes from UP to DOWN."
         ::= { snVrrpVirRtr2Entry 4 }

     snVrrpVirRtr2CurrPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The higher the number the higher the priority is.
            This object will be adjusted dynamically with the
			track priority when the Track Port states first
            changes from UP to DOWN."
         ::= { snVrrpVirRtr2Entry 5 }

     snVrrpVirRtr2HelloInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Time interval between advertisements (seconds)."
         DEFVAL { 1 }
         ::= { snVrrpVirRtr2Entry 6 }

     snVrrpVirRtr2DeadInt OBJECT-TYPE
         SYNTAX   INTEGER (0..84)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Dead interval (seconds)."
         DEFVAL { 1 }
         ::= { snVrrpVirRtr2Entry 7 }

     snVrrpVirRtr2PreemptMode OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This mode controls whether a higher priority Backup router
            preempts a lower priority Master.  The mode with enabled(1)
            allow preemption and disabled(0) prohibit preemption."
         DEFVAL { enabled }
         ::= { snVrrpVirRtr2Entry 8 }

	 snVrrpVirRtr2State OBJECT-TYPE
	     SYNTAX   INTEGER {
					init(0),
					master(1),
					backup(2)
				  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the Vrrp and vrrpe Router's interface state as:
            init(0)...initialization state.
            master(1)...master state.
            backup(2)...backup state."
         ::= { snVrrpVirRtr2Entry 9}

    snVrrpVirRtr2IpAddrMask OBJECT-TYPE
		 SYNTAX  OCTET STRING (SIZE(64))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The numbers of IP Addresses of this virtual router of this interface."
         ::= { snVrrpVirRtr2Entry 10 }

	 snVrrpVirRtr2Activate OBJECT-TYPE
	     SYNTAX   INTEGER {
					disabled(0),
					enabled(1)
				  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the Vrrp Router's activate command as:
            disabled(0)...deactivate this Vrrp and Vrrpe Routers.
            enabled(1)....activate this Vrrp and Vrrpe Routers."
         ::= { snVrrpVirRtr2Entry 11 }

     snVrrpVirRtr2BackupInt OBJECT-TYPE
         SYNTAX   INTEGER (60..3600)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Time interval between backup routers hello message advertisements (seconds)."
         DEFVAL { 60 }
         ::= { snVrrpVirRtr2Entry 12 }

    snVrrpVirRtr2RowStatus 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 existing row

		     VirRtr 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"
	     ::= { snVrrpVirRtr2Entry 13 }

	 snVrrpVirRtr2RxArpPktDropCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received Vrrp and Vrrpe ARP Packet Drop Counts."
         ::= { snVrrpVirRtr2Entry 14 }

	 snVrrpVirRtr2RxIpPktDropCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received Vrrp and Vrrpe IP Packet Drop Counts."
         ::= { snVrrpVirRtr2Entry 15 }

	 snVrrpVirRtr2RxPortMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received Vrrp and Vrrpe Port mismatching Counts."
         ::= { snVrrpVirRtr2Entry 16 }

	 snVrrpVirRtr2RxNumOfIpMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received Vrrp and Vrrpe Number of IP Addresses mismatching Counts."
         ::= { snVrrpVirRtr2Entry 17 }

	 snVrrpVirRtr2RxIpMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received Vrrp and Vrrpe IP Address mismatching Counts."
         ::= { snVrrpVirRtr2Entry 18 }

	 snVrrpVirRtr2RxHelloIntMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface with hello interval mismatch counts."
         ::= { snVrrpVirRtr2Entry 19 }

	 snVrrpVirRtr2RxPriorityZeroFromMasterCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface with Priority zero from the master."
         ::= { snVrrpVirRtr2Entry 20 }

	 snVrrpVirRtr2RxHigherPriorityCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface with higher Priority."
         ::= { snVrrpVirRtr2Entry 21 }

	 snVrrpVirRtr2TransToMasterStateCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface transition to master state."
         ::= { snVrrpVirRtr2Entry 22 }

	 snVrrpVirRtr2TransToBackupStateCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface transition to backup state."
         ::= { snVrrpVirRtr2Entry 23 }

     snVrrpVirRtr2CurrDeadInt OBJECT-TYPE
         SYNTAX   INTEGER 
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Current Dead interval (in 100 milliseconds)."
         ::= { snVrrpVirRtr2Entry 24 }

     snVrrpVirRtr2TrackPortList OBJECT-TYPE
		 SYNTAX  OCTET STRING
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the identity of the physical port and virtual ports
			whose state is to be monitored.  Each port index is 
			an ifIndex, if there are consecutive 4 or more ifIndex then
			they will be encoded like below. 
            Encoding and decoding scheme is range based:
            Each range prefix with 0000 (2 octets) where 0000 is not valid 
            ifIndex. Next 2 octets indicates lower range ifIndex, followed by 2 
            octets of higher range ifIndex. Individual(non range) ones will be displayed as it is.
            Ex:
            port list: 0001..0005 0015 0032..0047
            Port list in PDU:  0000 0001 0005 000f 0000 0020 002f.
			If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The router VRRP and VRRP-E physical track port membership."
         ::= { snVrrpVirRtr2Entry 25 }

     snVrrpVirRtr2AdvertiseBackup OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Set Advertise this backup router to master "
         DEFVAL { disabled }
         ::= { snVrrpVirRtr2Entry 26 }

     snVrrpVirRtr2MasterIpAddr OBJECT-TYPE
         SYNTAX       IpAddress
         ACCESS       read-only
         STATUS       mandatory
         DESCRIPTION
             "The master router's real/virtual (primary) IP address. This is
             the IP address listed as the source in VRRP and VRRPE advertisement
             last received by this virtual router."
         ::= { snVrrpVirRtr2Entry 27 }

     snVrrpVirRtr2IpAddrCount OBJECT-TYPE
         SYNTAX       INTEGER (0..255)
         ACCESS       read-only
         STATUS       mandatory
         DESCRIPTION
             "The number of IP addresses that are associated with this
             virtual router. This number is equal to the number of rows
             in the vrrpAssoIpAddrTable that correspond to a given IF
             index/VRID pair."
         ::= { snVrrpVirRtr2Entry 28 }

     snVrrpVirRtr2VirtualMacAddr OBJECT-TYPE
         SYNTAX       MacAddress
         ACCESS       read-only
         STATUS       mandatory
         DESCRIPTION
             "The virtual MAC address of the virtual router. Although this
             object can be derived from the 'snVrrpVirRtr2VrId' object, it is
             defined so that it is easily obtainable by a management
             application and can be included in VRRP-related SNMP traps."
         ::= { snVrrpVirRtr2Entry 29 }

END	  

HP-SN-VSRP-MIB DEFINITIONS ::= BEGIN
-- Foundry SnRouter Group MIB Release 1.0.0
-- Revision 1 6/5/02
-- Revision 2 08/15/02
-- Copyright 1996-97 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base 
-- 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

IMPORTS

	Counter FROM RFC1155-SMI 
	IpAddress, Counter	FROM RFC1155-SMI 

	snVsrp	FROM HP-SN-SWITCH-GROUP-MIB;
		
	MacAddress ::=
	      OCTET STRING (SIZE(6))
	  -- This data type is used to model media addresses.  For many
	  -- types of media, this will be in a binary representation.
	  -- For example, an ethernet address would be represented as
	  -- a string of 6 octets.

snVsrpGlobal 	OBJECT IDENTIFIER ::= { snVsrp 1 } 
snVsrpIfIntf 	OBJECT IDENTIFIER ::= { snVsrp 2 }
snVsrpVirRtr 	OBJECT IDENTIFIER ::= { snVsrp 3 }

--  Section 1:	VSRP Global Variables

snVsrpGroupOperModeVsrp OBJECT-TYPE 
    SYNTAX  INTEGER 
        {   disabled(0),             
		    enabled(1)
		} 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION "The VSRP is configured on this system either enabled or 
        disabled and thedefault is disabled mode.
		 disabled(0)..........disable VSRP   
		 enabled(1)...........activate VSRP" 
	::= { snVsrpGlobal 1 } 
	
snVsrpIfStateChangeTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate VSRP interface state change
		traps."
    DEFVAL { enabled }
	::= { snVsrpGlobal 2 }

snVsrpIfMaxNumVridPerIntf OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates the maximum number of VRID per interface."
	::= { snVsrpGlobal 3 }

snVsrpIfMaxNumVridPerSystem OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates the maximum number of VRID per system."
	::= { snVsrpGlobal 4 }

snVsrpClearVrrpStat OBJECT-TYPE
	SYNTAX	INTEGER { normal(0), clear(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Clear VSRP statistics command."
	::= { snVsrpGlobal 5 }

	 
--  Section 2:	VSRP  Interface Table, new table with vlan_id as an index, 

snVsrpIfTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF SnVsrpIfEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "The VSRP Interface Table describes the interfaces from
        the viewpoint of VSRP."
    ::= { snVsrpIfIntf 1 }

     snVsrpIfEntry OBJECT-TYPE
         SYNTAX   SnVsrpIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The VSRP Interface Entry describes one interface from
            the viewpoint of VSRP."
         INDEX { snVsrpIfVlanId}
         ::= { snVsrpIfTable 1 }

     SnVsrpIfEntry ::=
         SEQUENCE {
             snVsrpIfVlanId
 		 		INTEGER,
             snVsrpIfAuthType
			     INTEGER,
			 snVsrpIfAuthPassword
			     OCTET STRING
         }

     snVsrpIfVlanId OBJECT-TYPE
 		 SYNTAX  INTEGER
 		 ACCESS  read-only
 		 STATUS  mandatory
         DESCRIPTION
            "Vlan index."
         ::= { snVsrpIfEntry 1 }

    snVsrpIfAuthType OBJECT-TYPE
         SYNTAX   INTEGER { 
         				noAuth(0), 
         				simpleTextPasswd(1), 
						ipAuthHeader(2)
						}
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The authentication type of this interface."
         ::= { snVsrpIfEntry 2 }

    snVsrpIfAuthPassword OBJECT-TYPE
		 SYNTAX	  OCTET STRING (SIZE (0..7))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The simple text password is allowed if only if 
            the snVsrpIfAuthType type is simpleTextPasswd."
         ::= { snVsrpIfEntry 3 }

	 
--  Section 3: VSRP Virtual Router Configuration Table
--  The vsrp Virtual Router Table augments with vsrp specific information.

snVsrpVirRtrTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF SnVsrpVirRtrEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "The vsrp virtual router Entry describes one virtual router from
        the viewpoint of vsrp."
    ::= { snVsrpVirRtr 1 }

     snVsrpVirRtrEntry OBJECT-TYPE
         SYNTAX   SnVsrpVirRtrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The vsrp virtual router Entry describes one virtual router from
            the viewpoint of vsrp."
         INDEX { snVsrpVirRtrVlanId, snVsrpVirRtrId }
         ::= { snVsrpVirRtrTable 1 }

     SnVsrpVirRtrEntry ::=
         SEQUENCE {
              snVsrpVirRtrVlanId
 		 		INTEGER,
             snVsrpVirRtrId
			     INTEGER,
             snVsrpVirRtrOwnership
			     INTEGER,
             snVsrpVirRtrCfgPriority
                 INTEGER,
             snVsrpVirRtrTrackPriority
                 INTEGER,
             snVsrpVirRtrCurrPriority
                 INTEGER,
			 snVsrpVirRtrHelloInt 
				 INTEGER,
			 snVsrpVirRtrDeadInt 
				 INTEGER,
			 snVsrpVirRtrPreemptMode 
				 INTEGER,
			 snVsrpVirRtrState
				 INTEGER,
			snVsrpVirRtrIpAddrMask
				OCTET STRING,
			 snVsrpVirRtrActivate 
				 INTEGER,
             snVsrpVirRtrTrackPortList
                 OCTET STRING,
			 snVsrpVirRtrAdvertiseBackup 
				 INTEGER,
			 snVsrpVirRtrHoldDownInt 
				 INTEGER,
			 snVsrpVirRtrInitTtl
				 INTEGER,
             snVsrpVirRtrIncPortList
                 OCTET STRING,
			 snVsrpVirRtrSave
				 INTEGER,
			 snVsrpVirRtrBackupInt
				 INTEGER,
			 snVsrpVirRtrRowStatus 
				 INTEGER,
			 snVsrpVirRtrRxArpPktDropCnts 
				 Counter,
			 snVsrpVirRtrRxIpPktDropCnts 
				 Counter,
			 snVsrpVirRtrRxPortMismatchCnts 
				 Counter,
			 snVsrpVirRtrRxNumOfIpMismatchCnts 
				 Counter,				 
			 snVsrpVirRtrRxIpMismatchCnts 
				 Counter,
			 snVsrpVirRtrRxHelloIntMismatchCnts 
				 Counter,
			 snVsrpVirRtrRxPriorityZeroFromMasterCnts 
				 Counter,
			 snVsrpVirRtrRxHigherPriorityCnts 
				 Counter,
			 snVsrpVirRtrTransToMasterStateCnts 
				 Counter,
			 snVsrpVirRtrTransToBackupStateCnts 
				 Counter,
			 snVsrpVirRtrCurrDeadInt 
				 INTEGER,
			 snVsrpVirRtrCurHelloInt 
				 INTEGER,
			 snVsrpVirRtrCurHoldDownInt 
				 INTEGER,
			 snVsrpVirRtrCurInitTtl
				 INTEGER,
			snVsrpVirRtrHelloMacAddress
				MacAddress,
		    snVsrpVirRtrMasterIpAddr
				 IpAddress
       }
       
     snVsrpVirRtrVlanId OBJECT-TYPE
 		 SYNTAX  INTEGER
 		 ACCESS  read-only
 		 STATUS  mandatory
         DESCRIPTION
            "Vlan index."
         ::= { snVsrpVirRtrEntry 1 }
         
    snVsrpVirRtrId OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "One of the virtual router ID of this vsrp interface."
         ::= { snVsrpVirRtrEntry 2 }

    snVsrpVirRtrOwnership OBJECT-TYPE
	     SYNTAX   INTEGER {
					incomplete(0),
					owner(1),
					backup(2)
					}
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The ownership of this vsrp router interface 
            can be set to backup(2).  
            VirRtr SNMP-GET returns incomplete(0), it means 
            no IP address has assigned to this vsrp router interface."
         ::= { snVsrpVirRtrEntry 3 }

     snVsrpVirRtrCfgPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The higher the number the higher the priority is.
            This parameter decides which backup router should becomes
            the Active Router for the interface.  A backup Router with
            higher priority selected to becomes the Active Router.
            Therefore, this Object can be set if only if snVsrpVirRtrOwnership
            is set to backup(2)."
         DEFVAL { 100 }
         ::= { snVsrpVirRtrEntry 4 }

     snVsrpVirRtrTrackPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The higher the number the higher the priority is.
            after this object is configured, the snVsrpVirRtrCurrPriority 
            of this interface will be adjusted dynamically with this
			track priority when the Track Port states first
            changes from UP to DOWN."
         ::= { snVsrpVirRtrEntry 5 }

     snVsrpVirRtrCurrPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..254)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The higher the number the higher the priority is.
            This object will be adjusted dynamically with the
			track priority when the Track Port states first
            changes from UP to DOWN."
         ::= { snVsrpVirRtrEntry 6 }

     snVsrpVirRtrHelloInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Time interval between advertisements (seconds)."
         DEFVAL { 1 }
         ::= { snVsrpVirRtrEntry 7 }

     snVsrpVirRtrDeadInt OBJECT-TYPE
         SYNTAX   INTEGER (0..84)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Dead interval (seconds)."
         DEFVAL { 1 }
         ::= { snVsrpVirRtrEntry 8 }

     snVsrpVirRtrPreemptMode OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This mode controls whether a higher priority Backup router
            preempts a lower priority Master.  The mode with enabled(1)
            allow preemption and disabled(0) prohibit preemption."
         DEFVAL { enabled }
         ::= { snVsrpVirRtrEntry 9 }

	 snVsrpVirRtrState OBJECT-TYPE
	     SYNTAX   INTEGER {
					init(0),
					master(1),
					backup(2)
				  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the vsrp Router's interface state as:
            init(0)...initialization state.
            master(1)...master state.
            backup(2)...backup state."
         ::= { snVsrpVirRtrEntry 10 }

    snVsrpVirRtrIpAddrMask OBJECT-TYPE
		 SYNTAX  OCTET STRING (SIZE(64))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The numbers of IP Addresses of this virtual router of this 
            interface, this holds good for L3 vsrp."
         ::= { snVsrpVirRtrEntry 11 }

	 snVsrpVirRtrActivate OBJECT-TYPE
	     SYNTAX   INTEGER {
					disabled(0),
					enabled(1)
				  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the vsrp Router's activate command as:
            disabled(0)...deactivate this vsrp Router.
            enabled(1)....activate this vsrp Router."
         ::= { snVsrpVirRtrEntry 12 }

     snVsrpVirRtrTrackPortList OBJECT-TYPE
		 SYNTAX  OCTET STRING
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the identity of the physical port and virtual ports
			whose state is to be monitored.  Each port index is 
			an ifIndex, if there are consecutive 4 or more ifIndex then
			they will be encoded like below. 
            Encoding and decoding scheme is range based:
            Each range prefix with 0000 (2 octets) where 0000 is not valid 
            ifIndex. Next 2 octets indicates lower range ifIndex, followed by 2 
            octets of higher range ifIndex. Individual(non range) ones will be displayed as it is.
            Ex:
            port list: 0001..0005 0015 0032..0047
            Port list in PDU:  0000 0001 0005 000f 0000 0020 002f.
			If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The router VSRP physical track port membership."
         ::= { snVsrpVirRtrEntry 13 }

     snVsrpVirRtrAdvertiseBackup OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Set Advertise this backup router to master "
         DEFVAL { disabled }
         ::= { snVsrpVirRtrEntry 14 }			  
         
	snVsrpVirRtrHoldDownInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "VSRP protection mechanism, an extra delay for a switch in
            backup mode to upgrade itself to master mode"
         DEFVAL { 2 }
         ::= { snVsrpVirRtrEntry 15 }

     snVsrpVirRtrInitTtl OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "VSRP:TTL in the hello packet to regulate the distance that a hello packet 
            can travel. It prevents the flooding of VSRP hello packets in the network"
         DEFVAL { 2 }
         ::= { snVsrpVirRtrEntry 16 }

     snVsrpVirRtrIncPortList OBJECT-TYPE
		 SYNTAX  OCTET STRING
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Include all free ports of the VLAN into its control ports"
         ::= { snVsrpVirRtrEntry 17 }

     snVsrpVirRtrSave OBJECT-TYPE
         SYNTAX   INTEGER { disabled(0), enabled(1) }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Set VSRP to save current parameters value"
         DEFVAL { disabled }
         ::= { snVsrpVirRtrEntry 18 }

     snVsrpVirRtrBackupInt OBJECT-TYPE
         SYNTAX   INTEGER (60..3600)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Time interval between backup routers hello message advertisements (seconds)."
         DEFVAL { 60 }
         ::= { snVsrpVirRtrEntry 19 }
         
    snVsrpVirRtrRowStatus 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 existing row

		     VirRtr 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"
	     ::= { snVsrpVirRtrEntry 20}

	 snVsrpVirRtrRxArpPktDropCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received vsrp ARP Packet Drop Counts."
         ::= { snVsrpVirRtrEntry 21 }

	 snVsrpVirRtrRxIpPktDropCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received VSRP IP Packet Drop Counts."
         ::= { snVsrpVirRtrEntry 22 }

	 snVsrpVirRtrRxPortMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received vsrp Port mismatching Counts."
         ::= { snVsrpVirRtrEntry 23 }

	 snVsrpVirRtrRxNumOfIpMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received VSRP Number of IP Addresses mismatching Counts."
         ::= { snVsrpVirRtrEntry 24 }

	 snVsrpVirRtrRxIpMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The received vsrp IP Address mismatching Counts."
         ::= { snVsrpVirRtrEntry 25 }

	 snVsrpVirRtrRxHelloIntMismatchCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface with hello interval mismatch counts."
         ::= { snVsrpVirRtrEntry 26 }

	 snVsrpVirRtrRxPriorityZeroFromMasterCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface with Priority zero from the master."
         ::= { snVsrpVirRtrEntry 27 }

	 snVsrpVirRtrRxHigherPriorityCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface with higher Priority."
         ::= { snVsrpVirRtrEntry 28 }

	 snVsrpVirRtrTransToMasterStateCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface transition to master state."
         ::= { snVsrpVirRtrEntry 29 }

	 snVsrpVirRtrTransToBackupStateCnts OBJECT-TYPE
	     SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
  			"The counts of the virtual router interface transition to backup state."
         ::= { snVsrpVirRtrEntry 30 }

     snVsrpVirRtrCurrDeadInt OBJECT-TYPE
         SYNTAX   INTEGER 
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Current Dead interval (in 100 milliseconds)."
         ::= { snVsrpVirRtrEntry 31 }

	snVsrpVirRtrCurHelloInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Set backup router hello interval"
         ::= { snVsrpVirRtrEntry 32 }

	snVsrpVirRtrCurHoldDownInt OBJECT-TYPE
         SYNTAX   INTEGER (1..84)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "VSRP protection mechanism, an extra delay for a switch in
            backup mode to upgrade itself to master mode"
         ::= { snVsrpVirRtrEntry 33 }

     snVsrpVirRtrCurInitTtl OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "VSRP:TTL in the hello packet to regulate the distance that a hello packet 
            can travel. It prevents the flooding of VSRP hello packets in the network"
         ::= { snVsrpVirRtrEntry 34 }

	snVsrpVirRtrHelloMacAddress    OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"Hello MAC address."
		::= { snVsrpVirRtrEntry 35 }

     snVsrpVirRtrMasterIpAddr OBJECT-TYPE
         SYNTAX       IpAddress
         ACCESS       read-only
         STATUS       mandatory
         DESCRIPTION
             "The master router's real/virtual (primary) IP address. This is
             the IP address listed as the source in vsrp advertisement
             last received by this virtual router."
         ::= { snVsrpVirRtrEntry 36 }

		
END		
HP-SN-IPX-MIB DEFINITIONS ::= BEGIN


-- Foundry SnIpx Group MIB Release 1.0.0
-- Revision 0 1/7/97

-- Copyright 1996-97 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base 
-- 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

IMPORTS
    Counter 
        FROM RFC1155-SMI
	OBJECT-TYPE             
		FROM RFC-1212
	snIpx
		FROM HP-SN-ROOT-MIB;

	-- textual conventions


	--  RtrStatus Values

	     RtrStatus ::= INTEGER { disabled(0), enabled(1) }

	--  Clear Status Values

	     ClearStatus ::= INTEGER { normal(0), clear(1) }

	--  Port index

	     PortIndex ::= INTEGER (1..3900)

	--  Action 

		Action ::= INTEGER { deny(0), permit(1) }


        PhysAddress ::= OCTET STRING
    -- This data type is used to model media addresses.  For many
    -- types of media, this will be in a binary representation.
    -- For example, an ethernet address would be represented as
    -- a string of 6 octets.

        NetNumber ::= OCTET STRING (SIZE(4))


-- SECTION 2: MIB 

-- Router IPX MIB

snIpxGen			OBJECT IDENTIFIER ::= { snIpx 1 }
snIpxCache			OBJECT IDENTIFIER ::= { snIpx 2 }
snIpxRoute			OBJECT IDENTIFIER ::= { snIpx 3 }
snIpxServer			OBJECT IDENTIFIER ::= { snIpx 4 }
snIpxFwdFilter		OBJECT IDENTIFIER ::= { snIpx 5 }
snIpxRipFilter		OBJECT IDENTIFIER ::= { snIpx 6 }
snIpxSapFilter		OBJECT IDENTIFIER ::= { snIpx 7 }
snIpxIfFwdAccess	OBJECT IDENTIFIER ::= { snIpx 8 }
snIpxIfRipAccess	OBJECT IDENTIFIER ::= { snIpx 9 }
snIpxIfSapAccess	OBJECT IDENTIFIER ::= { snIpx 10 }
snIpxPortAddr		OBJECT IDENTIFIER ::= { snIpx 11 }
snIpxPortCounters	OBJECT IDENTIFIER ::= { snIpx 12 }

-- IPX General MIBs

snIpxRoutingMode 	     OBJECT-TYPE
	SYNTAX	RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enabled/Disabled System IPX Routing Mode status."
	::= { snIpxGen 1 }

snIpxNetBiosFilterMode		    OBJECT-TYPE
	SYNTAX	RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enabled/Disabled NetBios Filter Mode status."
	::= { snIpxGen 2 }

                
snIpxClearCache 		OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear cache table."
	::= { snIpxGen 3 }

snIpxClearRoute 		OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear ipx route table."
	::= { snIpxGen 4 }

snIpxClearTrafficCnts		OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear ipx all traffic counters.
		 - snIpxRcvPktsCnt, snIpxFwdPktsCnt,
		   snIpxRcvDropPktsCnt, snIpxTxDropPktsCnt,
		   snIpxRcvFiltPktsCnt, snIpxTxFiltPktsCnt."
	::= { snIpxGen 5 }


snIpxRcvPktsCnt 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX incoming packets counter."
	::= { snIpxGen 6 }


snIpxTxPktsCnt 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX Outgoing packets counter."
	::= { snIpxGen 7 }


snIpxFwdPktsCnt 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX forwarding packets counter."
	::= { snIpxGen 8 }

snIpxRcvDropPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX receiving drop packets counter."
	::= { snIpxGen 9 }

snIpxRcvFiltPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX receiving filter packets counter."
	::= { snIpxGen 10 }

snIpxRipGblFiltList    OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(1..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An IPX RIP Global Filter List."
	::= { snIpxGen 11 }

snIpxRipFiltOnAllPort		OBJECT-TYPE
	SYNTAX	 INTEGER {
	    valid(1),
	    deleteAllInBound(2),
	    deleteAllOutBound(3),
	    addAllInBound(4),
	    addAllOutBound(5)
	}
	ACCESS	read-write
	STATUS  mandatory
	DESCRIPTION
	"Apply the IPX RIP Global filter list snIpxRipGblFiltList to 
	 all interfaces. This object is used to add all RIP filter 
	 lists and delete all RIP filter lists to/from all ports.
	 Prior to sending this command, snIpxRipGblFiltList must be ready.
	 The values that can be written are:
     deleteAllInBound(2)...delete all in-bound filter lists from all ports. 
	 deleteAllOutBound(3)..delete all out-bound filter lists from all ports.
	 addAllInBound(4)......add all in-bound filter lists to all ports.
	 addAllOutBound(5).....add all out-bound filter lists to all ports.

	 If set operation is failed, then a SET with
	 value of (2)or(3) returns error 'GenError'. 
	 Deleted(2)&(3) go away immediately. 
	 The following values can be returned on reads:
	 noSuch(0)...no such operation yet.
	 valid(1)....set operation is done and is valid"

	::= { snIpxGen 12 }

snIpxSapGblFiltList    OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(1..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An IPX SAP Global Filter List."
	::= { snIpxGen 13 }


snIpxSapFiltOnAllPort		OBJECT-TYPE
	SYNTAX	 INTEGER {
	    valid(1),
	    deleteAllInBound(2),
	    deleteAllOutBound(3),
	    addAllInBound(4),
	    addAllOutBound(5)
	}
	ACCESS	read-write
	STATUS  mandatory
	DESCRIPTION
	"Apply the IPX SAP Global filter list snIpxSapGblFiltList to 
	 all interfaces. This object is used to add all RIP filter 
	 lists and delete all SAP filter lists to/from all ports.
	 Prior to sending this command, snIpxSapGblFiltList must be ready.
	 The values that can be written are:
     deleteAllInBound(2)...delete all in-bound filter lists from all ports. 
	 deleteAllOutBound(3)..delete all out-bound filter lists from all ports.
	 addAllInBound(4)......add all in-bound filter lists to all ports.
	 addAllOutBound(5).....add all out-bound filter lists to all ports.

	 If set operation is failed, then a SET with
	 value of (2)or(3) returns error 'GenError'. 
	 Deleted(2)&(3) go away immediately. 
	 The following values can be returned on reads:
	 noSuch(0)...no such operation yet.
	 valid(1)....set operation is done and is valid"
	::= { snIpxGen 14 }

snIpxTxDropPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX transmitting drop packets counter."
	::= { snIpxGen 15 }

snIpxTxFiltPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX transmitting filter packets counter."
	::= { snIpxGen 16 }


-- IPX Cache table

snIpxCacheTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX Cache table."
	::= { snIpxCache 1 }

snIpxCacheEntry  OBJECT-TYPE
	SYNTAX	SnIpxCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Cache table."
	INDEX	{ snIpxCacheIndex }
	::= { snIpxCacheTable 1 }

SnIpxCacheEntry ::= SEQUENCE {
	snIpxCacheIndex
		INTEGER,
    snIpxCacheNetNum
        NetNumber,
    snIpxCacheNode
        PhysAddress,
    snIpxCacheOutFilter
        RtrStatus,
    snIpxCacheEncap  
        INTEGER,
	snIpxCachePort
		PortIndex
	}

snIpxCacheIndex  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a IPX Cache entry."
	::= { snIpxCacheEntry 1 }


snIpxCacheNetNum  OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"Cache Network number."
	::= { snIpxCacheEntry 2 }

snIpxCacheNode  OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Cache Node Number."
	::= { snIpxCacheEntry 3 }

snIpxCacheOutFilter	OBJECT-TYPE
	SYNTAX	RtrStatus
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Cache Outbound Filter is ether disabled(0) or enabled(1)."
	::= { snIpxCacheEntry 4 }

snIpxCacheEncap  OBJECT-TYPE
	SYNTAX	 INTEGER {
	    ethernetII(1),
	    ethernet8022(2),
	    ethernet8023(3),
	    ethernetSnap(4)
	}
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The IPX encapsulation frame type."
	::= { snIpxCacheEntry 5 }


snIpxCachePort  OBJECT-TYPE
	SYNTAX	PortIndex
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX Router Port number." 
	::= { snIpxCacheEntry 6 }




-- IPX route table

snIpxRouteTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxRouteEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX route table."
	::= { snIpxRoute 1 }

snIpxRouteEntry  OBJECT-TYPE
	SYNTAX	SnIpxRouteEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX route table."
	INDEX	{ snIpxRouteIndex }
	::= { snIpxRouteTable 1 }

SnIpxRouteEntry ::= SEQUENCE {
	snIpxRouteIndex
		INTEGER,
	snIpxDestNetNum
		NetNumber,
	snIpxFwdRouterNode
		PhysAddress,
	snIpxDestHopCnts
		INTEGER,
	snIpxRouteMetric
		INTEGER,
	snIpxDestPort
	    INTEGER
	}

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

snIpxDestNetNum  OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"Destination Network number."
	::= { snIpxRouteEntry 2 }

snIpxFwdRouterNode  OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Forward Router Node Number."
	::= { snIpxRouteEntry 3 }

snIpxDestHopCnts  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of hops to reach the
		 destination."
	::= { snIpxRouteEntry 4 }

snIpxRouteMetric  OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The metrics to next hop router."
	::= { snIpxRouteEntry 5 }

snIpxDestPort  OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The destination port."
	::= { snIpxRouteEntry 6 }


-- IPX Server table

snIpxServerTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX Server table."
	::= { snIpxServer 1 }

snIpxServerEntry  OBJECT-TYPE
	SYNTAX	SnIpxServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Server table."
	INDEX	{ snIpxServerIndex }
	::= { snIpxServerTable 1 }

SnIpxServerEntry ::= SEQUENCE {
	snIpxServerIndex
		INTEGER,
	snIpxServerType
		INTEGER,
    snIpxServerNetNum
        NetNumber,
    snIpxServerNode
        PhysAddress,
    snIpxServerSocket
        INTEGER,
    snIpxServerHopCnts  
        INTEGER,
	snIpxServerName
		OCTET STRING
	}

snIpxServerIndex  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a IPX Server entry."
	::= { snIpxServerEntry 1 }


snIpxServerType  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX Server Type."
	::= { snIpxServerEntry 2 }

snIpxServerNetNum  OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"Server Network number."
	::= { snIpxServerEntry 3 }

snIpxServerNode  OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Server Node Number."
	::= { snIpxServerEntry 4 }

snIpxServerSocket	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Server Socket Number."
	::= { snIpxServerEntry 5 }

snIpxServerHopCnts  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of intervening networks to reach the
		 server."
	::= { snIpxServerEntry 6 }


snIpxServerName  OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(0..47))
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX Server Name."
	::= { snIpxServerEntry 7 }



-- IPX Forward Filter table

snIpxFwdFilterTable	  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxFwdFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX Forward Filter table."
	::= { snIpxFwdFilter 1 }

snIpxFwdFilterEntry	  OBJECT-TYPE
	SYNTAX	SnIpxFwdFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Forward Filter table."
	INDEX	{ snIpxFwdFilterIdx }
	::= { snIpxFwdFilterTable 1 }

SnIpxFwdFilterEntry ::= SEQUENCE {
	snIpxFwdFilterIdx
		INTEGER,
	snIpxFwdFilterAction
		Action,
	snIpxFwdFilterSocket
		INTEGER,
	snIpxFwdFilterSrcNet
		NetNumber,
	snIpxFwdFilterSrcNode
		PhysAddress,
	snIpxFwdFilterDestNet
		NetNumber,
	snIpxFwdFilterDestNode
		PhysAddress,
	snIpxFwdFilterRowStatus
		INTEGER
	}

snIpxFwdFilterIdx       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The filter ID for a filter entry."
	::= { snIpxFwdFilterEntry 1 }

snIpxFwdFilterAction	  OBJECT-TYPE
	SYNTAX  Action 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ipx packet match
		with this filter."
	::= { snIpxFwdFilterEntry 2 }

snIpxFwdFilterSocket	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"IPX Forward Filter Socket Number."
	::= { snIpxFwdFilterEntry 3 }

snIpxFwdFilterSrcNet	OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source Network Number."
	::= { snIpxFwdFilterEntry 4 }

snIpxFwdFilterSrcNode  OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source Node Number."
	::= { snIpxFwdFilterEntry 5 }

snIpxFwdFilterDestNet	 OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination Network Number."
	::= { snIpxFwdFilterEntry 6 }

snIpxFwdFilterDestNode	OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination Node Number."
	::= { snIpxFwdFilterEntry 7 }

snIpxFwdFilterRowStatus 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"
	::= { snIpxFwdFilterEntry 8 }



-- IPX RIP Filter table

snIpxRipFilterTable	  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxRipFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX RIP Filter table."
	::= { snIpxRipFilter 1 }

snIpxRipFilterEntry	  OBJECT-TYPE
	SYNTAX	SnIpxRipFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX RIP Filter table."
	INDEX	{ snIpxRipFilterId }
	::= { snIpxRipFilterTable 1 }

SnIpxRipFilterEntry ::= SEQUENCE {
	snIpxRipFilterId
		INTEGER,
	snIpxRipFilterAction
		Action,
	snIpxRipFilterNet
		NetNumber,
	snIpxRipFilterMask
		NetNumber,
	snIpxRipFilterRowStatus
		INTEGER
	}

snIpxRipFilterId       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The filter ID for a filter entry."
	::= { snIpxRipFilterEntry 1 }

snIpxRipFilterAction	  OBJECT-TYPE
	SYNTAX  Action 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ipx packet match
		with this filter."
	::= { snIpxRipFilterEntry 2 }

snIpxRipFilterNet    OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"IPX RIP Filter Network number."
	::= { snIpxRipFilterEntry 3 }

snIpxRipFilterMask    OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"IPX RIP Filter Network/Subnet Mask."
	::= { snIpxRipFilterEntry 4 }


snIpxRipFilterRowStatus 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"
	::= { snIpxRipFilterEntry 5 }



-- IPX SAP Filter table

snIpxSapFilterTable	  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxSapFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX SAP Filter table."
	::= { snIpxSapFilter 1 }

snIpxSapFilterEntry	  OBJECT-TYPE
	SYNTAX	SnIpxSapFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX SAP Filter table."
	INDEX	{ snIpxSapFilterId }
	::= { snIpxSapFilterTable 1 }

SnIpxSapFilterEntry ::= SEQUENCE {
	snIpxSapFilterId
		INTEGER,
	snIpxSapFilterAction
		Action,
	snIpxSapFilterType
		INTEGER,
	snIpxSapFilterName
		OCTET STRING,
	snIpxSapFilterRowStatus
		INTEGER
	}

snIpxSapFilterId       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The filter ID for a filter entry."
	::= { snIpxSapFilterEntry 1 }

snIpxSapFilterAction	  OBJECT-TYPE
	SYNTAX  Action 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ipx packet match
		with this filter."
	::= { snIpxSapFilterEntry 2 }

snIpxSapFilterType    OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"IPX SAP Filter type to be matched."
	::= { snIpxSapFilterEntry 3 }

snIpxSapFilterName    OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(0..47))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"IPX SAP Filter Name."  
	::= { snIpxSapFilterEntry 4 }


snIpxSapFilterRowStatus 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"
	::= { snIpxSapFilterEntry 5 }


-- IPX IF Forward Access table

snIpxIfFwdAccessTable	    OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxIfFwdAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX IF Forward Access table."
	::= { snIpxIfFwdAccess 1 }

snIpxIfFwdAccessEntry	    OBJECT-TYPE
	SYNTAX	SnIpxIfFwdAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Forward Access table."
	INDEX	{ snIpxIfFwdAccessPort, snIpxIfFwdAccessDir }
	::= { snIpxIfFwdAccessTable 1 }

SnIpxIfFwdAccessEntry ::= SEQUENCE {
	snIpxIfFwdAccessPort
		INTEGER,
	snIpxIfFwdAccessDir
		INTEGER,
	snIpxIfFwdAccessFilterList
		OCTET STRING,
	snIpxIfFwdAccessRowStatus
		INTEGER
	}

snIpxIfFwdAccessPort	   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IPX interface to which the Forward Filter applies."
	::= { snIpxIfFwdAccessEntry 1 }

snIpxIfFwdAccessDir	 OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The access direction of incoming packet filter
		or outgoing packet filter."
	::= { snIpxIfFwdAccessEntry 2 }

snIpxIfFwdAccessFilterList    OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(1..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An IPX IF Forward Filter List."
	::= { snIpxIfFwdAccessEntry 3 }


snIpxIfFwdAccessRowStatus 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"
	::= { snIpxIfFwdAccessEntry 4 }



-- IPX IF RIP Access table

snIpxIfRipAccessTable	    OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxIfRipAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX IF RIP Access table."
	::= { snIpxIfRipAccess 1 }

snIpxIfRipAccessEntry	    OBJECT-TYPE
	SYNTAX	SnIpxIfRipAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Forward Access table."
	INDEX	{ snIpxIfRipAccessPort, snIpxIfRipAccessDir }
	::= { snIpxIfRipAccessTable 1 }

SnIpxIfRipAccessEntry ::= SEQUENCE {
	snIpxIfRipAccessPort
		INTEGER,
	snIpxIfRipAccessDir
		INTEGER,
	snIpxIfRipAccessFilterList
		OCTET STRING,
	snIpxIfRipAccessRowStatus
		INTEGER
	}

snIpxIfRipAccessPort	   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IPX interface to which the RIP Filter applies."
	::= { snIpxIfRipAccessEntry 1 }

snIpxIfRipAccessDir	 OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The access direction of incoming packet filter
		or outgoing packet filter."
	::= { snIpxIfRipAccessEntry 2 }

snIpxIfRipAccessFilterList    OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(1..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An IPX IF RIP Access Filter List."
	::= { snIpxIfRipAccessEntry 3 }


snIpxIfRipAccessRowStatus 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"
	::= { snIpxIfRipAccessEntry 4 }


-- IPX IF SAP Access table

snIpxIfSapAccessTable	    OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxIfSapAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX IF RIP Access table."
	::= { snIpxIfSapAccess 1 }

snIpxIfSapAccessEntry	    OBJECT-TYPE
	SYNTAX	SnIpxIfSapAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Forward Access table."
	INDEX	{ snIpxIfSapAccessPort, snIpxIfSapAccessDir }
	::= { snIpxIfSapAccessTable 1 }

SnIpxIfSapAccessEntry ::= SEQUENCE {
	snIpxIfSapAccessPort
		INTEGER,
	snIpxIfSapAccessDir
		INTEGER,
	snIpxIfSapAccessFilterList
		OCTET STRING,
	snIpxIfSapAccessRowStatus
		INTEGER
	}

snIpxIfSapAccessPort	   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IPX interface to which the SAP Filter applies."
	::= { snIpxIfSapAccessEntry 1 }

snIpxIfSapAccessDir	 OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The access direction of incoming packet filter
		or outgoing packet filter."
	::= { snIpxIfSapAccessEntry 2 }

snIpxIfSapAccessFilterList    OBJECT-TYPE
	SYNTAX	OCTET STRING(SIZE(1..32))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An IPX IF SAP Access Filter List."
	::= { snIpxIfSapAccessEntry 3 }


snIpxIfSapAccessRowStatus 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"
	::= { snIpxIfSapAccessEntry 4 }


-- ipx interface address table

snIpxPortAddrTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxPortAddrEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX port address table."
	::= { snIpxPortAddr 1 }

snIpxPortAddrEntry	       OBJECT-TYPE
	SYNTAX	SnIpxPortAddrEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Port Address table."
	INDEX	{ snIpxPortAddrPort, snIpxPortAddrEncap }
	::= { snIpxPortAddrTable 1 }

SnIpxPortAddrEntry ::= SEQUENCE {
	snIpxPortAddrPort
		PortIndex,
	snIpxPortAddrEncap
		INTEGER,
	snIpxPortAddrNetNum
		NetNumber,
	snIpxPortAddrRowStatus
		INTEGER,
	snIpxPortAddrNetBiosFilterMode
		RtrStatus
	}


snIpxPortAddrPort	       OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for port address entry."
	::= { snIpxPortAddrEntry 1 }

snIpxPortAddrEncap	      OBJECT-TYPE
	SYNTAX	 INTEGER {
		ethernet8022(1),
	    ethernet8023(2),
	    ethernetII(3),
	    ethernetSnap(4)
	}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IPX encapsulation type.
		ethernet8022(1), ethernet8023(2),
	    ethernetII(3),  ethernetSnap(4)  
	    Note: Each Network Number can be assigned with one unique Frame type; Otherwise,
	    a SNMP-SET error will be returned."
	::= { snIpxPortAddrEntry 2 }

snIpxPortAddrNetNum	       OBJECT-TYPE
	SYNTAX	NetNumber
	ACCESS	read-write
	STATUS  mandatory
	DESCRIPTION
		"An unique Network number for the IPX interface port."
	::= { snIpxPortAddrEntry 3 }

snIpxPortAddrRowStatus 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"
	::= { snIpxPortAddrEntry 4 }

snIpxPortAddrNetBiosFilterMode		    OBJECT-TYPE
	SYNTAX	RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enabled/Disabled NetBios Filter Mode status per Port Address entry."
	::= { snIpxPortAddrEntry 5 }


-- ipx port counters table

snIpxPortCountersTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnIpxPortCountersEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IPX port Counters table."
	::= { snIpxPortCounters 1 }

snIpxPortCountersEntry	       OBJECT-TYPE
	SYNTAX	SnIpxPortCountersEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IPX Port Counters table."
	INDEX	{ snIpxPortCountersPort }
	::= { snIpxPortCountersTable 1 }

SnIpxPortCountersEntry ::= SEQUENCE {
	snIpxPortCountersPort
		PortIndex,
	snIpxPortCountersRcvPktsCnt
	    Counter,
	snIpxPortCountersTxPktsCnt
	    Counter,
	snIpxPortCountersFwdPktsCnt
	    Counter,
	snIpxPortCountersRcvDropPktsCnt
	    Counter,
	snIpxPortCountersTxDropPktsCnt
	    Counter,
	snIpxPortCountersRcvFiltPktsCnt
	    Counter,
	snIpxPortCountersTxFiltPktsCnt
	    Counter
	}


snIpxPortCountersPort	       OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for port Counters entry."
	::= { snIpxPortCountersEntry 1 }

snIpxPortCountersRcvPktsCnt 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX incoming packets counter for the interface."
	::= { snIpxPortCountersEntry 2 }


snIpxPortCountersTxPktsCnt 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX Outgoing packets counter for the interface."
	::= { snIpxPortCountersEntry 3 }


snIpxPortCountersFwdPktsCnt 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX forwarding packets counter for the interface."
	::= { snIpxPortCountersEntry 4 }

snIpxPortCountersRcvDropPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX receiving drop packets counter for the interface."
	::= { snIpxPortCountersEntry 5 }

snIpxPortCountersTxDropPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX transmitting drop packets counter for the interface."
	::= { snIpxPortCountersEntry 6 }

snIpxPortCountersRcvFiltPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX receiving filter packets counter for the interface."
	::= { snIpxPortCountersEntry 7 }

snIpxPortCountersTxFiltPktsCnt		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"IPX transmitting filter packets counter for the interface."
	::= { snIpxPortCountersEntry 8 }



END
HP-SN-OSPF-GROUP-MIB DEFINITIONS ::= BEGIN


-- Foundry snOspf Group MIB Release 1.0.0
-- Revision 1 10/08/99

-- Copyright 1996-99 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
  			 snOspf	
					 FROM HP-SN-ROOT-MIB;
			 

     --  The Area ID, in OSPF, has the same format as an IP Address,
     --  but has the function of defining a summarization point for
     --  Link State Advertisements

             AreaID ::= IpAddress

     --  The Router ID, in OSPF, has the same format as an IP Address,
     --  but identifies the router independent of its IP Address.

             RouterID ::= IpAddress

     --  The OSPF Metric is defined as an unsigned value in the range

            Metric    ::= INTEGER (0..65535)
                                         -- 0..'FFFF'h
            BigMetric ::= INTEGER (0..16777215)
                                          -- 0..'FFFFFF'h

     --  Boolean Values

             TruthVal ::= INTEGER { false (0), true (1)  }

     --  RtrStatus Values

             RtrStatus ::= INTEGER { disabled (0), enabled (1) }


     --  Time Durations measured in seconds

             PositiveInteger ::= INTEGER (0..2147483647)
                                                    -- 0..'7FFFFFFF'h
             HelloRange      ::= INTEGER (1..65535)
                                                    -- 1..'FFFF'h
             UpToMaxAge      ::= INTEGER (0..3600)

     --  The range of ifIndex, i.e. (1..ifNumber)

     --  Potential Priorities for the Designated Router Election

             DesignatedRouterPriority ::= INTEGER (0..255)

     --  Type of Service is defined as a mapping to the IP Type of
     --  Service Flags as defined in the Router Requirements
     --  Document:
     --
     --	 Type of Service is defined as a mapping to the IP Type of
     --  Service Flags as defined in the IP Forwarding Table MIB

     --   +-----+-----+-----+-----+-----+-----+-----+-----+
     --   |                 |                       |     |
     --   |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
     --   |                 |                       |     |
     --   +-----+-----+-----+-----+-----+-----+-----+-----+

     --            IP TOS                IP TOS
     --       Field     Policy      Field     Policy

     --       Contents    Code      Contents    Code
     --       0 0 0 0  ==>   0      0 0 0 1  ==>   2
     --       0 0 1 0  ==>   4      0 0 1 1  ==>   6
     --       0 1 0 0  ==>   8      0 1 0 1  ==>  10
     --       0 1 1 0  ==>  12      0 1 1 1  ==>  14
     --       1 0 0 0  ==>  16      1 0 0 1  ==>  18
     --       1 0 1 0  ==>  20      1 0 1 1  ==>  22
     --       1 1 0 0  ==>  24      1 1 0 1  ==>  26
     --       1 1 1 0  ==>  28      1 1 1 1  ==>  30

     --    The remaining values are left for future definition.

             TOSType ::= INTEGER (0..30)


-- Groups

snOspfGen 	        OBJECT IDENTIFIER ::= { snOspf 1 }
snOspfArea		    OBJECT IDENTIFIER ::= { snOspf 2 }
snOspfAddrRange		OBJECT IDENTIFIER ::= { snOspf 3 }
snOspfIntf		    OBJECT IDENTIFIER ::= { snOspf 4 }
snOspfVirtIf		OBJECT IDENTIFIER ::= { snOspf 5 }
snOspfRedis		    OBJECT IDENTIFIER ::= { snOspf 6 }
snOspfNbr		    OBJECT IDENTIFIER ::= { snOspf 7 }
snOspfVirtNbr		OBJECT IDENTIFIER ::= { snOspf 8 }
snOspfLsdb		    OBJECT IDENTIFIER ::= { snOspf 9 }
snOspfExtLsdb 		OBJECT IDENTIFIER ::= { snOspf 10 }
snOspfAreaStatus	OBJECT IDENTIFIER ::= { snOspf 11 }
snOspfIfStatus		OBJECT IDENTIFIER ::= { snOspf 12 }
snOspfVirtIfStatus	OBJECT IDENTIFIER ::= { snOspf 13 }
snOspfRoutingInfo	OBJECT IDENTIFIER ::= { snOspf 14 }
snOspfTrapControl 	OBJECT IDENTIFIER ::= { snOspf 15 }
 
	

--  Section 1:	OSPF General Variables

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


     snOspfRouterId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the router in
            the Autonomous System.

            By convention, to ensure uniqueness, this should
            default to the value of one of the router's IP
            interface addresses."
         REFERENCE
            "OSPF Version 2, C.1 Global parameters"
         ::= { snOspfGen 1 }

     snOspfAdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The administrative status of OSPF in the router.  The
            value 'enabled' denotes that the OSPF Process is active
            on at least one interface; 'disabled' disables it on
            all interfaces."
         ::= { snOspfGen 2 }

     snOspfASBdrRtrStatus OBJECT-TYPE
         SYNTAX   TruthVal
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "A flag to note whether this router is an Autonomous
            System border router."
         REFERENCE
            "OSPF Version 2, Section 3.3 Classification of routers"
         ::= { snOspfGen 3 }


     snOspfRedisMode OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Redistribution status of OSPF in the router.  The
            value 'enabled' denotes that the OSPF Redistribution is 
            active; 'disabled' disables it on the router."
         ::= { snOspfGen 4 }


     snOspfDefaultOspfMetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using a default OSPF Metric value on this route."
         ::= { snOspfGen 5 }

     snOspfExternLSACount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of external (LS type 5) link-state
            advertisements in the link-state database."
         REFERENCE
            "OSPF Version 2, Appendix A.4.5 AS external link
            advertisements"
         ::= { snOspfGen 6 }

     snOspfExternLSACksumSum OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32-bit unsigned sum of the LS checksums of the
            external link-state advertisements contained in the
            link-state database.  This sum can be used to determine
            if there has been a change in a router's link state
            database, and to compare the link-state database of two
            routers."
         ::= { snOspfGen 7 }

     snOspfOriginateNewLSAs OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of new link-state advertisements that have
            been originated.  This number is incremented each time
            the router originates a new LSA."
         ::= { snOspfGen 8 }

     snOspfRxNewLSAs OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of link-state advertisements received
            determined to be new instantiations.  This number does
            not include newer instantiations of self-originated
            link-state advertisements."
         ::= { snOspfGen 9 }

     snOspfOspfRedisMetricType OBJECT-TYPE
	     SYNTAX   INTEGER {
					type1(1),
					type2(2)
				  }
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "type1: For External Type 1 (comparable value) the 
                    intra-area and inter-area routes, 
                    it is an OSPF metric plus the External Metric.
             type2: For external Type 2 (non-comparable value) routes, 
                    it is the external metric."
         ::= { snOspfGen 10 }

	 snOspfExtLsdbLimit OBJECT-TYPE
         SYNTAX   INTEGER (1..2000)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
           "The  maximum   number   of   non-default   AS-
           external-LSAs entries that can be stored in the
           link-state database.  If the value is -1,  then
           there is no limit.

           When the number of non-default AS-external-LSAs
           in   a  router's  link-state  database  reaches
           ospfExtLsdbLimit, the router  enters  Overflow-
           State.   The   router  never  holds  more  than
           ospfExtLsdbLimit  non-default  AS-external-LSAs
           in  its  database. OspfExtLsdbLimit MUST be set
           identically in all routers attached to the OSPF
           backbone  and/or  any regular OSPF area. (i.e.,
           OSPF stub areas and NSSAs are excluded)."
       ::= { snOspfGen 11 }


    snOspfExitOverflowInterval OBJECT-TYPE
         SYNTAX   INTEGER (0..86400)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
           "The number of  seconds  that,  after  entering
           OverflowState,  a  router will attempt to leave
           OverflowState. This allows the router to  again
           originate  non-default  AS-external-LSAs.  When
           set to 0, the router will not  leave  Overflow-
           State until restarted."
       ::= { snOspfGen 12 }

    snOspfRfc1583Compatibility OBJECT-TYPE
		SYNTAX  INTEGER {
			disabled(0),             
			enabled(1)
			}
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"This allows the ospf routing either compatible with
			RFC1583 or RFC2178.
		 	enabled(1)........activate RFC1583 compatibility rather than RFC2178
		 	disabled(0).......disable RFC1583 compatibility and compatible to RFC2178."  
       ::= { snOspfGen 13 }

     snOspfRouterIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-write
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 RouterId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
	     ::= { snOspfGen 14 }

     snOspfDistance OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   obsolete
         DESCRIPTION
            "OSPF Adminitrative distance."
         ::= { snOspfGen 15 }

     snOspfDistanceIntra OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "OSPF Adminitrative distance - Intra Area."
         ::= { snOspfGen 16 }

     snOspfDistanceInter OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "OSPF Adminitrative distance - Inter Area."
         ::= { snOspfGen 17 }

     snOspfDistanceExternal OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "OSPF Adminitrative distance - External."
         ::= { snOspfGen 18 }

--		Section 2:	OSPF Area Table

--      The OSPF Area Data Structure contains information
--      regarding the various areas. The interfaces and
--      virtual links are configured as part of these areas.
--      Area 0.0.0.0, by definition, is the Backbone Area

     snOspfAreaTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfAreaEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of the router's attached areas."
         REFERENCE
            "OSPF Version 2, Section 6  The Area Data Structure"
         ::= { snOspfArea 1 }

     snOspfAreaEntry OBJECT-TYPE
         SYNTAX   SnOspfAreaEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of one of the router's attached
            areas."
         INDEX { snOspfAreaId }
         ::= { snOspfAreaTable 1 }

     SnOspfAreaEntry ::=
         SEQUENCE {
             snOspfAreaId
                 AreaID,
             snOspfImportASExtern
				 INTEGER,
             snOspfStubMetric
                 BigMetric,
			 snOspfAreaRowStatus 
				 INTEGER,
			 snOspfAreaIdFormat 
				 INTEGER
         }

     snOspfAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying an area.  Area
            ID 0.0.0.0 is used for the OSPF backbone."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaEntry 1 }

     snOspfImportASExtern OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The area's support for importing AS external link-
            state advertisements. 
            0: 	Stub Area Type
            1: 	Normal Area Type
            2: 	NSSA Area Type"
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         DEFVAL { 1}
         ::= { snOspfAreaEntry 2 }


     snOspfStubMetric OBJECT-TYPE
         SYNTAX   BigMetric
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The metric value applied at the default type of
            service(ospfMetric).  By default, this equals the 
            least metric at the type of service among the 
            interfaces to other areas.  This Object exist if
            only if the value of snOspfAreaSummary is 
            snOspfAreaSummary(2); Otherwise, an SNMP_GET/GET_NEXT 
            attempt of this Object will return NO_SUCH_NAME."
         ::= { snOspfAreaEntry 3 }


     snOspfAreaRowStatus 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"
	     ::= { snOspfAreaEntry 4 }

     snOspfAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-write
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
	     ::= { snOspfAreaEntry 5 }


--  Section 3:		Area Range Table (Address Range Table)

--      The Address Range Table acts as an adjunct to the Area
--      Table; It describes those Address Range Summaries that
--      are configured to be propagated from an Area to reduce
--      the amount of information about it which is known beyond
--      its borders.



     snOspfAreaRangeTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfAreaRangeEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A range if IP addresses specified by an IP address/IP
            network mask pair.  For example, class B address range
            of X.X.X.X with a network mask of 255.255.0.0 includes
            all IP addresses from X.X.0.0 to X.X.255.255"
         REFERENCE
            "OSPF Version 2, Appendix C.2  Area parameters"
         ::= { snOspfAddrRange 1 }

     snOspfAreaRangeEntry OBJECT-TYPE
         SYNTAX   SnOspfAreaRangeEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A range if IP addresses specified by an IP address/IP
            network mask pair.  For example, class B address range
            of X.X.X.X with a network mask of 255.255.0.0 includes
            all IP addresses from X.X.0.0 to X.X.255.255"
         REFERENCE
            "OSPF Version 2, Appendix C.2  Area parameters"
         INDEX { snOspfAreaRangeAreaID, snOspfAreaRangeNet }
         ::= { snOspfAreaRangeTable 1 }

     SnOspfAreaRangeEntry ::=
         SEQUENCE {
             snOspfAreaRangeAreaID
                 AreaID,
             snOspfAreaRangeNet
                 IpAddress,
             snOspfAreaRangeMask
                 IpAddress,
             snOspfAreaRangeRowStatus
                 INTEGER,
			 snOspfAreaRangeAreaIdFormat 
				 INTEGER
         }

     snOspfAreaRangeAreaID OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Area the Address Range is to be found within."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaRangeEntry 1 }

     snOspfAreaRangeNet OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Net or Subnet indicated by the
            range."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaRangeEntry 2 }

     snOspfAreaRangeMask OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Subnet Mask that pertains to the Net or Subnet."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaRangeEntry 3 }


     snOspfAreaRangeRowStatus 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"
	     ::= { snOspfAreaRangeEntry 4 }

     snOspfAreaRangeAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
	     ::= { snOspfAreaRangeEntry 5 }



 

--  Section 4:		OSPF Interface Configuration Table

--      The OSPF Interface Table augments the ifTable with OSPF
--      specific information.
--  snOspfIfTable was replaced by snOspfIf2Table. The snOspfIfPort
--  was not an ifIndex, and the snOspfIf2Port is an ifIndex.


     snOspfIfTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfIfEntry
         ACCESS   not-accessible
         STATUS   deprecated
         DESCRIPTION
            "The OSPF Interface Table describes the interfaces from
            the viewpoint of OSPF."
         REFERENCE
            "OSPF Version 2, Appendix C.3  Router interface
            parameters"
         ::= { snOspfIntf 1 }

     snOspfIfEntry OBJECT-TYPE
         SYNTAX   SnOspfIfEntry
         ACCESS   not-accessible
         STATUS   deprecated
         DESCRIPTION
            "The OSPF Interface Entry describes one interface from
            the viewpoint of OSPF."
         INDEX { snOspfIfPort }
         ::= { snOspfIfTable 1 }

     SnOspfIfEntry ::=
         SEQUENCE {
             snOspfIfPort
			     INTEGER,
             snOspfIfAreaId
                 AreaID,
             snOspfIfAdminStat
                 RtrStatus,
             snOspfIfRtrPriority
                 DesignatedRouterPriority,
             snOspfIfTransitDelay
                 UpToMaxAge,
             snOspfIfRetransInterval
                 UpToMaxAge,
             snOspfIfHelloInterval
                 HelloRange,
             snOspfIfRtrDeadInterval
                 PositiveInteger,
             snOspfIfAuthType
                 INTEGER,
             snOspfIfAuthKey
                 OCTET STRING,
        	 snOspfIfMetricValue
            	 INTEGER,
			 snOspfIfRowStatus 
				 INTEGER, 
			 snOspfIfMd5AuthKeyId
			     INTEGER,
             snOspfIfMd5AuthKey
                 OCTET STRING,
			 snOspfIfMd5ActivationWaitTime
			     INTEGER,
			 snOspfIfAreaIdFormat 
				 INTEGER,
			 snOspfIfPassiveMode
                 INTEGER,
             snOspfIfDatabaseFilterAllOut
                 INTEGER,
             snOspfIfMtuIgnore
                 INTEGER,
             snOspfIfNetworkP2mp
                 INTEGER
         }


    snOspfIfPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The physical router port of this OSPF interface."
         ::= { snOspfIfEntry 1 }


     snOspfIfAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "A 32-bit integer uniquely identifying the area to
            which the interface connects.  Area ID 0.0.0.0 is used
            for the OSPF backbone."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfEntry 2 }


     snOspfIfAdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The OSPF interface's administrative status.  The value
            'enabled' denotes that neighbor relationships may be
            formed on the interface, and the interface will be
            advertised as an internal route to some area.  The
            value 'disabled' denotes that the interface is external
            to OSPF."
         DEFVAL { enabled }
         ::= { snOspfIfEntry 3 }

     snOspfIfRtrPriority OBJECT-TYPE
         SYNTAX   DesignatedRouterPriority
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The priority of this interface.  Used in multi-access
            networks, this field is used in the designated router
            election algorithm.  The value 0 signifies that the
            router is not eligible to become the designated router
            on this particular network.  In the event of a tie in
            this value, routers will use their router id as a tie
            breaker."
         DEFVAL { 1 }
         ::= { snOspfIfEntry 4 }

     snOspfIfTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfIfEntry 5 }

     snOspfIfRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets."
         DEFVAL { 5 }
         ::= { snOspfIfEntry 6 }

     snOspfIfHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for all routers attached to a
            common network."
         DEFVAL { 10 }
         ::= { snOspfIfEntry 7 }

     snOspfIfRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for all routers
            attached to a common network."
         DEFVAL { 40 }
         ::= { snOspfIfEntry 8 }


     snOspfIfAuthType OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
                     -- none (0),
                     -- simplePassword (1)
                     -- md5 (2)
                     -- reserved for specification by IANA (> 2)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfIfEntry 9 }


     snOspfIfAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The Authentication Key.  If the Area's Authorization
            Type is simplePassword, and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, snOspfIfAuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfIfEntry 10 }


     snOspfIfMetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The metric of using this type  of  service  on
             this interface.  The default value of the TOS 0
             Metric is 10^8 / ifSpeed."
         ::= { snOspfIfEntry 11 }

     snOspfIfRowStatus OBJECT-TYPE
	     SYNTAX   INTEGER {
					invalid(1),
					valid(2),
					delete(3),
					create(4),
					modify(5)
				  }
		 ACCESS   read-write
         STATUS   deprecated
		 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"
	     ::= { snOspfIfEntry 12 }
     
     snOspfIfMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfIfEntry 13 }


     snOspfIfMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.
            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         ::= { snOspfIfEntry 14 }


     snOspfIfMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfIfEntry 15 }

     snOspfIfAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
         STATUS   deprecated
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
	     ::= { snOspfIfEntry 16 }

     snOspfIfPassiveMode OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
         STATUS   deprecated
		 DESCRIPTION
		 	"This object control the passive mode of this interface."
	     ::= { snOspfIfEntry 17 }

     snOspfIfDatabaseFilterAllOut OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
         STATUS   deprecated
		 DESCRIPTION
		 	"This object control the filtering of outgoing OSPF LSA on this interface."
	     ::= { snOspfIfEntry 18 }

     snOspfIfMtuIgnore OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
         STATUS   deprecated
		 DESCRIPTION
		 	"This object control MTU detection mode of this interface."
	     ::= { snOspfIfEntry 19 }

     snOspfIfNetworkP2mp OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
         STATUS   deprecated
		 DESCRIPTION
		 	"This object enable/disable P2MP mode of this interface."
	     ::= { snOspfIfEntry 20 }


--  Section 4:		OSPF Interface Configuration Table

--      The OSPF Interface Table augments the ifTable with OSPF
--      specific information.
--  snOspfIf2Table replaced snOspfIfTable. The snOspfIf2Port
--  is an ifIndex, and the snOspfIfPort is not an ifIndex.


     snOspfIf2Table OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfIf2Entry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Table describes the interfaces from
            the viewpoint of OSPF."
         REFERENCE
            "OSPF Version 2, Appendix C.3  Router interface
            parameters"
         ::= { snOspfIntf 2 }

     snOspfIf2Entry OBJECT-TYPE
         SYNTAX   SnOspfIf2Entry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Entry describes one interface from
            the viewpoint of OSPF."
         INDEX { snOspfIf2Port }
         ::= { snOspfIf2Table 1 }

     SnOspfIf2Entry ::=
         SEQUENCE {
             snOspfIf2Port
			     INTEGER,
             snOspfIf2AreaId
                 AreaID,
             snOspfIf2AdminStat
                 RtrStatus,
             snOspfIf2RtrPriority
                 DesignatedRouterPriority,
             snOspfIf2TransitDelay
                 UpToMaxAge,
             snOspfIf2RetransInterval
                 UpToMaxAge,
             snOspfIf2HelloInterval
                 HelloRange,
             snOspfIf2RtrDeadInterval
                 PositiveInteger,
             snOspfIf2AuthType
                 INTEGER,
             snOspfIf2AuthKey
                 OCTET STRING,
        	 snOspfIf2MetricValue
            	 INTEGER,
			 snOspfIf2RowStatus 
				 INTEGER, 
			 snOspfIf2Md5AuthKeyId
			     INTEGER,
             snOspfIf2Md5AuthKey
                 OCTET STRING,
			 snOspfIf2Md5ActivationWaitTime
			     INTEGER,
			 snOspfIf2AreaIdFormat 
				 INTEGER,
			 snOspfIf2PassiveMode
                 INTEGER,
             snOspfIf2DatabaseFilterAllOut
                 INTEGER,
             snOspfIf2MtuIgnore
                 INTEGER,
             snOspfIf2NetworkP2mp
                 INTEGER
         }


    snOspfIf2Port OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical router port of this OSPF interface."
         ::= { snOspfIf2Entry 1 }


     snOspfIf2AreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the area to
            which the interface connects.  Area ID 0.0.0.0 is used
            for the OSPF backbone."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIf2Entry 2 }


     snOspfIf2AdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The OSPF interface's administrative status.  The value
            'enabled' denotes that neighbor relationships may be
            formed on the interface, and the interface will be
            advertised as an internal route to some area.  The
            value 'disabled' denotes that the interface is external
            to OSPF."
         DEFVAL { enabled }
         ::= { snOspfIf2Entry 3 }

     snOspfIf2RtrPriority OBJECT-TYPE
         SYNTAX   DesignatedRouterPriority
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The priority of this interface.  Used in multi-access
            networks, this field is used in the designated router
            election algorithm.  The value 0 signifies that the
            router is not eligible to become the designated router
            on this particular network.  In the event of a tie in
            this value, routers will use their router id as a tie
            breaker."
         DEFVAL { 1 }
         ::= { snOspfIf2Entry 4 }

     snOspfIf2TransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfIf2Entry 5 }

     snOspfIf2RetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets."
         DEFVAL { 5 }
         ::= { snOspfIf2Entry 6 }

     snOspfIf2HelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for all routers attached to a
            common network."
         DEFVAL { 10 }
         ::= { snOspfIf2Entry 7 }

     snOspfIf2RtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for all routers
            attached to a common network."
         DEFVAL { 40 }
         ::= { snOspfIf2Entry 8 }


     snOspfIf2AuthType OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
                     -- none (0),
                     -- simplePassword (1)
                     -- md5 (2)
                     -- reserved for specification by IANA (> 2)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfIf2Entry 9 }


     snOspfIf2AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Authentication Key.  If the Area's Authorization
            Type is simplePassword, and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, snOspfIf2AuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfIf2Entry 10 }


     snOspfIf2MetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using this type  of  service  on
             this interface.  The default value of the TOS 0
             Metric is 10^8 / ifSpeed."
         ::= { snOspfIf2Entry 11 }

     snOspfIf2RowStatus 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"
	     ::= { snOspfIf2Entry 12 }
     
     snOspfIf2Md5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfIf2Md5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfIf2Entry 13 }


     snOspfIf2Md5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.
            When read, snOspfIf2Md5AuthKey always returns an Octet String
            of length zero."
         ::= { snOspfIf2Entry 14 }


     snOspfIf2Md5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfIf2Entry 15 }

     snOspfIf2AreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
	     ::= { snOspfIf2Entry 16 }

     snOspfIf2PassiveMode OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object control the passive mode of this interface."
	     ::= { snOspfIf2Entry 17 }

     snOspfIf2DatabaseFilterAllOut OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object control the filtering of outgoing OSPF LSA on this interface."
	     ::= { snOspfIf2Entry 18 }

     snOspfIf2MtuIgnore OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object control MTU detection mode of this interface."
	     ::= { snOspfIf2Entry 19 }

     snOspfIf2NetworkP2mp OBJECT-TYPE
	     SYNTAX   INTEGER {
			disabled(0),
			enabled(1)
			}
		 ACCESS   read-write
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object enable/disable P2MP mode of this interface."
	     ::= { snOspfIf2Entry 20 }


--  Section 5:		OSPF Virtual Interface Table

--      The Virtual Interface Table describes the virtual
--      links that the OSPF Process is configured to
--      carry on.



     snOspfVirtIfTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfVirtIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about this router's virtual interfaces."
         REFERENCE
            "OSPF Version 2, Appendix C.4  Virtual link parameters"
         ::= { snOspfVirtIf 1 }

     snOspfVirtIfEntry OBJECT-TYPE
         SYNTAX   SnOspfVirtIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about a single Virtual Interface."
         INDEX { snOspfVirtIfAreaID, snOspfVirtIfNeighbor }
         ::= { snOspfVirtIfTable 1 }

     SnOspfVirtIfEntry ::=
         SEQUENCE {
             snOspfVirtIfAreaID
                 AreaID,
             snOspfVirtIfNeighbor
                 RouterID,
             snOspfVirtIfTransitDelay
                 UpToMaxAge,
             snOspfVirtIfRetransInterval
                 UpToMaxAge,
             snOspfVirtIfHelloInterval
                 HelloRange,
             snOspfVirtIfRtrDeadInterval
                 PositiveInteger,
             snOspfVirtIfAuthType
                 INTEGER,
             snOspfVirtIfAuthKey
                 OCTET STRING,
             snOspfVirtIfRowStatus
				 INTEGER, 
			 snOspfVirtIfMd5AuthKeyId
			     INTEGER,
             snOspfVirtIfMd5AuthKey
                 OCTET STRING,
			 snOspfVirtIfMd5ActivationWaitTime
			     INTEGER,
			 snOspfVirtIfAreaIdFormat 
				 INTEGER
         }

     snOspfVirtIfAreaID OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Transit Area that the Virtual Link traverses.  By
            definition, this is not 0.0.0.0"
         ::= { snOspfVirtIfEntry 1 }

     snOspfVirtIfNeighbor OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router ID of the Virtual Neighbor."
         ::= { snOspfVirtIfEntry 2 }

     snOspfVirtIfTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfVirtIfEntry 3 }

     snOspfVirtIfRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets.
            This value should be well over the expected round-trip
            time."
         DEFVAL { 5 }
         ::= { snOspfVirtIfEntry 4 }

     snOspfVirtIfHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for the virtual neighbor."
         DEFVAL { 10 }
         ::= { snOspfVirtIfEntry 5 }

     snOspfVirtIfRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for the virtual
            neighbor."
         DEFVAL { 60 }
         ::= { snOspfVirtIfEntry 6 }

     snOspfVirtIfAuthType OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
                     -- none (0),
                     -- simplePassword (1)
                     -- md5 (2)
                     -- reserved for specification by IANA (> 2)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfVirtIfEntry 7 }

     snOspfVirtIfAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "If Authentication Type is simplePassword, the device
            will left adjust and zero fill to 8 octets.

            When read, snOspfVifAuthKey always returns a string of
            length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfEntry 8 }

     snOspfVirtIfRowStatus 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"
	     ::= { snOspfVirtIfEntry 9 } 

     snOspfVirtIfMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfVirtIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfVirtIfEntry 10 }


     snOspfVirtIfMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.

            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfEntry 11 }


     snOspfVirtIfMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfVirtIfEntry 12 }


     snOspfVirtIfAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
         ::= { snOspfVirtIfEntry 13 }






--  Section 6:		OSPF Redistribution of Routes Table

--      The OSPF Redistribution of Routes Table contains list of routes
--      that will be used to decide whether a particular RIP or Static
--      route is to be imported into OSPF domain as external type 2
--      route when parameter Import Route into OSPF is Enabled.


     snOspfRedisTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfRedisEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Redistribution Table contains a list of routes
            that could be imported into the OSPF domain."
         ::= { snOspfRedis 1 }

     snOspfRedisEntry OBJECT-TYPE
         SYNTAX   SnOspfRedisEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Redistribution Entry specifies a particular RIP 
            or Static route to be imported into the OSPF domain."
         INDEX { snOspfRedisIndex }
         ::= { snOspfRedisTable 1 }

     SnOspfRedisEntry ::=
         SEQUENCE {
             snOspfRedisIndex
                 INTEGER,
             snOspfRedisIpAddress
                 IpAddress,
             snOspfRedisMask
                 IpAddress,
             snOspfRedisAction
                 INTEGER,
             snOspfRedisProtocol
                 INTEGER,
        	 snOspfRedisSetOspfMetric
			     INTEGER,
        	 snOspfRedisOspfMetricValue
            	 Metric,
        	 snOspfRedisMatchRipMetric
			     INTEGER,
        	 snOspfRedisRipMetricValue
            	 INTEGER,
             snOspfRedisRowStatus
                 INTEGER
         }


    snOspfRedisIndex OBJECT-TYPE
         SYNTAX   INTEGER (1..64)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The destination IP address that associates with 
            this particular route."
         ::= { snOspfRedisEntry 1 }

    snOspfRedisIpAddress OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The destination IP address that associates with 
            this particular route."
         ::= { snOspfRedisEntry 2 }

    snOspfRedisMask OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Subnet Mask that pertains to this route."
         ::= { snOspfRedisEntry 3 }

    snOspfRedisAction OBJECT-TYPE
         SYNTAX   INTEGER {
					noImport(0),
					import(1)
				  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The action to be taken if the route match this entry. 
            	noImport(0):	- the route is NOT imported into OSPF
            	              	  Domain. 
            	import(1):		- the route is imported into OSPF
            	              	  Domain as external type 2 route."
         ::= { snOspfRedisEntry 4 }

    snOspfRedisProtocol OBJECT-TYPE
         SYNTAX   INTEGER {
		    rip(1),
		    all(2),
		    static(3),
		    bgp(4),
		    connected(5),
		    isis(6)
				  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The imported routes into OSPF domain is set in the following: 
            	rip(1):		- the RIP route.
            	all(2):		- all protocol route.
            	static(3):	- the static route.
            	bgp(4):		- the BGP route.
            	connected(5):		- the connected route.
            	isis(6):		- the ISIS route."
         ::= { snOspfRedisEntry 5 }

  	snOspfRedisSetOspfMetric OBJECT-TYPE
         SYNTAX   INTEGER {
		            disabled(0),
					enabled(1)
				  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The value indicates to which the route metric should match: 
            	disabled(0):	- the route metric does NOT match the 
            	                  OSPF metric field.
            	enabled(1):		- the route metric matches the OSPF 
            	                  metric field."
         ::= { snOspfRedisEntry 6 }


  	snOspfRedisOspfMetricValue OBJECT-TYPE
         SYNTAX   Metric
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using OSPF Metric value on this route."
         ::= { snOspfRedisEntry 7 }


  	snOspfRedisMatchRipMetric OBJECT-TYPE
         SYNTAX   INTEGER {
		            disabled(0),
					enabled(1)
				  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The value indicates to which the route metric should match: 
            	disabled(0):	- the route metric does NOT match the 
            	                  RIP metric field.
            	enabled(1):		- the route metric matches the RIP 
            	                  metric field."
         ::= { snOspfRedisEntry 8 }


     snOspfRedisRipMetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..15)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using RIP Metric value (1 to 15 hops) on this route."
         ::= { snOspfRedisEntry 9 }


     snOspfRedisRowStatus 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"
	     ::= { snOspfRedisEntry 10 }



--  Section 7:		OSPF Neighbor Table

--      The OSPF Neighbor Table describes all neighbors in
--      the locality of the subject router.


     snOspfNbrTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table of non-virtual neighbor information."
         REFERENCE
            "OSPF Version 2, Section 10 The Neighbor Data
            Structure"
         ::= { snOspfNbr 1 }

     snOspfNbrEntry OBJECT-TYPE
         SYNTAX   SnOspfNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The information regarding a single neighbor."
         REFERENCE
            "OSPF Version 2, Section 10 The Neighbor Data
            Structure"
         INDEX { snOspfNbrEntryIndex }
         ::= { snOspfNbrTable 1 }

     SnOspfNbrEntry ::=
         SEQUENCE {
             snOspfNbrEntryIndex
                 INTEGER,
	     	 snOspfNbrPort
	         	 INTEGER,
             snOspfNbrIpAddr
                 IpAddress,
             snOspfNbrIndex
                 INTEGER,
             snOspfNbrRtrId
                 RouterID,
             snOspfNbrOptions
                 INTEGER,
             snOspfNbrPriority
            	 DesignatedRouterPriority,
             snOspfNbrState
            	 INTEGER,
        	 snOspfNbrEvents
            	 Counter,
        	 snOspfNbrLsRetransQLen
                 Gauge
         }

     snOspfNbrEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this neighbor."
         ::= { snOspfNbrEntry 1 }
     
     snOspfNbrPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical port of this neighbor."
         ::= { snOspfNbrEntry 2 }
     

     snOspfNbrIpAddr OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP address of this neighbor."
         ::= { snOspfNbrEntry 3 }


     snOspfNbrIndex OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The neighbor index of each port and each IP address."
         ::= { snOspfNbrEntry 4 }
     
     snOspfNbrRtrId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer (represented as a type IpAddress)
            uniquely identifying the neighboring router in the
            Autonomous System."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfNbrEntry 5 }


    snOspfNbrOptions OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A Bit Mask corresponding to the neighbor's op-
           tions field.

           Bit 0, if set, indicates that the  system  will
           operate  on  Type of Service metrics other than
           TOS 0.  If zero, the neighbor will  ignore  all
           metrics except the TOS 0 metric.

           Bit 1, if set, indicates  that  the  associated
           area  accepts and operates on external informa-
           tion; if zero, it is a stub area.

           Bit 2, if set, indicates that the system is ca-
           pable  of routing IP Multicast datagrams; i.e.,
           that it implements the Multicast Extensions  to
           OSPF.

           Bit 3, if set, indicates  that  the  associated
           area  is  an  NSSA.  These areas are capable of
           carrying type 7 external advertisements,  which
           are  translated into type 5 external advertise-
           ments at NSSA borders."
       REFERENCE
          "OSPF Version 2, Section 12.1.2 Options"
      DEFVAL { 0 }
      ::= { snOspfNbrEntry 6 }


    snOspfNbrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The priority of this neighbor in the designat-
           ed router election algorithm.  The value 0 sig-
           nifies that the neighbor is not eligible to be-
           come  the  designated router on this particular
           network."
       DEFVAL { 1 }
       ::= { snOspfNbrEntry 7 }


    snOspfNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeStart (5),
                    exchange (6),
                    loading (7),
                    full (8)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The State of the relationship with this Neigh-
           bor."
       REFERENCE
          "OSPF Version 2, Section 10.1 Neighbor States"
      DEFVAL   { down }
      ::= { snOspfNbrEntry 8 }


    snOspfNbrEvents OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of times this neighbor relationship
           has changed state, or an error has occurred."
       ::= { snOspfNbrEntry 9 }


    snOspfNbrLsRetransQLen OBJECT-TYPE
        SYNTAX   Gauge
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  current  length  of  the   retransmission
           queue."
       ::= { snOspfNbrEntry 10 }



     --  Section 8: OSPF Virtual Neighbor Table

     --      This table describes all virtual neighbors.
     --      Since Virtual Links are configured in the
     --      virtual interface table, this table is read-only.

     snOspfVirtNbrTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfVirtNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table of virtual neighbor information."
         REFERENCE
            "OSPF Version 2, Section 15  Virtual Links"
         ::= { snOspfVirtNbr 1 }

     snOspfVirtNbrEntry OBJECT-TYPE
         SYNTAX   SnOspfVirtNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Virtual neighbor information."
         INDEX { snOspfVirtNbrEntryIndex }
         ::= { snOspfVirtNbrTable 1 }

     SnOspfVirtNbrEntry ::=
         SEQUENCE {
             snOspfVirtNbrEntryIndex
                 INTEGER,
             snOspfVirtNbrArea
                 AreaID,
             snOspfVirtNbrRtrId
                 RouterID,
             snOspfVirtNbrIpAddr
                 IpAddress,
             snOspfVirtNbrOptions
                 INTEGER,
             snOspfVirtNbrState
                 INTEGER,
             snOspfVirtNbrEvents
                 Counter,
             snOspfVirtNbrLSRetransQLen
                 Gauge,
			 snOspfVirtNbrAreaIdFormat 
				 INTEGER
         }

     snOspfVirtNbrEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this virtual neighbor."
         ::= { snOspfVirtNbrEntry 1 }

     snOspfVirtNbrArea OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Transit Area Identifier."
         ::= { snOspfVirtNbrEntry 2 }

     snOspfVirtNbrRtrId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the neighboring
            router in the Autonomous System."
         ::= { snOspfVirtNbrEntry 3 }

     snOspfVirtNbrIpAddr OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP address this Virtual Neighbor is using."
         ::= { snOspfVirtNbrEntry 4 }

     snOspfVirtNbrOptions OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A bit map corresponding to the neighbor's options
            field.  Thus, Bit 1, if set, indicates that the
            neighbor supports Type of Service Routing; if zero, no
            metrics other than TOS 0 are in use by the neighbor."
         ::= { snOspfVirtNbrEntry 5 }

     snOspfVirtNbrState OBJECT-TYPE
         SYNTAX   INTEGER {
                     down (1),
                     attempt (2),
                     init (3),
                     twoWay (4),
                     exchangeStart (5),
                     exchange (6),
                     loading (7),
                     full (8)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The state of the Virtual Neighbor Relationship."
         ::= { snOspfVirtNbrEntry 6 }

     snOspfVirtNbrEvents OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of times this virtual link has changed its
            state, or an error has occurred."
         ::= { snOspfVirtNbrEntry 7 }

     snOspfVirtNbrLSRetransQLen OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The current length of the retransmission queue."
         ::= { snOspfVirtNbrEntry 8 }

     snOspfVirtNbrAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
	     ::= { snOspfVirtNbrEntry 9 }


     --  Section 9: OSPF Link State Database

     --      The Link State Database contains the Link State
     --      Advertisements from throughout the areas that the
     --      device is attached to.

     snOspfLsdbTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfLsdbEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Process's Links State Database."
         REFERENCE
            "OSPF Version 2, Section 12 Link State Advertisements"
         ::= { snOspfLsdb 1 }

     snOspfLsdbEntry OBJECT-TYPE
         SYNTAX   SnOspfLsdbEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A single Link State Advertisement."
         INDEX { snOspfLsdbEntryIndex }
         ::= { snOspfLsdbTable 1 }

     SnOspfLsdbEntry ::=
         SEQUENCE {
             snOspfLsdbEntryIndex
                 INTEGER,
             snOspfLsdbAreaId
                 AreaID,
             snOspfLsdbType
                 INTEGER,
             snOspfLsdbLsId
                 IpAddress,
             snOspfLsdbRouterId
                 RouterID,
             snOspfLsdbSequence
                 INTEGER,
             snOspfLsdbAge
                 INTEGER,
             snOspfLsdbChecksum
                 INTEGER,
             snOspfLsdbAdvertisement
                 OCTET STRING,
			 snOspfLsdbAreaIdFormat 
				 INTEGER
         }

     snOspfLsdbEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Link State Database."
         ::= { snOspfLsdbEntry 1 }


     snOspfLsdbAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32 bit identifier of the Area from which the LSA
            was received."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfLsdbEntry 2 }

     snOspfLsdbType OBJECT-TYPE
         SYNTAX   INTEGER {
                     routerLink (1),
                     networkLink (2),
                     summaryLink (3),
                     asSummaryLink (4),
                     asExternalLink (5),
                     multicastLink (6),
                     nssaExternalLink (7),
                     opaqueLink (9),
                     opaqueAreaLink (10),
                     opaqueAsLink (11)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The type of the link state advertisement.  Each link
            state type has a separate advertisement format."
         REFERENCE
            "OSPF Version 2, Appendix A.4.1 The Link State
            Advertisement header"
         ::= { snOspfLsdbEntry 3 }

     snOspfLsdbLsId OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Link State ID is an LS Type Specific field
            containing either a Router ID or an IP Address; it
            identifies the piece of the routing domain that is
            being described by the advertisement."
         REFERENCE
            "OSPF Version 2, Section 12.1.4 Link State ID"
         ::= { snOspfLsdbEntry 4 }

     snOspfLsdbRouterId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32 bit number that uniquely identifies the
            originating router in the Autonomous System."
         REFERENCE
            "OSPF Version 2, Appendix C.1 Global parameters"
         ::= { snOspfLsdbEntry 5 }

     --  Note that the OSPF Sequence Number is a 32 bit signed
     --  integer.  It starts with the value '80000001'h,
     --  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
     --  Thus, a typical sequence number will be very negative.

     snOspfLsdbSequence OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The sequence number field is a signed 32-bit integer.
            It is used to detect old and duplicate link state
            advertisements.  The space of sequence numbers is
            linearly ordered.  The larger the sequence number the
            more recent the advertisement."
         REFERENCE
            "OSPF Version 2, Section 12.1.6 LS sequence number"
         ::= { snOspfLsdbEntry 6 }

     snOspfLsdbAge OBJECT-TYPE
         SYNTAX   INTEGER    -- Should be 0..MaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This field is the age of the link state advertisement
            in seconds."
         REFERENCE
            "OSPF Version 2, Section 12.1.1 LS age"
         ::= { snOspfLsdbEntry 7 }

     snOspfLsdbChecksum OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This field is the checksum of the complete contents of
            the advertisement, excepting the age field.  The age
            field is excepted so that an advertisement's age can be
            incremented without updating the checksum.  The
            checksum used is the same that is used for ISO
            connectionless datagrams; it is commonly referred to as
            the Fletcher checksum."
         REFERENCE
            "OSPF Version 2, Section 12.1.7 LS checksum"
         ::= { snOspfLsdbEntry 8 }

     snOspfLsdbAdvertisement OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (1..65535))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The entire Link State Advertisement, including its
            header."
         REFERENCE
            "OSPF Version 2, Section 12 Link State Advertisements"
         ::= { snOspfLsdbEntry 9 }


     snOspfLsdbAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
         ::= { snOspfLsdbEntry 10 }


--  Section 10: OSPF Link State Database, External

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--             This table is identical to the OSPF LSDB Table in
--      format, but contains only External Link State
--             Advertisements.  The purpose is to allow external
--      LSAs to be displayed once for the router rather
--      than once in each non-stub area.

    snOspfExtLsdbTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SnOspfExtLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Process's Links State Database."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { snOspfExtLsdb 1 }


    snOspfExtLsdbEntry OBJECT-TYPE
        SYNTAX   SnOspfExtLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { snOspfExtLsdbEntryIndex }
       ::= { snOspfExtLsdbTable 1 }

SnOspfExtLsdbEntry ::=
    SEQUENCE {
       snOspfExtLsdbEntryIndex 
            INTEGER,
        snOspfExtLsdbType
            INTEGER,
        snOspfExtLsdbLsId
            IpAddress,
        snOspfExtLsdbRouterId
            RouterID,
        snOspfExtLsdbSequence
            INTEGER,
        snOspfExtLsdbAge
            INTEGER,
        snOspfExtLsdbChecksum
            INTEGER,
        snOspfExtLsdbAdvertisement
            OCTET STRING
              }

    snOspfExtLsdbEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Link State Database."
         ::= { snOspfExtLsdbEntry 1 }


    snOspfExtLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    asExternalLink (5)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type  of  the  link  state  advertisement.
           Each  link state type has a separate advertise-
           ment format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { snOspfExtLsdbEntry 2 }


    snOspfExtLsdbLsId OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { snOspfExtLsdbEntry 3 }


    snOspfExtLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { snOspfExtLsdbEntry 4 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer.  It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--  Thus, a typical sequence number will be very negative.


    snOspfExtLsdbSequence OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer.   It  is used to detect old and dupli-
           cate link state advertisements.  The  space  of
           sequence  numbers  is  linearly  ordered.   The
           larger the sequence number the more recent  the
           advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
      ::= { snOspfExtLsdbEntry 5 }


    snOspfExtLsdbAge OBJECT-TYPE
        SYNTAX   INTEGER    -- Should be 0..MaxAge
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
      ::= { snOspfExtLsdbEntry 6 }


    snOspfExtLsdbChecksum OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the  checksum  of  the  complete
           contents  of  the  advertisement, excepting the
           age field.  The age field is excepted  so  that
           an   advertisement's  age  can  be  incremented
           without updating the  checksum.   The  checksum
           used  is  the same that is used for ISO connec-
           tionless datagrams; it is commonly referred  to
           as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
      ::= { snOspfExtLsdbEntry 7 }


    snOspfExtLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(36))
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { snOspfExtLsdbEntry 8 }



--		Section 11:	OSPF Area Status Table

--      The OSPF Area Status Data Structure contains information
--      regarding the various areas. The interfaces and
--      virtual links are configured as part of these areas.
--      Area 0.0.0.0, by definition, is the Backbone Area

     snOspfAreaStatusTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfAreaStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of the router's attached areas."
         REFERENCE
            "OSPF Version 2, Section 6  The Area Data Structure"
         ::= { snOspfAreaStatus 1 }

     snOspfAreaStatusEntry OBJECT-TYPE
         SYNTAX   SnOspfAreaStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of one of the router's attached
            areas."
         INDEX { snOspfAreaStatusEntryIndex }
         ::= { snOspfAreaStatusTable 1 }

     SnOspfAreaStatusEntry ::=
         SEQUENCE {
       		 snOspfAreaStatusEntryIndex 
            	 INTEGER,
             snOspfAreaStatusAreaId 
                 AreaID,
			 snOspfAreaStatusImportASExtern
            	 INTEGER,
             snOspfAreaStatusStubMetric
                 BigMetric,
             snOspfAreaStatusSpfRuns
                 Counter,
             snOspfAreaStatusAreaBdrRtrCount
                 Gauge,
             snOspfAreaStatusASBdrRtrCount
                 Gauge,
             snOspfAreaStatusLSACount
                 Gauge,
             snOspfAreaStatusLSACksumSum
                 INTEGER,
			 snOspfAreaStatusAreaIdFormat 
				 INTEGER
         }

     snOspfAreaStatusEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Area."
         ::= { snOspfAreaStatusEntry 1 }


     snOspfAreaStatusAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying an area.  Area
            ID 0.0.0.0 is used for the OSPF backbone."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaStatusEntry 2 }

     snOspfAreaStatusImportASExtern OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The area's support for importing AS external link-
            state advertisements."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         DEFVAL { 1 }
         ::= { snOspfAreaStatusEntry 3 }

     snOspfAreaStatusStubMetric OBJECT-TYPE
         SYNTAX   BigMetric
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The metric value applied at the default type of
            service(ospfMetric).  By default, this equals the 
            least metric at the type of service among the 
            interfaces to other areas.  This Object exist if
            only if the value of snOspfAreaSummary is 
            snOspfAreaSummary(2); Otherwise, an SNMP_GET/GET_NEXT 
            attempt of this Object will return NO_SUCH_NAME."
         ::= { snOspfAreaStatusEntry 4 }

     snOspfAreaStatusSpfRuns OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of times that the intra-area route table
            has been calculated using this area's link-state
            database.  This is typically done using Dijkstra's
            algorithm."
         ::= { snOspfAreaStatusEntry 5 }

     snOspfAreaStatusAreaBdrRtrCount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The total number of area border routers reachable
            within this area.  This is initially zero, and is
            calculated in each SPF Pass."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 6 }

     snOspfAreaStatusASBdrRtrCount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The total number of Autonomous System border routers
            reachable within this area.  This is initially zero,
            and is calculated in each SPF Pass."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 7 }

     snOspfAreaStatusLSACount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The total number of link-state advertisements in this
            area's link-state database, excluding AS External
            LSA's."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 8 }

     snOspfAreaStatusLSACksumSum OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32-bit unsigned sum of the link-state
            advertisements' LS checksums contained in this area's
            link-state database.  This sum excludes external (LS
            type 5) link-state advertisements.  The sum can be used
            to determine if there has been a change in a router's
            link state database, and to compare the link-state
            database of two routers."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 9 }


     snOspfAreaStatusAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
         ::= { snOspfAreaStatusEntry 10 }
     


--  Section 12:		OSPF Interface Status Table

--      The OSPF Interface Status Table augments the ifStatusTable with OSPF
--      specific information.


     snOspfIfStatusTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Status Table describes the interfaces from
            the viewpoint of OSPF."
         ::= { snOspfIfStatus 1 }

     snOspfIfStatusEntry OBJECT-TYPE
         SYNTAX   SnOspfIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Entry describes one interface from
            the viewpoint of OSPF."
         INDEX { snOspfIfStatusEntryIndex }
         ::= { snOspfIfStatusTable 1 }

     SnOspfIfStatusEntry ::=
         SEQUENCE {
       		 snOspfIfStatusEntryIndex 
            	 INTEGER,
             snOspfIfStatusPort
			     INTEGER,
             snOspfIfStatusIpAddress
                 IpAddress,
             snOspfIfStatusAreaId
                 AreaID,
             snOspfIfStatusType
                 INTEGER,
             snOspfIfStatusAdminStat
                 RtrStatus,
             snOspfIfStatusRtrPriority
                 DesignatedRouterPriority,
             snOspfIfStatusTransitDelay
                 UpToMaxAge,
             snOspfIfStatusRetransInterval
                 UpToMaxAge,
             snOspfIfStatusHelloInterval
                 HelloRange,
             snOspfIfStatusRtrDeadInterval
                 PositiveInteger,
             snOspfIfStatusState
                 INTEGER,
             snOspfIfStatusDesignatedRouter
                 IpAddress,
             snOspfIfStatusBackupDesignatedRouter
                 IpAddress,
             snOspfIfStatusEvents
                 Counter,
             snOspfIfStatusAuthType
                 INTEGER,
             snOspfIfStatusAuthKey
                 OCTET STRING,
        	 snOspfIfStatusMetricValue
            	 Metric,
			 snOspfIfStatusMd5AuthKeyId
			     INTEGER,
             snOspfIfStatusMd5AuthKey
                 OCTET STRING,
			 snOspfIfStatusMd5ActivationWaitTime
			     INTEGER,
			 snOspfIfStatusAreaIdFormat 
				 INTEGER
         }

     snOspfIfStatusEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Area."
         ::= { snOspfIfStatusEntry 1 }

     snOspfIfStatusPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical router port of this OSPF interface."
         ::= { snOspfIfStatusEntry 2 }

     snOspfIfStatusIpAddress OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP address of this OSPF interface."
         ::= { snOspfIfStatusEntry 3 }


     snOspfIfStatusAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the area to
            which the interface connects.  Area ID 0.0.0.0 is used
            for the OSPF backbone."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfStatusEntry 4 }


     snOspfIfStatusType OBJECT-TYPE
         SYNTAX   INTEGER {
                     broadcast (1),
                     nbma (2),
                     pointToPoint (3)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF interface type.

            By way of a default, this field may be intuited from
            the corresponding value of ifType.  Broadcast LANs,
            such as Ethernet and IEEE 802.5, take the value
            'broadcast', X.25, Frame Relay, and similar
            technologies take the value 'nbma', and links that are
            definitively point to point take the value
            'pointToPoint'."
         ::= { snOspfIfStatusEntry 5 }


     snOspfIfStatusAdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF interface's administrative status.  The value
            'enabled' denotes that neighbor relationships may be
            formed on the interface, and the interface will be
            advertised as an internal route to some area.  The
            value 'disabled' denotes that the interface is external
            to OSPF."
         ::= { snOspfIfStatusEntry 6 }

     snOspfIfStatusRtrPriority OBJECT-TYPE
         SYNTAX   DesignatedRouterPriority
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The priority of this interface.  Used in multi-access
            networks, this field is used in the designated router
            election algorithm.  The value 0 signifies that the
            router is not eligible to become the designated router
            on this particular network.  In the event of a tie in
            this value, routers will use their router id as a tie
            breaker."
         DEFVAL { 1 }
         ::= { snOspfIfStatusEntry 7 }

     snOspfIfStatusTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfIfStatusEntry 8 }

     snOspfIfStatusRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets."
         DEFVAL { 5 }
         ::= { snOspfIfStatusEntry 9 }

     snOspfIfStatusHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for all routers attached to a
            common network."
         DEFVAL { 10 }
         ::= { snOspfIfStatusEntry 10 }

     snOspfIfStatusRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for all routers
            attached to a common network."
         DEFVAL { 40 }
         ::= { snOspfIfStatusEntry 11 }

     snOspfIfStatusState OBJECT-TYPE
         SYNTAX   INTEGER {
                     down (1),
                     loopback (2),
                     waiting (3),
                     pointToPoint (4),
                     designatedRouter (5),
                     backupDesignatedRouter (6),
                     otherDesignatedRouter (7)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface State."
         DEFVAL { down }
         ::= { snOspfIfStatusEntry 12 }

     snOspfIfStatusDesignatedRouter OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Designated Router."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfStatusEntry 13 }

     snOspfIfStatusBackupDesignatedRouter OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Backup Designated Router."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfStatusEntry 14 }

     snOspfIfStatusEvents OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of times this OSPF interface has changed
            its state, or an error has occurred."
         ::= { snOspfIfStatusEntry 15 }


     snOspfIfStatusAuthType OBJECT-TYPE
         SYNTAX   INTEGER
                     -- none (0),
                     -- simplePassword (1)
                     -- reserved for specification by IANA (> 1)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfIfStatusEntry 16 }


     snOspfIfStatusAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Authentication Key.  If the Area's Authorization
            Type is simplePassword, and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, snOspfIfStatusAuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfIfStatusEntry 17 }


     snOspfIfStatusMetricValue OBJECT-TYPE
         SYNTAX   Metric
         ACCESS   read-only
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using this type  of  service  on
             this interface.  The default value of the TOS 0
             Metric is 10^8 / ifSpeed."
         ::= { snOspfIfStatusEntry 18 }

     snOspfIfStatusMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfIfStatusEntry 19 }


     snOspfIfStatusMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.
            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         ::= { snOspfIfStatusEntry 20 }


     snOspfIfStatusMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-only
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfIfStatusEntry 21 }

     snOspfIfStatusAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
         ::= { snOspfIfStatusEntry 22 }


--  Section 13:		OSPF Virtual Interface Status Table

--      The Virtual Interface Status Table describes the virtual
--      links status data. 



     snOspfVirtIfStatusTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfVirtIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about this router's virtual interfaces."
         REFERENCE
            "OSPF Version 2, Appendix C.4  Virtual link parameters"
         ::= { snOspfVirtIfStatus 1 }

     snOspfVirtIfStatusEntry OBJECT-TYPE
         SYNTAX   SnOspfVirtIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about a single Virtual Interface."
         INDEX { snOspfVirtIfStatusEntryIndex }
         ::= { snOspfVirtIfStatusTable 1 }

     SnOspfVirtIfStatusEntry ::=
         SEQUENCE {
       		 snOspfVirtIfStatusEntryIndex 
            	 INTEGER,
             snOspfVirtIfStatusAreaID
                 AreaID,
             snOspfVirtIfStatusNeighbor
                 RouterID,
             snOspfVirtIfStatusTransitDelay
                 UpToMaxAge,
             snOspfVirtIfStatusRetransInterval
                 UpToMaxAge,
             snOspfVirtIfStatusHelloInterval
                 HelloRange,
             snOspfVirtIfStatusRtrDeadInterval
                 PositiveInteger,
             snOspfVirtIfStatusState
                 INTEGER,
             snOspfVirtIfStatusEvents
                 Counter,
             snOspfVirtIfStatusAuthType
                 INTEGER,
             snOspfVirtIfStatusAuthKey
                 OCTET STRING,
			 snOspfVirtIfStatusMd5AuthKeyId
			     INTEGER,
             snOspfVirtIfStatusMd5AuthKey
                 OCTET STRING,
			 snOspfVirtIfStatusMd5ActivationWaitTime
			     INTEGER,
			 snOspfVirtIfStatusAreaIdFormat 
				 INTEGER
         }

     snOspfVirtIfStatusEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Area."
         ::= { snOspfVirtIfStatusEntry 1 }


     snOspfVirtIfStatusAreaID 	OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Transit Area that the Virtual Link traverses.  By
            definition, this is not 0.0.0.0 "
         ::= { snOspfVirtIfStatusEntry 2 }

     snOspfVirtIfStatusNeighbor OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router ID of the Virtual Neighbor."
         ::= { snOspfVirtIfStatusEntry 3 }

     snOspfVirtIfStatusTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfVirtIfStatusEntry 4 }

     snOspfVirtIfStatusRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets.
            This value should be well over the expected round-trip
            time."
         DEFVAL { 5 }
         ::= { snOspfVirtIfStatusEntry 5 }

     snOspfVirtIfStatusHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for the virtual neighbor."
         DEFVAL { 10 }
         ::= { snOspfVirtIfStatusEntry 6 }

     snOspfVirtIfStatusRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for the virtual
            neighbor."
         DEFVAL { 60 }
         ::= { snOspfVirtIfStatusEntry 7 }


     snOspfVirtIfStatusState OBJECT-TYPE
         SYNTAX   INTEGER {
                     down (1),
                     pointToPoint (4)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF virtual interfaces states."
         DEFVAL { down }
         ::= { snOspfVirtIfStatusEntry 8 }


     snOspfVirtIfStatusEvents OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of state changes or error events on 
            this Virtual Link."
         ::= { snOspfVirtIfStatusEntry 9 }


     snOspfVirtIfStatusAuthType OBJECT-TYPE
         SYNTAX   INTEGER
                     -- none (0),
                     -- simplePassword (1)
                     -- reserved for specification by IANA (> 1)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfVirtIfStatusEntry 10 }

     snOspfVirtIfStatusAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8)) 
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "If Authentication Type is simplePassword, the device
            will left adjust and zero fill to 8 octets.

            When read, snOspfVifAuthKey always returns a string of
            length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfStatusEntry 11 }

     snOspfVirtIfStatusMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfVirtIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfVirtIfStatusEntry 12 }


     snOspfVirtIfStatusMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.

            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfStatusEntry 13 }


     snOspfVirtIfStatusMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-only
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfVirtIfStatusEntry 14 }


     snOspfVirtIfStatusAreaIdFormat OBJECT-TYPE
	     SYNTAX   INTEGER {
					integer(0),
					ipAddress(1)
				  }
		 ACCESS   read-only
	     STATUS   mandatory
		 DESCRIPTION
		 	"This object is used to specify whether
			 AreaId is represented as IP Address or 
			 an Integer. The values
		     that can be written are:
		     integer(0).....as an integer.
		     ipAddress(1)...as IP Address."
         ::= { snOspfVirtIfStatusEntry 15 }


--  Section 14:		OSPF Routing Information Table

--      The OSPF Routing Information Table describes the OSPF ABR/ASBR
--      routing information. 



     snOspfRoutingInfoTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfRoutingInfoEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about this router's routing information."
         ::= { snOspfRoutingInfo 1 }

     snOspfRoutingInfoEntry OBJECT-TYPE
         SYNTAX   SnOspfRoutingInfoEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about a single ABR/ASBR Routing entry."
         INDEX { snOspfRoutingInfoIndex }
         ::= { snOspfRoutingInfoTable 1 }

     SnOspfRoutingInfoEntry ::=
         SEQUENCE {
       		 snOspfRoutingInfoIndex 
            	 INTEGER,
             snOspfRoutingInfoRouterID
                 RouterID,
             snOspfRoutingInfoRouterType
                 INTEGER,
             snOspfRoutingInfoNextHopRouterID
                 RouterID,
             snOspfRoutingInfoOutgoingInterface
                 INTEGER
         }

     snOspfRoutingInfoIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Routing entry."
         ::= { snOspfRoutingInfoEntry 1 }


     snOspfRoutingInfoRouterID 	OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router ID of the destination router." 
         ::= { snOspfRoutingInfoEntry 2 }

     snOspfRoutingInfoRouterType OBJECT-TYPE
         SYNTAX   INTEGER {
                     abr  (1),
                     asbr (2),
					 abrANDasbr(3)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router type of the destination router as the following:
                     abr  (1) -- area border router.
                     asbr (2) -- autonomous sytem border router.
                     abrANDasbr(3) -- area border and autonomous system border router."
         ::= { snOspfRoutingInfoEntry 3 }

     snOspfRoutingInfoNextHopRouterID OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The router ID of the next hop destination router."
         ::= { snOspfRoutingInfoEntry 4 }

     snOspfRoutingInfoOutgoingInterface OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The outgoing interface of the destination router."
         ::= { snOspfRoutingInfoEntry 5 }

--  Section 15:		Trap Support Objects

--         The following are support objects for the OSPF traps.


	    snOspfSetTrap OBJECT-TYPE
	        SYNTAX   OCTET STRING (SIZE(4))
	        ACCESS   read-write
	        STATUS   mandatory
	        DESCRIPTION
	           "A four-octet string serving as a bit  map  for
	           the trap events defined by the OSPF traps. This
	           object is used to enable and  disable  specific
	           OSPF   traps   where  a  1  in  the  bit  field
	           represents enabled.  The right-most bit  (least
	           significant) represents trap 0."
	       ::= { snOspfTrapControl 1 }


	    snOspfConfigErrorType OBJECT-TYPE
	        SYNTAX   INTEGER   {
	                    badVersion (1),
	                    areaMismatch (2),
	                    unknownNbmaNbr (3), -- Router is Dr eligible
	                    unknownVirtualNbr (4),
	                    authTypeMismatch(5),
	                    authFailure (6),
	                    netMaskMismatch (7),
	                    helloIntervalMismatch (8),
	                    deadIntervalMismatch (9),
	                    optionMismatch (10) }
	        ACCESS   read-only
	        STATUS   mandatory
	        DESCRIPTION
	           "Potential types  of  configuration  conflicts.
	           Used  by the ospfConfigError and ospfConfigVir-
	           tError traps."
	   ::= { snOspfTrapControl 2 }


	    snOspfPacketType OBJECT-TYPE
	        SYNTAX   INTEGER   {
	                    hello (1),
	                    dbDescript (2),
	                    lsReq (3),
	                    lsUpdate (4),
	                    lsAck (5) }
	        ACCESS   read-only
	        STATUS   mandatory
	        DESCRIPTION

	           "OSPF packet types."
	   ::= { snOspfTrapControl 3 }


	    snOspfPacketSrc OBJECT-TYPE
	        SYNTAX   IpAddress
	        ACCESS   read-only
	        STATUS   mandatory
	        DESCRIPTION
	           "The IP address of an inbound packet that  can-
	           not be identified by a neighbor instance."
	       ::= { snOspfTrapControl 4 }

	    snOspfTrapsGenerationMode OBJECT-TYPE
    	    SYNTAX   RtrStatus
        	ACCESS   read-write
        	STATUS   mandatory
 	       	DESCRIPTION
	           "Indicates if the generation of any OSPF traps is permitted on the router. 
	            The value 'enabled' denotes that the OSPF Traps can be generated by the 
                router; 'disabled' denotes that the OSPF Traps can not be generated by the
                router even when snOspfSetTrap indicates the generation of specific OSPF Traps.
                This object provides global control on the generation of ospf traps."
	       ::= { snOspfTrapControl 5 }


END
HP-SN-IP-MIB DEFINITIONS ::= BEGIN


-- Foundry SnRouter Group MIB Release 1.0.0
-- Revision 0 1/7/97

-- Copyright 1996-97 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base 
-- 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

IMPORTS
	IpAddress, Counter, TimeTicks
		FROM RFC1155-SMI
	OBJECT-TYPE             
		FROM RFC-1212

	InterfaceIndex 
		FROM IF-MIB
		
	snIp, snRip, snDvmrp, snFsrp, snGblRt, snPim, snLoopbackIf
		FROM HP-SN-ROOT-MIB;

	-- textual conventions

         DisplayString ::= OCTET STRING

	--  RtrStatus Values

	     RtrStatus ::= INTEGER { disabled(0), enabled (1) }

	--  Clear Status Values

	     ClearStatus ::= INTEGER { normal(0), clear(1) }

	--  Row Creation/Deletion Values

	     RowSts ::= INTEGER { other(1),
						valid(2),
						delete(3),
						create(4)
						}

	--  Port index

	     PortIndex ::= INTEGER (1..3900)
		-- The port index.
		-- For FastIron/NetIron products, port index value is from 1 to 42
		-- For BigIron products, port index is an encoded number:
		-- The bit 0 to bit 7: port number.
		-- The bit 8 to bit 11: slot number.
		-- For virtual router interface, slot number is 15,
		-- port number is the virtual router port from 1 to 60.
		-- Therefore, port index value for BigIron is from 257 to 3900.

	--  Action 

		Action ::= INTEGER { deny(0), permit(1) }

	  PhysAddress ::=
	      OCTET STRING
	  -- This data type is used to model media addresses.  For many
	  -- types of media, this will be in a binary representation.
	  -- For example, an ethernet address would be represented as
	  -- a string of 6 octets.

     --  The OSPF Metric is defined as an unsigned value in the range

             Metric    ::= INTEGER (0..65535)

	  PortMask ::=
		  INTEGER
	  -- This data type is used to model port bitmask.  The 
	  -- maximum of ports are 32.  


-- SECTION 2: MIB 

-- Global Router MIB
-- This section contains global MIB object definitions applicable to the
-- switching router. These objects should be independent to any routing
-- protocol.

snGblRtGeneral              OBJECT IDENTIFIER ::= { snGblRt 1 }

snGblRtRouteOnly        OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"If this object is 'enabled', this switching router will only
		route packets. If this object is 'disabled', this switching
		router will first route packets. If route cannot perform,
		it will switch packets."
	::= { snGblRtGeneral 1 }

-- Router IP MIB
-- This section contains IP specific router MIB object definitions.

-- IP general group

snRtIpGeneral               OBJECT IDENTIFIER ::= { snIp 1 }
		
snRtClearArpCache       OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear arp cache table."
	::= { snRtIpGeneral 1 }

snRtClearIpCache                OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear ip route cache table."
	::= { snRtIpGeneral 2 }

snRtClearIpRoute                OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear ip route table."
	::= { snRtIpGeneral 3 }

snRtBootpServer                 OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"IP address of bootp server to
		which bootp packet need to be relayed."
	::= { snRtIpGeneral 4 }

snRtBootpRelayMax               OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Maximum number of hop the bootp packet 
		should travel."
	::= { snRtIpGeneral 5 } 

snRtArpAge                      OBJECT-TYPE
	SYNTAX  INTEGER (0..240)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The time in minutes an ARP entry can
		be valid without relearning. 
		0 - Don't not age."
	::= { snRtIpGeneral 6 }

snRtIpIrdpEnable                OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Perform router advertisement on this box."
	::= { snRtIpGeneral 7 }

snRtIpLoadShare         OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"If more than one route available,
		use them to share load."
	::= { snRtIpGeneral 8 }

snRtIpProxyArp          OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable proxy arp function 
		in the box."
	::= { snRtIpGeneral 9 }

snRtIpRarp                      OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable RARP server."
	::= { snRtIpGeneral 10 }

snRtIpTtl                       OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The time to live value to be used
		in IP header of IP packet generated
		by the box."
	::= { snRtIpGeneral 11 }

snRtIpSetAllPortConfig          OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The value of this object is an index number of a
		snRtIpPortConfigTable row (i.e. snRtIpPortConfigPortIndex),
		which is the selected row to copy all of its read-writable
		data (i.e. snRtIpPortMtu and snRtIpPortEncap) to the rest
		of the rows in snRtIpPortConfigTable.
		Note: prior setting this object, all the intended data of
		the given row of the table must be set. Otherwise, the
		current data of the row will be used to set the entire ip
		interface configuration table. The previous setting will
		be overwritten by the new one."
	::= { snRtIpGeneral 12 }

snRtIpFwdCacheMaxEntries        OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of ip forwarding table entries."
	::= { snRtIpGeneral 13 }

snRtIpFwdCacheCurEntries        OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The current number of ip forwarding table entries."
	::= { snRtIpGeneral 14 }

snRtIpMaxStaticRouteEntries     OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of static route entries in the static route table."
	::= { snRtIpGeneral 15 }

snRtIpDirBcastFwd               OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disable directed broadcast forwarding."
    DEFVAL  { enabled }
	::= { snRtIpGeneral 16 }

snRtIpLoadShareNumOfPaths	OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Number of routes are used to share load."
	::= { snRtIpGeneral 17 }

snRtIpLoadShareMaxPaths	OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Maximum number of routes can be configured to share load."
	::= { snRtIpGeneral 18 }

snRtIpLoadShareMinPaths	OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Minimum number of routes can be configured to share load."
	::= { snRtIpGeneral 19 }

snRtIpProtocolRouterId OBJECT-TYPE
    SYNTAX   IpAddress
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "Router Id for all IP Protocols."
    ::= { snRtIpGeneral 20 }

snRtIpSourceRoute OBJECT-TYPE
    SYNTAX   RtrStatus
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "Enable/Disable source routing support, ability to drop the
        source routing packets."
    DEFVAL { enabled }
    ::= { snRtIpGeneral 21 }


-- IP static route table

snRtIpStaticRouteTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpStaticRouteEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP static/default route table."
	::= { snIp 2 }

snRtIpStaticRouteEntry  OBJECT-TYPE
	SYNTAX  SnRtIpStaticRouteEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP static route table."
	INDEX   { snRtIpStaticRouteIndex }
	::= { snRtIpStaticRouteTable 1 }

SnRtIpStaticRouteEntry ::= SEQUENCE {
	snRtIpStaticRouteIndex
		INTEGER,
	snRtIpStaticRouteDest
		IpAddress,
	snRtIpStaticRouteMask
		IpAddress,
	snRtIpStaticRouteNextHop
		IpAddress,
	snRtIpStaticRouteMetric
		INTEGER,
	snRtIpStaticRouteRowStatus
		RowSts,
	snRtIpStaticRouteDistance
		INTEGER
	}

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

snRtIpStaticRouteDest           OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination IP address.
		0.0.0.0 for default route."
	::= { snRtIpStaticRouteEntry 2 }

snRtIpStaticRouteMask           OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Subnet mask associated with 
		the destination IP address.
		0.0.0.0 for default route mask."
	::= { snRtIpStaticRouteEntry 3 }

snRtIpStaticRouteNextHop        OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"IP address of next hop router that
		is located on one of the directly
		attached IP subnet."
	::= { snRtIpStaticRouteEntry 4 }

snRtIpStaticRouteMetric         OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The metrics to next hop router."
	::= { snRtIpStaticRouteEntry 5 }

snRtIpStaticRouteRowStatus      OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a static route
		entry."
	::= { snRtIpStaticRouteEntry 6 }

snRtIpStaticRouteDistance		OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Administration distance."
	::= { snRtIpStaticRouteEntry 7 }

-- ip filter table

snRtIpFilterTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP filter table."
	::= { snIp 3 }

snRtIpFilterEntry       OBJECT-TYPE
	SYNTAX  SnRtIpFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP filter table."
	INDEX   { snRtIpFilterIndex }
	::= { snRtIpFilterTable 1 }

SnRtIpFilterEntry ::= SEQUENCE {
	snRtIpFilterIndex
		INTEGER,
	snRtIpFilterAction              
		INTEGER,
	snRtIpFilterProtocol            
		INTEGER,
	snRtIpFilterSourceIp
		IpAddress,
	snRtIpFilterSourceMask
		IpAddress,
	snRtIpFilterDestIp
		IpAddress,
	snRtIpFilterDestMask
		IpAddress,
	snRtIpFilterOperator
		INTEGER,
	snRtIpFilterOperand
		INTEGER,
	snRtIpFilterRowStatus
		RowSts,
	snRtIpFilterEstablished
		RtrStatus,
	snRtIpFilterQosPriority
		INTEGER
	}

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

snRtIpFilterAction      OBJECT-TYPE
	SYNTAX  INTEGER { deny(0), permit(1), qosEnabled(2) } 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ip packet match
		with this filter."
	::= { snRtIpFilterEntry 2 }

snRtIpFilterProtocol    OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Transport protocol. 0 means don't care"
	::= { snRtIpFilterEntry 3 }

snRtIpFilterSourceIp    OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source IP address."
	::= { snRtIpFilterEntry 4 }

snRtIpFilterSourceMask  OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source IP subnet mask."
	::= { snRtIpFilterEntry 5 }

snRtIpFilterDestIp      OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination IP address."
	::= { snRtIpFilterEntry 6 }

snRtIpFilterDestMask    OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination IP subnet mask."
	::= { snRtIpFilterEntry 7 }

snRtIpFilterOperator    OBJECT-TYPE
	SYNTAX  INTEGER { greater(1), equal(2), less(3), notEqual(4) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Type of comparison to perform.
		for now, this only applys to tcp or udp
		to compare the port number"
	::= { snRtIpFilterEntry 8 }

snRtIpFilterOperand     OBJECT-TYPE
	SYNTAX  INTEGER(0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"For now this only refers to transport 
		protocol port number. 0 means NA"
	::= { snRtIpFilterEntry 9 }

snRtIpFilterRowStatus   OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a filter
		entry."
	::= { snRtIpFilterEntry 10 }

snRtIpFilterEstablished OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disable the filtering of established TCP
		packets of which the ACK or RESET flag is on. This
		additional filter only applies to TCP transport
		protocol."
	::= { snRtIpFilterEntry 11 }

snRtIpFilterQosPriority OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The router L4 Qos Priority values are:
		 low(0)   -- low prority
		 high(1) -- high prority.
		 The Priority values are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snRtIpFilterEntry 12 }

-- RARP table

snRtIpRarpTable         OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpRarpEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP RARP table."
	::= { snIp 4 }

snRtIpRarpEntry         OBJECT-TYPE
	SYNTAX  SnRtIpRarpEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Rarp table."
	INDEX   { snRtIpRarpIndex }
	::= { snRtIpRarpTable 1 }

SnRtIpRarpEntry ::= SEQUENCE {
	snRtIpRarpIndex
		INTEGER,
	snRtIpRarpMac
		OCTET STRING,
	snRtIpRarpIp
		IpAddress,
	snRtIpRarpRowStatus
		RowSts
	}

snRtIpRarpIndex                 OBJECT-TYPE
	SYNTAX  INTEGER (1..16)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a Rarp entry."
	::= { snRtIpRarpEntry 1 }

snRtIpRarpMac           OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Mac address for a Rarp entry."
	::= { snRtIpRarpEntry 2 }

snRtIpRarpIp            OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The IP address for a Rarp entry."
	::= { snRtIpRarpEntry 3 }

snRtIpRarpRowStatus     OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Rarp
		entry."
	::= { snRtIpRarpEntry 4 }

-- Static ARP table

snRtStaticArpTable              OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtStaticArpEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP static arp table."
	::= { snIp 5 }

snRtStaticArpEntry              OBJECT-TYPE
	SYNTAX  SnRtStaticArpEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP static arp table."
	INDEX   { snRtStaticArpIndex }
	::= { snRtStaticArpTable 1 }

SnRtStaticArpEntry ::= SEQUENCE {
	snRtStaticArpIndex
		INTEGER,
	snRtStaticArpIp
		IpAddress,
	snRtStaticArpMac
		OCTET STRING,
	snRtStaticArpPort
		PortIndex,
	snRtStaticArpRowStatus
		RowSts
	}

snRtStaticArpIndex              OBJECT-TYPE
	SYNTAX  INTEGER (1..16)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a static arp entry."
	::= { snRtStaticArpEntry 1 }

snRtStaticArpIp                 OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The IP address for a static arp entry."
	::= { snRtStaticArpEntry 2 }

snRtStaticArpMac                OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Mac address for a static arp entry."
	::= { snRtStaticArpEntry 3 }

snRtStaticArpPort               OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The port index for a static arp entry."
	::= { snRtStaticArpEntry 4 }

snRtStaticArpRowStatus  OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Static Arp
		entry."
	::= { snRtStaticArpEntry 5 }

-- ip interface address table
-- this table was replaced by the snRtIpPortIfAddrTable,
-- of which the index was changed to ifIndex, not another
-- indexing method used by this table

snRtIpPortAddrTable             OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpPortAddrEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP port address table."
	::= { snIp 6 }

snRtIpPortAddrEntry             OBJECT-TYPE
	SYNTAX  SnRtIpPortAddrEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"An entry in the IP Port Address table."
	INDEX   { snRtIpPortAddrPortIndex, snRtIpPortAddress }
	::= { snRtIpPortAddrTable 1 }

SnRtIpPortAddrEntry ::= SEQUENCE {
	snRtIpPortAddrPortIndex
		PortIndex,
	snRtIpPortAddress
		IpAddress,
	snRtIpPortSubnetMask
		IpAddress,
	snRtIpPortAddrType
		INTEGER,
	snRtIpPortRowStatus
		RowSts
	}


snRtIpPortAddrPortIndex                 OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for port address entry."
	::= { snRtIpPortAddrEntry 1 }

snRtIpPortAddress               OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port IP address."
	::= { snRtIpPortAddrEntry 2 }

snRtIpPortSubnetMask            OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The port IP address subnet mask."
	::= { snRtIpPortAddrEntry 3 }

snRtIpPortAddrType              OBJECT-TYPE
	SYNTAX  INTEGER { primary(1), secondary(2) }
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The port IP address type."
    DEFVAL  { primary }
	::= { snRtIpPortAddrEntry 4 }

snRtIpPortRowStatus     OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"To create or delete a port address
		entry."
	::= { snRtIpPortAddrEntry 5 }

-- ip interface access table
-- this table was replaced by the snRtIpPortIfAccessTable,
-- of which the index was changed to ifIndex, not another
-- indexing method used by this table

snRtIpPortAccessTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpPortAccessEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP port access table."
	::= { snIp 7 }

snRtIpPortAccessEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortAccessEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"An entry in the IP Port access table."
	INDEX   { snRtIpPortAccessPortIndex, snRtIpPortAccessDirection }
	::= { snRtIpPortAccessTable 1 }

SnRtIpPortAccessEntry ::= SEQUENCE {
	snRtIpPortAccessPortIndex
		PortIndex,
	snRtIpPortAccessDirection
		INTEGER,
	snRtIpPortAccessFilters
		OCTET STRING,
	snRtIpPortAccessRowStatus
		RowSts
	}

snRtIpPortAccessPortIndex               OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for port access entry."
	::= { snRtIpPortAccessEntry 1 }

snRtIpPortAccessDirection               OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The incoming or outgoing check
		for port access."
	::= { snRtIpPortAccessEntry 2 }

snRtIpPortAccessFilters                 OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"1st octet correspond to 1st  filter 
		number and so on."
	::= { snRtIpPortAccessEntry 3 }

snRtIpPortAccessRowStatus       OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"To create or delete a port access
		entry."
	::= { snRtIpPortAccessEntry 4 }

-- ip interface configuration table
-- this table was replaced by the snRtIpPortIfConfigTable,
-- of which the index was changed to ifIndex, not another
-- indexing method used by this table

snRtIpPortConfigTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpPortConfigEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP port Config table."
	::= { snIp 8 }

snRtIpPortConfigEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortConfigEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"An entry in the IP Port Config table."
	INDEX   { snRtIpPortConfigPortIndex }
	::= { snRtIpPortConfigTable 1 }

SnRtIpPortConfigEntry ::= SEQUENCE {
	snRtIpPortConfigPortIndex
		PortIndex,
	snRtIpPortMtu
		INTEGER,
	snRtIpPortEncap
		INTEGER,
	snRtIpPortMetric
		INTEGER,
	snRtIpPortDirBcastFwd
		RtrStatus
	}

snRtIpPortConfigPortIndex       OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for port config entry."
	::= { snRtIpPortConfigEntry 1 }

snRtIpPortMtu                   OBJECT-TYPE
	SYNTAX  INTEGER (576..4470)
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The maximun transfer unit."
	::= { snRtIpPortConfigEntry 2 }

snRtIpPortEncap                 OBJECT-TYPE
	SYNTAX  INTEGER { 
					 ethernet(1),
					 snap(2),
					 hdlc(3),
					 ppp(4)
					}
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Data link encapsulation to be used
		on the IP frame transmitted on the
		port."
	::= { snRtIpPortConfigEntry 3 }

snRtIpPortMetric                OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The metric."
    DEFVAL  { 1 }
	::= { snRtIpPortConfigEntry 4 }

snRtIpPortDirBcastFwd           OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Enable/Disable directed broadcast forwarding on the port."
    DEFVAL  { enabled }
	::= { snRtIpPortConfigEntry 5 }

-- ip interface address table, PortIndex is changed to ifIndex

snRtIpPortIfAddrTable             OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpPortIfAddrEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP port If address table."
	::= { snIp 18 }

snRtIpPortIfAddrEntry             OBJECT-TYPE
	SYNTAX  SnRtIpPortIfAddrEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Port Address table."
	INDEX   { snRtIpPortIfAddrInterfaceIndex, snRtIpPortIfAddress }
	::= { snRtIpPortIfAddrTable 1 }

SnRtIpPortIfAddrEntry ::= SEQUENCE {
	snRtIpPortIfAddrInterfaceIndex
		InterfaceIndex,
	snRtIpPortIfAddress
		IpAddress,
	snRtIpPortIfSubnetMask
		IpAddress,
	snRtIpPortIfAddrType
		INTEGER,
	snRtIpPortIfRowStatus
		RowSts
	}


snRtIpPortIfAddrInterfaceIndex                 OBJECT-TYPE
	SYNTAX  InterfaceIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The InterfaceIndex for port address entry."
	::= { snRtIpPortIfAddrEntry 1 }

snRtIpPortIfAddress               OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port IP address."
	::= { snRtIpPortIfAddrEntry 2 }

snRtIpPortIfSubnetMask            OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The port IP address subnet mask."
	::= { snRtIpPortIfAddrEntry 3 }

snRtIpPortIfAddrType              OBJECT-TYPE
	SYNTAX  INTEGER { primary(1), secondary(2) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The port IP address type."
    DEFVAL  { primary }
	::= { snRtIpPortIfAddrEntry 4 }

snRtIpPortIfRowStatus     OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a port address
		entry."
	::= { snRtIpPortIfAddrEntry 5 }

-- ip interface access table, PortIndex is changed to ifIndex

snRtIpPortIfAccessTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpPortIfAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP port If access table."
	::= { snIp 19 }

snRtIpPortIfAccessEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortIfAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Port access table."
	INDEX   { snRtIpPortIfAccessInterfaceIndex, snRtIpPortIfAccessDirection }
	::= { snRtIpPortIfAccessTable 1 }

SnRtIpPortIfAccessEntry ::= SEQUENCE {
	snRtIpPortIfAccessInterfaceIndex
		InterfaceIndex,
	snRtIpPortIfAccessDirection
		INTEGER,
	snRtIpPortIfAccessFilters
		OCTET STRING,
	snRtIpPortIfAccessRowStatus
		RowSts
	}

snRtIpPortIfAccessInterfaceIndex               OBJECT-TYPE
	SYNTAX  InterfaceIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The InterfaceIndex for port access entry."
	::= { snRtIpPortIfAccessEntry 1 }

snRtIpPortIfAccessDirection               OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The incoming or outgoing check
		for port access."
	::= { snRtIpPortIfAccessEntry 2 }

snRtIpPortIfAccessFilters                 OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"1st octet correspond to 1st  filter 
		number and so on."
	::= { snRtIpPortIfAccessEntry 3 }

snRtIpPortIfAccessRowStatus       OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a port access
		entry."
	::= { snRtIpPortIfAccessEntry 4 }

-- ip interface configuration table, PortIndex is changed to ifIndex

snRtIpPortIfConfigTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpPortIfConfigEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP port If Config table."
	::= { snIp 20 }

snRtIpPortIfConfigEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortIfConfigEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Port Config table."
	INDEX   { snRtIpPortIfConfigInterfaceIndex }
	::= { snRtIpPortIfConfigTable 1 }

SnRtIpPortIfConfigEntry ::= SEQUENCE {
	snRtIpPortIfConfigInterfaceIndex
		InterfaceIndex,
	snRtIpPortIfMtu
		INTEGER,
	snRtIpPortIfEncap
		INTEGER,
	snRtIpPortIfMetric
		INTEGER,
	snRtIpPortIfDirBcastFwd
		RtrStatus
	}

snRtIpPortIfConfigInterfaceIndex      OBJECT-TYPE
	SYNTAX  InterfaceIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The If index for port config entry."
	::= { snRtIpPortIfConfigEntry 1 }

snRtIpPortIfMtu                   OBJECT-TYPE
	SYNTAX  INTEGER (576..4470)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The maximun transfer unit."
	::= { snRtIpPortIfConfigEntry 2 }

snRtIpPortIfEncap                 OBJECT-TYPE
	SYNTAX  INTEGER { 
					 ethernet(1),
					 snap(2),
					 hdlc(3),
					 ppp(4),
					 other(5)
					}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Data link encapsulation to be used
		on the IP frame transmitted on the
		port."
	::= { snRtIpPortIfConfigEntry 3 }

snRtIpPortIfMetric                OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The metric."
    DEFVAL  { 1 }
	::= { snRtIpPortIfConfigEntry 4 }

snRtIpPortIfDirBcastFwd           OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disable directed broadcast forwarding on the port."
    DEFVAL  { enabled }
	::= { snRtIpPortIfConfigEntry 5 }


-- Broadcast forwarding group

snRtBcastFwd                OBJECT IDENTIFIER ::= { snIp 9 }
snRtBcastFwdGeneral         OBJECT IDENTIFIER ::= { snRtBcastFwd 1 }
snRtUdpBcastFwdPort         OBJECT IDENTIFIER ::= { snRtBcastFwd 2 }
snRtUdpHelper               OBJECT IDENTIFIER ::= { snRtBcastFwd 3 }

-- General UDP broadcast forwarding group

snRtUdpBcastFwdEnable         OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable or disable UDP broadcast forwarding service.
		When UDP broadcast forwarding is enabled, default
		entries are added to the UDP broadcast forwarding
		port table. When it is disabled, UDP broadcast
		forwarding port table is flushed to empty."
    DEFVAL     { enabled }
	::= { snRtBcastFwdGeneral 1 }

-- UDP broadcast forwarding port table

snRtUdpBcastFwdPortTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtUdpBcastFwdPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"This table contains a list of UDP port numbers
		for which forwarding UDP broadcast is enabled."
	::= { snRtUdpBcastFwdPort 1 }

snRtUdpBcastFwdPortEntry  OBJECT-TYPE
	SYNTAX  SnRtUdpBcastFwdPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the UDP broadcast forwarding
		port table."
	INDEX   { snRtUdpBcastFwdPortIndex }
	::= { snRtUdpBcastFwdPortTable 1 }

SnRtUdpBcastFwdPortEntry ::= SEQUENCE {
	snRtUdpBcastFwdPortIndex
		INTEGER,
	snRtUdpBcastFwdPortNumber
		INTEGER,
	snRtUdpBcastFwdPortRowStatus
		RowSts
	}

snRtUdpBcastFwdPortIndex      OBJECT-TYPE
	SYNTAX  INTEGER (1..20)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a UDP broadcast forwarding
		port entry."
	::= { snRtUdpBcastFwdPortEntry 1 }

snRtUdpBcastFwdPortNumber     OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"UDP port number for which UDP broadcast forwarding
		is enabled."
	::= { snRtUdpBcastFwdPortEntry 2 }

snRtUdpBcastFwdPortRowStatus  OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a UDP broadcast forwarding
		port entry."
	::= { snRtUdpBcastFwdPortEntry 3 }

-- UDP helper table

snRtUdpHelperTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtUdpHelperEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"UDP helper table."
	::= { snRtUdpHelper 1 }

snRtUdpHelperEntry  OBJECT-TYPE
	SYNTAX  SnRtUdpHelperEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the UDP helper table."
	INDEX   { snRtUdpHelperPortIndex, snRtUdpHelperIndex }
	::= { snRtUdpHelperTable 1 }

SnRtUdpHelperEntry ::= SEQUENCE {
	snRtUdpHelperPortIndex
		PortIndex,
	snRtUdpHelperIndex
		INTEGER,
	snRtUdpHelperAddr
		IpAddress,
	snRtUdpHelperRowStatus
		RowSts
	}

snRtUdpHelperPortIndex  OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for a UDP helper entry."
	::= { snRtUdpHelperEntry 1 }

snRtUdpHelperIndex      OBJECT-TYPE
	SYNTAX  INTEGER (1..4)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a UDP helper entry."
	::= { snRtUdpHelperEntry 2 }

snRtUdpHelperAddr       OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The UDP helper address. This is the address that
		UDP packets will be forwarded. It can be a helper
		address or a subnet broadcast address. But it
		cannot be 255.255.255.255 or 0.0.0.0."
	::= { snRtUdpHelperEntry 3 }

snRtUdpHelperRowStatus  OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a UDP helper entry."
	::= { snRtUdpHelperEntry 4 }

-- Trace route group
-- This group uses the following method to detect routes used to reach
-- a destination address. The originating router sends a probe packet
-- (a UDP packet) to the destination address with TTL of 1. The first
-- router that receives this packet decrements the TTL, then drops the
-- packet and returns a ICMP packet to the originator. The originating
-- router records the route in snRtIpTraceRouteResultTable. The ori-
-- ginating router sends a probe packet (a UDP packet) to the des-
-- tination address with TTL of 2. The second router that receives
-- this packet decrements the TTL, then drops the packet and returns
-- a ICMP packet to the originator. The originating router records the
-- route in snRtIpTraceRouteResultTable. This procedure is repeated
-- until the destination is reached, or the maximum TTL is reached.

snRtIpTraceRoute            OBJECT IDENTIFIER ::= { snIp 10 }
snRtIpTraceRouteGeneral     OBJECT IDENTIFIER ::= { snRtIpTraceRoute 1 }
snRtIpTraceRouteResult      OBJECT IDENTIFIER ::= { snRtIpTraceRoute 2 }

-- General trace route group

snRtIpTraceRouteTargetAddr  OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Target IP address of which trace route is performed."
	::= { snRtIpTraceRouteGeneral 1 }

snRtIpTraceRouteMinTtl      OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Minimum TTL value carried in the first probe packet."
    DEFVAL { 1 }
	::= { snRtIpTraceRouteGeneral 2 }

snRtIpTraceRouteMaxTtl      OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Maximum TTL value carried in the last probe packet."
    DEFVAL { 30 }
	::= { snRtIpTraceRouteGeneral 3 }

snRtIpTraceRouteTimeOut     OBJECT-TYPE
	SYNTAX  INTEGER (1..120)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Time out period (in seconds) to wait for the response
		from the probe packet (i,e, the ICMP packet)."
    DEFVAL { 2 }
	::= { snRtIpTraceRouteGeneral 4 }

snRtIpTraceRouteControl     OBJECT-TYPE
	SYNTAX  INTEGER {
				start(1),
				abort(2),
				success(3),
				failure(4),
				inProgress(5)
			}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Only 'start' and 'abort' are writable values; 'success',
		'failure' and 'inProgress' are readeable (or returned)
		values.
		
		Writing 'start' to this object to initiate the trace route
		operation. snRtIpTraceRouteDestAddr must have been init-
		ialized before 'start' is writen.

		This object will return 'inProgress' after trace route
		operation has started. During the 'inProgress' state,
		writing 'abort' to this object will stop the current
		trace route operation.

		If the destination address is reached, this object
		returned 'success'. snRtIpTraceRouteResultTable
		contains the routes (and the target address) to
		reach the destination address. If the destination
		address does not reach, timeout, or ending TTL
		reached, 'failure' is returned."
	::= { snRtIpTraceRouteGeneral 5 }

-- Trace route result table

snRtIpTraceRouteResultTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpTraceRouteResultEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Trace route result table."
	::= { snRtIpTraceRouteResult 1 }

snRtIpTraceRouteResultEntry  OBJECT-TYPE
	SYNTAX  SnRtIpTraceRouteResultEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the trace route result table."
	INDEX   { snRtIpTraceRouteResultIndex }
	::= { snRtIpTraceRouteResultTable 1 }

SnRtIpTraceRouteResultEntry ::= SEQUENCE {
	snRtIpTraceRouteResultIndex
		INTEGER,
	snRtIpTraceRouteResultAddr
		IpAddress,
	snRtIpTraceRouteResultRoundTripTime1
		TimeTicks,
	snRtIpTraceRouteResultRoundTripTime2
		TimeTicks
	}

snRtIpTraceRouteResultIndex          OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a trace route result entry."
	::= { snRtIpTraceRouteResultEntry 1 }

snRtIpTraceRouteResultAddr           OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The router or the target address of which forms
		part of the route to reach the destination address."
	::= { snRtIpTraceRouteResultEntry 2 }

snRtIpTraceRouteResultRoundTripTime1 OBJECT-TYPE
	SYNTAX  TimeTicks
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The round trip time between the first probe packet
		transmitted and the reponse ICMP packet received."
	::= { snRtIpTraceRouteResultEntry 3 }

snRtIpTraceRouteResultRoundTripTime2 OBJECT-TYPE
	SYNTAX  TimeTicks
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The round trip time between the second probe packet
		transmitted and the reponse ICMP packet received."
	::= { snRtIpTraceRouteResultEntry 4 }

-- IP forwarding cache table

snRtIpFwdCacheTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpFwdCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP forwarding cache table."
	::= { snIp 11 }

snRtIpFwdCacheEntry  OBJECT-TYPE
	SYNTAX  SnRtIpFwdCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP forwarding cache table."
	INDEX   { snRtIpFwdCacheIndex }
	::= { snRtIpFwdCacheTable 1 }

SnRtIpFwdCacheEntry ::= SEQUENCE {
	snRtIpFwdCacheIndex
		INTEGER,
	snRtIpFwdCacheIp
		IpAddress,
	snRtIpFwdCacheMac
		OCTET STRING,
	snRtIpFwdCacheNextHopIp
		IpAddress,
	snRtIpFwdCacheOutgoingPort
		INTEGER,
	snRtIpFwdCacheType
		INTEGER,
	snRtIpFwdCacheAction
		INTEGER,
	snRtIpFwdCacheFragCheck
		INTEGER,
	snRtIpFwdCacheSnapHdr
		INTEGER,
	snRtIpFwdCacheVLanId
		INTEGER
	}

snRtIpFwdCacheIndex         OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a ip forwarding cache table entry."
	::= { snRtIpFwdCacheEntry 1 }

snRtIpFwdCacheIp            OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IP address of a station."
	::= { snRtIpFwdCacheEntry 2 }

snRtIpFwdCacheMac           OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The Mac address of an IP station."
	::= { snRtIpFwdCacheEntry 3 }

snRtIpFwdCacheNextHopIp     OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The next hop router IP address."
	::= { snRtIpFwdCacheEntry 4 }

snRtIpFwdCacheOutgoingPort  OBJECT-TYPE
	SYNTAX  INTEGER (0..3900)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The outgoing port of which packets will forward to.
		Return port value of zero to indicate no outgoing port
		associated to this entry. Non-zero value has the
		following meanings:
		The bit 0 to bit 7: port number.
		The bit 8 to bit 11: slot number.
		For virtual router interface, slot number is 15,
		port number is the virtual router port from 1 to 60."
	::= { snRtIpFwdCacheEntry 5 }

snRtIpFwdCacheType          OBJECT-TYPE
	SYNTAX  INTEGER { dynamic(1), permanent(2) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The 'dynamic' or 'permanent' type for a ip forwarding
		cache table entry."
	::= { snRtIpFwdCacheEntry 6 }

snRtIpFwdCacheAction        OBJECT-TYPE
	SYNTAX  INTEGER {
			other(1),
			forward(2),
			forUs(3),
			waitForArp(4),
			complexFilter(5),
			icmpDeny(6),
			dropPacket(7)
			}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The action to take."
	::= { snRtIpFwdCacheEntry 7 }

snRtIpFwdCacheFragCheck     OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Check for fragmentation."
	::= { snRtIpFwdCacheEntry 8 }

snRtIpFwdCacheSnapHdr       OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Apply SNAP encapsulation."
	::= { snRtIpFwdCacheEntry 9 }

snRtIpFwdCacheVLanId        OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID for a ip forwarding cache table entry.
		Return VLAN ID value of zero to indicate no VLAN
		associated to this entry."
	::= { snRtIpFwdCacheEntry 10 }


-- Ip AS-Path Access List table

snIpAsPathAccessListTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpAsPathAccessListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Ip As-Path Access List table."
	::= { snIp 12 }

snIpAsPathAccessListEntry       OBJECT-TYPE
	SYNTAX  SnIpAsPathAccessListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Ip As-Path Access List table."
	INDEX   { snIpAsPathAccessListIndex,  snIpAsPathAccessListSequence}
	::= { snIpAsPathAccessListTable 1 }

SnIpAsPathAccessListEntry ::= SEQUENCE {
	snIpAsPathAccessListIndex
		INTEGER,
	snIpAsPathAccessListSequence
		INTEGER,
	snIpAsPathAccessListAction              
		INTEGER,
	snIpAsPathAccessListRegExpression
		OCTET STRING,
	snIpAsPathAccessListRowStatus
		INTEGER
	}

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

snIpAsPathAccessListSequence       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpAsPathAccessListEntry 2 }

snIpAsPathAccessListAction      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."
	::= { snIpAsPathAccessListEntry 3 }

snIpAsPathAccessListRegExpression    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."
	::= { snIpAsPathAccessListEntry 4 }

snIpAsPathAccessListRowStatus   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"
	::= { snIpAsPathAccessListEntry 5 }


-- Ip Community List table

snIpCommunityListTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpCommunityListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Ip Community List table."
	::= { snIp 13 }

snIpCommunityListEntry       OBJECT-TYPE
	SYNTAX  SnIpCommunityListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Ip Community List table."
	INDEX   { snIpCommunityListIndex,  snIpCommunityListSequence}
	::= { snIpCommunityListTable 1 }

SnIpCommunityListEntry ::= SEQUENCE {
	snIpCommunityListIndex
		INTEGER,
	snIpCommunityListSequence
		INTEGER,
	snIpCommunityListAction              
		INTEGER,
	snIpCommunityListCommNum
		OCTET STRING,
	snIpCommunityListInternet
		INTEGER,
	snIpCommunityListNoAdvertise
		INTEGER,
	snIpCommunityListNoExport
		INTEGER,
	snIpCommunityListRowStatus
		INTEGER,
	snIpCommunityListLocalAs
		INTEGER
	}

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

snIpCommunityListSequence       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpCommunityListEntry 2 }

snIpCommunityListAction      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."
	::= { snIpCommunityListEntry 3 }

snIpCommunityListCommNum    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."
	::= { snIpCommunityListEntry 4 }

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

snIpCommunityListNoAdvertise 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)."
	::= { snIpCommunityListEntry 6 }

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

snIpCommunityListRowStatus   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"
	::= { snIpCommunityListEntry 8 }

snIpCommunityListLocalAs 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."
	::= { snIpCommunityListEntry 9 }


-- Ip Prefix List table

snIpPrefixListTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpPrefixListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Ip Prefix List table."
	::= { snIp 14 }

snIpPrefixListEntry       OBJECT-TYPE
	SYNTAX  SnIpPrefixListEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Ip As-Path Access List table."
	INDEX   { snIpPrefixListName,  snIpPrefixListSequence}
	::= { snIpPrefixListTable 1 }

SnIpPrefixListEntry ::= SEQUENCE {
	snIpPrefixListName
		OCTET STRING,
	snIpPrefixListSequence
		INTEGER,
	snIpPrefixListDesc
		OCTET STRING,
	snIpPrefixListAction              
		INTEGER,
	snIpPrefixListAddr
		IpAddress,
	snIpPrefixListMask
		IpAddress, 
	snIpPrefixListGeValue
		INTEGER,
	snIpPrefixListLeValue
		INTEGER,
	snIpPrefixListRowStatus
		INTEGER
	}

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

snIpPrefixListSequence       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpPrefixListEntry 2 }

snIpPrefixListDesc    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..80))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
        "An octet string of the ip prefix list description, each character of the name
         is represented by one octet."
	::= { snIpPrefixListEntry 3 }

snIpPrefixListAction      OBJECT-TYPE
	SYNTAX  INTEGER { deny(0), permit(1) } 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ip prefix match
		with this filter."
	::= { snIpPrefixListEntry 4 }

snIpPrefixListAddr    OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Prefix IP address."
	::= { snIpPrefixListEntry 5 }

snIpPrefixListMask    OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Prefix IP mask."
	::= { snIpPrefixListEntry 6 }

snIpPrefixListGeValue OBJECT-TYPE
         SYNTAX   INTEGER (0..32)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Greater than value."
	::= { snIpPrefixListEntry 7 }

snIpPrefixListLeValue OBJECT-TYPE
         SYNTAX   INTEGER (0..32)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Less than value."
	::= { snIpPrefixListEntry 8 }

snIpPrefixListRowStatus   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"
	::= { snIpPrefixListEntry 9 }


-- ################################ new 2 tables ###################################
-- Ip AS-Path Access List table

snIpAsPathAccessListStringTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpAsPathAccessListStringEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Ip As-Path Access List table, string version."
	::= { snIp 16 }

snIpAsPathAccessListStringEntry       OBJECT-TYPE
	SYNTAX  SnIpAsPathAccessListStringEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Ip As-Path Access List table."
	INDEX   { snIpAsPathAccessListStringName,  snIpAsPathAccessListStringSequence}
	::= { snIpAsPathAccessListStringTable 1 }

SnIpAsPathAccessListStringEntry ::= SEQUENCE {
	snIpAsPathAccessListStringName
		DisplayString,
	snIpAsPathAccessListStringSequence
		INTEGER,
	snIpAsPathAccessListStringAction              
		INTEGER,
	snIpAsPathAccessListStringRegExpression
		DisplayString,
	snIpAsPathAccessListStringRowStatus
		INTEGER
	}

snIpAsPathAccessListStringName      OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a filter entry, string version."
	::= { snIpAsPathAccessListStringEntry 1 }

snIpAsPathAccessListStringSequence       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpAsPathAccessListStringEntry 2 }

snIpAsPathAccessListStringAction      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."
	::= { snIpAsPathAccessListStringEntry 3 }

snIpAsPathAccessListStringRegExpression    OBJECT-TYPE
	SYNTAX  DisplayString (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."
	::= { snIpAsPathAccessListStringEntry 4 }

snIpAsPathAccessListStringRowStatus   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"
	::= { snIpAsPathAccessListStringEntry 5 }


-- Ip Community ListString table

snIpCommunityListStringTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpCommunityListStringEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Ip Community ListString table, string version."
	::= { snIp 17 }

snIpCommunityListStringEntry       OBJECT-TYPE
	SYNTAX  SnIpCommunityListStringEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Ip Community ListString table."
	INDEX   { snIpCommunityListStringName,  snIpCommunityListStringSequence}
	::= { snIpCommunityListStringTable 1 }

SnIpCommunityListStringEntry ::= SEQUENCE {
	snIpCommunityListStringName
		DisplayString,
	snIpCommunityListStringSequence
		INTEGER,
	snIpCommunityListStringAction              
		INTEGER,
	snIpCommunityListStringCommNum
		OCTET STRING,
	snIpCommunityListStringInternet
		INTEGER,
	snIpCommunityListStringNoAdvertise
		INTEGER,
	snIpCommunityListStringNoExport
		INTEGER,
	snIpCommunityListStringRowStatus
		INTEGER,
	snIpCommunityListStringLocalAs
		INTEGER
	}

snIpCommunityListStringName       OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a filter entry."
	::= { snIpCommunityListStringEntry 1 }

snIpCommunityListStringSequence       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpCommunityListStringEntry 2 }

snIpCommunityListStringAction      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."
	::= { snIpCommunityListStringEntry 3 }

snIpCommunityListStringCommNum    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."
	::= { snIpCommunityListStringEntry 4 }

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

snIpCommunityListStringNoAdvertise 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)."
	::= { snIpCommunityListStringEntry 6 }

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

snIpCommunityListStringRowStatus   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"
	::= { snIpCommunityListStringEntry 8 }

snIpCommunityListStringLocalAs 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."
	::= { snIpCommunityListStringEntry 9 }




-- SECTION 2: MIB 

-- Router IP RIP MIB

snRtIpRipGeneral                        OBJECT IDENTIFIER ::= { snRip 1 }

-- IP RIP general group

snRtIpRipEnable                 OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable ip rip routing."
	::= { snRtIpRipGeneral 1 }

snRtIpRipUpdateTime             OBJECT-TYPE
	SYNTAX  INTEGER (1..1000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Ip rip update interval in seconds."
	::= { snRtIpRipGeneral 2 }

snRtIpRipRedisEnable            OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable redistribution to rip."
	::= { snRtIpRipGeneral 3 }

snRtIpRipRedisDefMetric         OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Default metric to be used when redistribute route to rip."
	::= { snRtIpRipGeneral 4 }

snRtIpRipSetAllPortConfig       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The value of this object is an index number of a
		snRtIpRipPortConfigTable row (i.e. snRtIpRipPortConfigPortIndex),
		which is the selected row to copy all of its read-writable data
		(i.e. snRtIpRipPortVersion and snRtIpRipPortPoisonReverse) to the
		rest of the rows in snRtIpRipPortConfigTable.
		Note: prior setting this object, all the intended data of the
		given row of the table must be set. Otherwise, the current data
		of the row will be used to set the entire ip rip port configuration
		table. The previous setting will be overwritten by the new one."
	::= { snRtIpRipGeneral 5 }

snRtIpRipGblFiltList            OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..64))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An ip rip global filter list, of which each octet contains a
		filter ID number that forms a group of filters. A valid entry
		in the snRtIpRipRouteFilterTable with the corresponding filter
		ID number (i.e. snRtIpRipRouteFilterId) must have been created
		before a filter list is initialized."
	::= { snRtIpRipGeneral 6 }

snRtIpRipFiltOnAllPort          OBJECT-TYPE
	SYNTAX	INTEGER {
	    valid(1),
	    deleteAllInBound(2),
	    deleteAllOutBound(3),
	    addAllInBound(4),
	    addAllOutBound(5)
	}
	ACCESS	read-write
	STATUS  mandatory
	DESCRIPTION
		"Apply the ip rip global filter list snRtIpRipGblFiltList to
		all interfaces. This object is used to add all rip filter
		lists and delete all rip filter lists to/from all interfaces.
		Prior to sending this command, snRtIpRipGblFiltList must have
		been set to a proper filter list.

		The values that can be written are:
		deleteAllInBound(2)...delete all in-bound filter lists from all ports.
		deleteAllOutBound(3)..delete all out-bound filter lists from all ports.
		addAllInBound(4)......add all in-bound filter lists to all ports.
		addAllOutBound(5).....add all out-bound filter lists to all ports.

		If set operation failed, then a SET with value of (2) or (3)
		returns error code 'GenError'. If succeed, entries in the
		filter list are deleted immediately.

		The following values can be returned on reads:
		valid(1)....set operation is done and is valid."
	::= { snRtIpRipGeneral 7 }

snRtIpRipDistance         OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Administration distance."
	::= { snRtIpRipGeneral 8 }

-- IP RIP port configuration table
-- this table was replaced by the snRtIpRipPortIfConfigTable,
-- of which the index was changed to ifIndex, not another
-- indexing method used by this table

snRtIpRipPortConfigTable        OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpRipPortConfigEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP Rip port Config table."
	::= { snRip 2 }

snRtIpRipPortConfigEntry        OBJECT-TYPE
	SYNTAX  SnRtIpRipPortConfigEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"An entry in the IP Rip Port Config table."
	INDEX   { snRtIpRipPortConfigPortIndex }
	::= { snRtIpRipPortConfigTable 1 }

SnRtIpRipPortConfigEntry ::= SEQUENCE {
	snRtIpRipPortConfigPortIndex
		PortIndex,
	snRtIpRipPortVersion
		INTEGER,
	snRtIpRipPortPoisonReverse
		RtrStatus,
	snRtIpRipPortLearnDefault
		INTEGER
	}

snRtIpRipPortConfigPortIndex    OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for ip rip port config entry."
	::= { snRtIpRipPortConfigEntry 1 }

snRtIpRipPortVersion            OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), v1Only(1), v2Only(2), v1CompatibleV2(3) }
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The ip rip version on this port."
	::= { snRtIpRipPortConfigEntry 2 }

snRtIpRipPortPoisonReverse      OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Enable/disable poison reverse."
	::= { snRtIpRipPortConfigEntry 3 }

snRtIpRipPortLearnDefault          OBJECT-TYPE
	SYNTAX	INTEGER {
		disabled(0),             
		enabled(1)
	}
	ACCESS	read-write
	STATUS  deprecated
	DESCRIPTION
		"Apply the RIP router protocol learn-default option to the
		interface.  The values that can be written are:
		disabled(0)...deleted the learn default option.
		enabled(1)....enabled the learn default option."
	::= { snRtIpRipPortConfigEntry 4 }

-- redistribution table

snRtIpRipRedisTable             OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpRipRedisEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP Rip Redistribution table."
	::= { snRip 3 }

snRtIpRipRedisEntry             OBJECT-TYPE
	SYNTAX  SnRtIpRipRedisEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Rip Redistribution table."
	INDEX   { snRtIpRipRedisIndex }
	::= { snRtIpRipRedisTable 1 }

SnRtIpRipRedisEntry ::= SEQUENCE {
	snRtIpRipRedisIndex
		INTEGER,        
	snRtIpRipRedisAction
		Action,
	snRtIpRipRedisProtocol
		INTEGER,
	snRtIpRipRedisIp
		IpAddress,
	snRtIpRipRedisMask
		IpAddress,
	snRtIpRipRedisMatchMetric
		Metric,
	snRtIpRipRedisSetMetric
		INTEGER,
	snRtIpRipRedisRowStatus
		RowSts
	}
			
snRtIpRipRedisIndex             OBJECT-TYPE
	SYNTAX  INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a IP Rip Redistribution entry."
	::= { snRtIpRipRedisEntry 1 }

snRtIpRipRedisAction            OBJECT-TYPE
	SYNTAX  Action
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The action to take when match this 
		IP Rip Redistribution entry."
	::= { snRtIpRipRedisEntry 2 }

snRtIpRipRedisProtocol          OBJECT-TYPE
	SYNTAX  INTEGER { other(1), all(2), static(3), ospf(4), bgp(5), isis(6) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The protocol to be distributed. other(1) cannot be 
                 used for SNMP-SET." 
	::= { snRtIpRipRedisEntry 3 }

snRtIpRipRedisIp        OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The ip address of the ip route to be distributed.
		0.0.0.0 - all routes" 
	::= { snRtIpRipRedisEntry 4 }

		
snRtIpRipRedisMask              OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The ip subnet mask of the ip route to be distributed." 
	::= { snRtIpRipRedisEntry 5 }

snRtIpRipRedisMatchMetric       OBJECT-TYPE
	SYNTAX  Metric
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The metric of the route to be matched
		to determine the redistribution.
		0 - any metric value" 
	::= { snRtIpRipRedisEntry 6 }

snRtIpRipRedisSetMetric         OBJECT-TYPE
	SYNTAX  INTEGER (0..15)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The new metric of the route to be advertised.
		0 - use the default metric." 
	::= { snRtIpRipRedisEntry 7 }

snRtIpRipRedisRowStatus         OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Redistribution entry."
	::= { snRtIpRipRedisEntry 8 }

-- IP RIP route filter table

snRtIpRipRouteFilterTable	  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtIpRipRouteFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"ip rip route filter table."
	::= { snRip 4 }

snRtIpRipRouteFilterEntry	  OBJECT-TYPE
	SYNTAX	SnRtIpRipRouteFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the ip rip route filter table."
	INDEX	{ snRtIpRipRouteFilterId }
	::= { snRtIpRipRouteFilterTable 1 }

SnRtIpRipRouteFilterEntry ::= SEQUENCE {
	snRtIpRipRouteFilterId
		INTEGER,
	snRtIpRipRouteFilterAction
		Action,
	snRtIpRipRouteFilterIpAddr
		IpAddress,
	snRtIpRipRouteFilterSubnetMask
		IpAddress,
	snRtIpRipRouteFilterRowStatus
		INTEGER
	}

snRtIpRipRouteFilterId         OBJECT-TYPE
	SYNTAX	INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The filter ID to identify a filter entry."
	::= { snRtIpRipRouteFilterEntry 1 }

snRtIpRipRouteFilterAction	   OBJECT-TYPE
	SYNTAX  Action 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ip rip packet matched
		with this filter."
	::= { snRtIpRipRouteFilterEntry 2 }

snRtIpRipRouteFilterIpAddr     OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Route IP address to compare with any route IP addresses
		in a ip rip packet. IP address 0.0.0.0 always compare
		equals to any route IP addresses in any ip rip packets."
	::= { snRtIpRipRouteFilterEntry 3 }

snRtIpRipRouteFilterSubnetMask OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Subnet mask to apply to the route IP address in a ip rip
		packet, the result is compared to snRtIpRipRouteFilterIpAddr.
		If snRtIpRipRouteFilterIpAddr is 0.0.0.0, this subnet mask
		value is ignored."
	::= { snRtIpRipRouteFilterEntry 4 }

snRtIpRipRouteFilterRowStatus  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:
		invalid(1)...Setting it to 'invalid' has the effect of
		             rendering it inoperative.
		valid(2).....the row exists and is valid"
	::= { snRtIpRipRouteFilterEntry 5 }

-- IP RIP neighbor filter table

snRtIpRipNbrFilterTable	     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtIpRipNbrFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"ip rip neighbor filter table."
	::= { snRip 5 }

snRtIpRipNbrFilterEntry	     OBJECT-TYPE
	SYNTAX	SnRtIpRipNbrFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the ip rip neighbor filter table."
	INDEX	{ snRtIpRipNbrFilterId }
	::= { snRtIpRipNbrFilterTable 1 }

SnRtIpRipNbrFilterEntry ::= SEQUENCE {
	snRtIpRipNbrFilterId
		INTEGER,
	snRtIpRipNbrFilterAction
		Action,
	snRtIpRipNbrFilterSourceIp
		IpAddress,
	snRtIpRipNbrFilterRowStatus
		INTEGER
	}

snRtIpRipNbrFilterId         OBJECT-TYPE
	SYNTAX	INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The filter ID to identify a filter entry."
	::= { snRtIpRipNbrFilterEntry 1 }

snRtIpRipNbrFilterAction	 OBJECT-TYPE
	SYNTAX  Action 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ip rip packet source IP
		address compares equal to the source IP address
		in this filter."
	::= { snRtIpRipNbrFilterEntry 2 }

snRtIpRipNbrFilterSourceIp   OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source IP address to compare with the source IP
		address in a ip rip packet. IP address 0.0.0.0
		always compares equal to any source IP addresses
		in any ip rip packets."
	::= { snRtIpRipNbrFilterEntry 3 }

snRtIpRipNbrFilterRowStatus  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:
		invalid(1)...Setting it to 'invalid' has the effect of
		             rendering it inoperative.
		valid(2).....the row exists and is valid"
	::= { snRtIpRipNbrFilterEntry 4 }

-- IP RIP port access table
-- this table was replaced by the snRtIpRipPortIfAccessTable,
-- of which the index was changed to ifIndex, not another
-- indexing method used by this table

snRtIpRipPortAccessTable	     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtIpRipPortAccessEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"ip interface rip access table."
	::= { snRip 6 }

snRtIpRipPortAccessEntry	     OBJECT-TYPE
	SYNTAX	SnRtIpRipPortAccessEntry
	ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"An entry of the ip interface rip access table."
	INDEX	{ snRtIpRipPortAccessPort, snRtIpRipPortAccessDir }
	::= { snRtIpRipPortAccessTable 1 }

SnRtIpRipPortAccessEntry ::= SEQUENCE {
	snRtIpRipPortAccessPort
		PortIndex,
	snRtIpRipPortAccessDir
		INTEGER,
	snRtIpRipPortAccessFilterList
		OCTET STRING,
	snRtIpRipPortAccessRowStatus
		INTEGER
	}

snRtIpRipPortAccessPort	     OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The ip interface to which the rip filter applies."
	::= { snRtIpRipPortAccessEntry 1 }

snRtIpRipPortAccessDir	     OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS	read-only
	STATUS  deprecated
	DESCRIPTION
		"The access direction of incoming packet filter
		or outgoing packet filter."
	::= { snRtIpRipPortAccessEntry 2 }

snRtIpRipPortAccessFilterList  OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..64))
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"An ip rip filter list, of which each octet contains
		a filter ID number that forms a group of filters. A
		valid entry in the snRtIpRipRouteFilterTable with the
		corresponding filter ID number (i.e. snRtIpRipRouteFilterId)
		must have been created before a filter list is initialized."
	::= { snRtIpRipPortAccessEntry 3 }

snRtIpRipPortAccessRowStatus   OBJECT-TYPE
	SYNTAX	 INTEGER {
	    invalid(1),
	    valid(2),
	    delete(3),
	    create(4),
	    modify(5)
	}
	ACCESS	read-write
	STATUS  deprecated
	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:
		invalid(1)...Setting it to 'invalid' has the effect of
		             rendering it inoperative.
		valid(2).....the row exists and is valid"
	::= { snRtIpRipPortAccessEntry 4 }

-- IP RIP port configuration table, PortIndex is changed to ifIndex

snRtIpRipPortIfConfigTable        OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpRipPortIfConfigEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"IP Rip port If Config table."
	::= { snRip 7 }

snRtIpRipPortIfConfigEntry        OBJECT-TYPE
	SYNTAX  SnRtIpRipPortIfConfigEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP Rip Port If Config table."
	INDEX   { snRtIpRipPortIfConfigInterfaceIndex }
	::= { snRtIpRipPortIfConfigTable 1 }

SnRtIpRipPortIfConfigEntry ::= SEQUENCE {
	snRtIpRipPortIfConfigInterfaceIndex
		InterfaceIndex,
	snRtIpRipPortIfVersion
		INTEGER,
	snRtIpRipPortIfPoisonReverse
		RtrStatus,
	snRtIpRipPortIfLearnDefault
		INTEGER
	}

snRtIpRipPortIfConfigInterfaceIndex    OBJECT-TYPE
	SYNTAX  InterfaceIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The If index for ip rip port config entry."
	::= { snRtIpRipPortIfConfigEntry 1 }

snRtIpRipPortIfVersion            OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), v1Only(1), v2Only(2), v1CompatibleV2(3) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The ip rip version on this port."
	::= { snRtIpRipPortIfConfigEntry 2 }

snRtIpRipPortIfPoisonReverse      OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable poison reverse."
	::= { snRtIpRipPortIfConfigEntry 3 }

snRtIpRipPortIfLearnDefault          OBJECT-TYPE
	SYNTAX	INTEGER {
		disabled(0),             
		enabled(1)
	}
	ACCESS	read-write
	STATUS  mandatory
	DESCRIPTION
		"Apply the RIP router protocol learn-default option to the
		interface.  The values that can be written are:
		disabled(0)...deleted the learn default option.
		enabled(1)....enabled the learn default option."
	::= { snRtIpRipPortIfConfigEntry 4 }

-- IP RIP port access table, PortIndex is changed to ifIndex

snRtIpRipPortIfAccessTable	     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtIpRipPortIfAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"ip interface rip access table."
	::= { snRip 8 }

snRtIpRipPortIfAccessEntry	     OBJECT-TYPE
	SYNTAX	SnRtIpRipPortIfAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the ip interface rip access table."
	INDEX	{ snRtIpRipPortIfAccessPort, snRtIpRipPortIfAccessDir }
	::= { snRtIpRipPortIfAccessTable 1 }

SnRtIpRipPortIfAccessEntry ::= SEQUENCE {
	snRtIpRipPortIfAccessPort
		InterfaceIndex,
	snRtIpRipPortIfAccessDir
		INTEGER,
	snRtIpRipPortIfAccessFilterList
		OCTET STRING,
	snRtIpRipPortIfAccessRowStatus
		INTEGER
	}

snRtIpRipPortIfAccessPort	     OBJECT-TYPE
	SYNTAX  InterfaceIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The ip interface to which the rip filter applies."
	::= { snRtIpRipPortIfAccessEntry 1 }

snRtIpRipPortIfAccessDir	     OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"The access direction of incoming packet filter
		or outgoing packet filter."
	::= { snRtIpRipPortIfAccessEntry 2 }

snRtIpRipPortIfAccessFilterList  OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..64))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An ip rip filter list, of which each octet contains
		a filter ID number that forms a group of filters. A
		valid entry in the snRtIpRipRouteFilterTable with the
		corresponding filter ID number (i.e. snRtIpRipRouteFilterId)
		must have been created before a filter list is initialized."
	::= { snRtIpRipPortIfAccessEntry 3 }

snRtIpRipPortIfAccessRowStatus   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:
		invalid(1)...Setting it to 'invalid' has the effect of
		             rendering it inoperative.
		valid(2).....the row exists and is valid"
	::= { snRtIpRipPortIfAccessEntry 4 }

-- DVMRP MIB

snDvmrpMIBObjects OBJECT IDENTIFIER ::= { snDvmrp 1 }

snDvmrpVersion OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..255))
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The router's DVMRP version information."
    ::= { snDvmrpMIBObjects 1 }

snDvmrpEnable OBJECT-TYPE
    SYNTAX     RtrStatus
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "Enable or disable DVMRP on this router."
    DEFVAL     { disabled }
    ::= { snDvmrpMIBObjects 2 }

snDvmrpGenerationId OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The generation identifier for the routing process.  This is
            used by neighboring routers to detect whether pruning
            information should be resent."
    ::= { snDvmrpMIBObjects 3 }

snDvmrpProbeInterval OBJECT-TYPE
    SYNTAX     INTEGER (5..30)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval at which the router sends out
            probe messages to discover neighbour routers. Value is
            in number of seconds. snDvmrpEnable must be 'enabled'
            before this object is writen."
    DEFVAL     { 10 }
    ::= { snDvmrpMIBObjects 4 }

snDvmrpReportInterval OBJECT-TYPE
    SYNTAX     INTEGER (10..2000)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval at which the router sends out
            full report messages. Value is in number of seconds.
            snDvmrpEnable must be 'enabled' before this object is
            writen."
    DEFVAL     { 60 }
    ::= { snDvmrpMIBObjects 5 }

snDvmrpTriggerInterval OBJECT-TYPE
    SYNTAX     INTEGER (5..30)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval at which triggered updates are
            sent out. Value is in number of seconds. snDvmrpEnable must
            be 'enabled' before this object is writen."
    DEFVAL     { 5 }
    ::= { snDvmrpMIBObjects 6 }

snDvmrpNeighborRouterTimeout OBJECT-TYPE
    SYNTAX     INTEGER (60..8000)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which the neighbour router
            is considered down. Value is in number of seconds. snDvmrpEnable
            must be 'enabled' before this object is writen."
    DEFVAL     { 180 }
    ::= { snDvmrpMIBObjects 7 }

snDvmrpRouteExpireTime OBJECT-TYPE
    SYNTAX     INTEGER (20..4000)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which the route expires
            and becomes unreachable. Value is in number of seconds.
            snDvmrpEnable must be 'enabled' before this object is writen."
    DEFVAL     { 200 }
    ::= { snDvmrpMIBObjects 8 }

snDvmrpRouteDiscardTime OBJECT-TYPE
    SYNTAX     INTEGER (40..8000)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which a route is discarded
            from the route table. Value is in number of seconds.
            snDvmrpEnable must be 'enabled' before this object is writen."
    DEFVAL     { 340 }
    ::= { snDvmrpMIBObjects 9 }

snDvmrpPruneAge OBJECT-TYPE
    SYNTAX     INTEGER (20..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the duration of time for which the prune state
            is stored. Value is in number of seconds. snDvmrpEnable
            must be 'enabled' before this object is writen."
    DEFVAL     { 180 }
    ::= { snDvmrpMIBObjects 10 }

snDvmrpGraftRetransmitTime OBJECT-TYPE
    SYNTAX     INTEGER (5..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which a graft message will
            be retransmitted if graft acknowledge message has not been
            received. Value is in number of seconds. snDvmrpEnable must
            be 'enabled' before this object is writen."
    DEFVAL     { 10 }
    ::= { snDvmrpMIBObjects 11 }

snDvmrpDefaultRoute OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the IP address of a router that is connected to one
            of the directly attached subnet. If a multicast route is not
            present on the local router, this default route will be used
            for multicast forwarding. snDvmrpEnable must be 'enabled'
            before this object is writen."
    ::= { snDvmrpMIBObjects 12 }

-- The DVMRP Virtual Interface Table

snDvmrpVInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnDvmrpVInterfaceEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the router's DVMRP virtual
            interfaces. snDvmrpEnable must be 'enabled' before this
            table is read or writen."
    ::= { snDvmrpMIBObjects 13 }

snDvmrpVInterfaceEntry OBJECT-TYPE
    SYNTAX     SnDvmrpVInterfaceEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snDvmrpVInterfaceTable.
            This row augments ipMRouteInterfaceEntry in the IP
            Multicast MIB, where the threshold object resides."
    INDEX      { snDvmrpVInterfaceVifIndex }
    ::= { snDvmrpVInterfaceTable 1 }

SnDvmrpVInterfaceEntry ::= SEQUENCE {
    snDvmrpVInterfaceVifIndex              INTEGER,
    snDvmrpVInterfaceType                  INTEGER,
    snDvmrpVInterfaceOperState             INTEGER,
    snDvmrpVInterfaceLocalAddress          IpAddress,
    snDvmrpVInterfaceRemoteAddress         IpAddress,
    snDvmrpVInterfaceRemoteSubnetMask      IpAddress,
    snDvmrpVInterfaceMetric                INTEGER,
    snDvmrpVInterfaceTtlThreshold          INTEGER,
    snDvmrpVInterfaceAdvertiseLocal        RtrStatus,
    snDvmrpVInterfaceEncapsulation         RtrStatus,
    snDvmrpVInterfaceStatus                INTEGER }

snDvmrpVInterfaceVifIndex OBJECT-TYPE
    SYNTAX     INTEGER (1..48)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The ifIndex value of this DVMRP virtual interface."
    ::= { snDvmrpVInterfaceEntry 1 }

snDvmrpVInterfaceType OBJECT-TYPE
    SYNTAX     INTEGER { tunnel(1), querier(2), subnet(3) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The type of this DVMRP virtual interface, whether it uses
            a tunnel, a physical interface for which we are a querier,
            or a physical interface for which we are not a querier.
			For write operation, this object can only accept tunnel(1)
			to configure a tunnel interface or subnet(3) to configure
			a physical interface."
    ::= { snDvmrpVInterfaceEntry 2 }

snDvmrpVInterfaceOperState OBJECT-TYPE
    SYNTAX     INTEGER { up(1), down(2) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The current operational state of this DVMRP virtual
            interface."
    ::= { snDvmrpVInterfaceEntry 3 }

snDvmrpVInterfaceLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the local end of this DVMRP virtual
            interface."
    ::= { snDvmrpVInterfaceEntry 4 }

snDvmrpVInterfaceRemoteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the remote end of this DVMRP virtual
            interface.  For a tunnel, this is the IP address of the
            neighboring router.  For a subnet, this is the subnet
            address."
    ::= { snDvmrpVInterfaceEntry 5 }

snDvmrpVInterfaceRemoteSubnetMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The subnet mask for a directly connected subnet.  For
            a tunnel, this should be 0.0.0.0."
    ::= { snDvmrpVInterfaceEntry 6 }

snDvmrpVInterfaceMetric OBJECT-TYPE
    SYNTAX     INTEGER (1..31)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The distance metric for this DVMRP virtual interface which
            is used to calculate distance vectors."
    DEFVAL     { 1 }
    ::= { snDvmrpVInterfaceEntry 7 }

snDvmrpVInterfaceTtlThreshold OBJECT-TYPE
    SYNTAX     INTEGER (1..254)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the minimum time-to-live value to forward the packets
            out of this virtual interface."
    DEFVAL     { 1 }
    ::= { snDvmrpVInterfaceEntry 8 }

snDvmrpVInterfaceAdvertiseLocal OBJECT-TYPE
    SYNTAX     RtrStatus
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "Enable or disable the advertising of this local route."
    DEFVAL     { enabled }
    ::= { snDvmrpVInterfaceEntry 9 }

snDvmrpVInterfaceEncapsulation OBJECT-TYPE
    SYNTAX     RtrStatus
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "Enable or disable the encapsulation of the DVMRP control
            packets when using IPINIP encapsulation."
    DEFVAL     { disabled }
    ::= { snDvmrpVInterfaceEntry 10 }


snDvmrpVInterfaceStatus 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:
		     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative.
		     valid(2)....Setting it to 'valid' has the effect of
                         changing the row to operative."
    ::= { snDvmrpVInterfaceEntry 11 }


-- The DVMRP Neighbor Table

snDvmrpNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnDvmrpNeighborEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the router's DVMRP
            neighbors, as discovered by receiving Neighbor Probe
            messages. snDvmrpEnable must be 'enabled' before this
            table is read."
    ::= { snDvmrpMIBObjects 14 }

snDvmrpNeighborEntry OBJECT-TYPE
    SYNTAX     SnDvmrpNeighborEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snDvmrpNeighborTable."
    INDEX      { snDvmrpNeighborEntryIndex }
    ::= { snDvmrpNeighborTable 1 }

SnDvmrpNeighborEntry ::= SEQUENCE {
    snDvmrpNeighborEntryIndex      INTEGER,
    snDvmrpNeighborVifIndex        INTEGER,
    snDvmrpNeighborAddress         IpAddress,
    snDvmrpNeighborUpTime          TimeTicks,
    snDvmrpNeighborExpiryTime      TimeTicks,
    snDvmrpNeighborGenerationId    INTEGER,
    snDvmrpNeighborMajorVersion    INTEGER,
    snDvmrpNeighborMinorVersion    INTEGER,
    snDvmrpNeighborCapabilities    INTEGER }

snDvmrpNeighborEntryIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The table entry index."
    ::= { snDvmrpNeighborEntry 1 }

snDvmrpNeighborVifIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The value of VifIndex for the virtual interface used to
            reach this DVMRP neighbor."
    ::= { snDvmrpNeighborEntry 2 }

snDvmrpNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the DVMRP neighbor for which this entry
            contains information."
    ::= { snDvmrpNeighborEntry 3 }

snDvmrpNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The time since this DVMRP neighbor (last) became a neighbor
            of the local router."
    ::= { snDvmrpNeighborEntry 4 }

snDvmrpNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The minimum time remaining before this DVMRP neighbor will
            be aged out."
    ::= { snDvmrpNeighborEntry 5 }

snDvmrpNeighborGenerationId OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The neighboring router's generation identifier."
    ::= { snDvmrpNeighborEntry 6 }

snDvmrpNeighborMajorVersion OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The neighboring router's major DVMRP version number."
    ::= { snDvmrpNeighborEntry 7 }

snDvmrpNeighborMinorVersion OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The neighboring router's minor DVMRP version number."
    ::= { snDvmrpNeighborEntry 8 }

snDvmrpNeighborCapabilities OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "This object describes the neighboring router's
             capabilities.  The following shows the position
             of each bit:

             bit position  meaning
             -----------   ------
                 3         mtrace bit
                 2         generationID bit
                 1         prune bit
                 0         leaf bit

             The leaf bit indicates that the neighbor has only
             one interface with neighbors.  The prune bit indicates
             that the neighbor supports pruning.  The generationID bit
             indicates that the neighbor sends its generationID in Probe
             messages.  The mtrace bit indicates that the neighbor can
             handle mtrace requests."
    ::= { snDvmrpNeighborEntry 9 }


-- The DVMRP Route Table

snDvmrpRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnDvmrpRouteEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The routing table used by DVMRP in place of the unicast
            routing table. snDvmrpEnable must be 'enabled' before this
            table is read."
    ::= { snDvmrpMIBObjects 15 }

snDvmrpRouteEntry OBJECT-TYPE
    SYNTAX     SnDvmrpRouteEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information used by DVMRP in place of the unicast routing
            information."
    INDEX      { snDvmrpRouteEntryIndex }
    ::= { snDvmrpRouteTable 1 }

SnDvmrpRouteEntry ::= SEQUENCE {
    snDvmrpRouteEntryIndex         INTEGER,
    snDvmrpRouteSource             IpAddress,
    snDvmrpRouteSourceMask         IpAddress,
    snDvmrpRouteUpstreamNeighbor   IpAddress,
    snDvmrpRouteVifIndex           INTEGER,
    snDvmrpRouteMetric             INTEGER,
    snDvmrpRouteExpiryTime         TimeTicks }

snDvmrpRouteEntryIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The table entry index."
    ::= { snDvmrpRouteEntry 1 }

snDvmrpRouteSource OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of snDvmrpRouteSourceMask identifies the
            sources for which this entry contains multicast routing
            information."
    ::= { snDvmrpRouteEntry 2 }

snDvmrpRouteSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of snDvmrpRouteSource identifies the sources for which
            this entry contains multicast routing information."
    ::= { snDvmrpRouteEntry 3 }

snDvmrpRouteUpstreamNeighbor OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The address of the upstream neighbor (e.g., RPF neighbor)
            from which IP datagrams from these sources are received."
    ::= { snDvmrpRouteEntry 4 }

snDvmrpRouteVifIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The value of snDvmrpVInterfaceVifIndex for the virtual
            interface on which IP datagrams sent by these sources are
            received."
    ::= { snDvmrpRouteEntry 5 }

snDvmrpRouteMetric OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The distance in hops to the source subnet."
    ::= { snDvmrpRouteEntry 6 }

snDvmrpRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    ACCESS     read-only			  
    STATUS     mandatory
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out."
    ::= { snDvmrpRouteEntry 7 }

-- The DVMRP Routing Next Hop Table

snDvmrpRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnDvmrpRouteNextHopEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table containing information on the next
            hops on outgoing interfaces for routing IP multicast
            datagrams. snDvmrpEnable must be 'enabled' before this
            table is read."
    ::= { snDvmrpMIBObjects 16 }

snDvmrpRouteNextHopEntry OBJECT-TYPE
    SYNTAX     SnDvmrpRouteNextHopEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the list of next hops on
            outgoing interfaces to which IP multicast datagrams from
            particular sources are routed."
    INDEX      { snDvmrpRouteNextHopSource, snDvmrpRouteNextHopSourceMask,
                 snDvmrpRouteNextHopVifIndex }
    ::= { snDvmrpRouteNextHopTable 1 }

SnDvmrpRouteNextHopEntry ::= SEQUENCE {
    snDvmrpRouteNextHopSource             IpAddress,
    snDvmrpRouteNextHopSourceMask         IpAddress,
    snDvmrpRouteNextHopVifIndex           INTEGER,
    snDvmrpRouteNextHopType               INTEGER }

snDvmrpRouteNextHopSource OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of snDvmrpRouteNextHopSourceMask
            identifies the sources for which this entry specifies
            a next hop on an outgoing interface."
    ::= { snDvmrpRouteNextHopEntry 1 }

snDvmrpRouteNextHopSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of snDvmrpRouteNextHopSource identifies the sources for
            which this entry specifies a next hop on an outgoing
            interface."
    ::= { snDvmrpRouteNextHopEntry 2 }

snDvmrpRouteNextHopVifIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The snDvmrpVInterfaceVifIndex value of the virtual interface
            for the outgoing interface for this next hop."
    ::= { snDvmrpRouteNextHopEntry 3 }

snDvmrpRouteNextHopType OBJECT-TYPE
    SYNTAX     INTEGER { leaf(1), branch(2) }
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Type is leaf if no neighbors exist on the outgoing virtual
            interface.  Otherwise, type is branch."
    ::= { snDvmrpRouteNextHopEntry 4 }

-- The DVMRP Virtual Interface Statistics Table

snDvmrpVIfStatTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnDvmrpVIfStatEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the router's DVMRP virtual interface
            statistical counters. snDvmrpEnable must be 'enabled' before this
            table is read."
    ::= { snDvmrpMIBObjects 17 }

snDvmrpVIfStatEntry OBJECT-TYPE
    SYNTAX     SnDvmrpVIfStatEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snDvmrpVIfStatTable."
    INDEX      { snDvmrpVIfStatVifIndex }
    ::= { snDvmrpVIfStatTable 1 }

SnDvmrpVIfStatEntry ::= SEQUENCE {
    snDvmrpVIfStatVifIndex              INTEGER,
    snDvmrpVIfStatInPkts                Counter,
    snDvmrpVIfStatOutPkts               Counter,
    snDvmrpVIfStatInOctets              Counter,
    snDvmrpVIfStatOutOctets             Counter,
    snDvmrpVIfStatInProbePkts           Counter,
    snDvmrpVIfStatOutProbePkts          Counter,
    snDvmrpVIfStatDiscardProbePkts      Counter,
    snDvmrpVIfStatInRtUpdatePkts        Counter,
    snDvmrpVIfStatOutRtUpdatePkts       Counter,
    snDvmrpVIfStatDiscardRtUpdatePkts   Counter,
    snDvmrpVIfStatInGraftPkts           Counter,
    snDvmrpVIfStatOutGraftPkts          Counter,
    snDvmrpVIfStatDiscardGraftPkts      Counter,
    snDvmrpVIfStatInGraftAckPkts        Counter,
    snDvmrpVIfStatOutGraftAckPkts       Counter,
    snDvmrpVIfStatDiscardGraftAckPkts   Counter,
    snDvmrpVIfStatInPrunePkts           Counter,
    snDvmrpVIfStatOutPrunePkts          Counter,
    snDvmrpVIfStatDiscardPrunePkts      Counter }

snDvmrpVIfStatVifIndex OBJECT-TYPE
    SYNTAX     INTEGER (1..65535)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The ifIndex value of this DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 1 }

snDvmrpVIfStatInPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of packets that have arrived on the DVMRP
            virtual interface."
    ::= { snDvmrpVIfStatEntry 2 }

snDvmrpVIfStatOutPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of packets that have been sent on the DVMRP
            virtual interface."
    ::= { snDvmrpVIfStatEntry 3 }

snDvmrpVIfStatInOctets OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of octets that have arrived on the DVMRP
            virtual interface."
    ::= { snDvmrpVIfStatEntry 4 }

snDvmrpVIfStatOutOctets OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of octets that have been sent on the DVMRP
            virtual interface."
    ::= { snDvmrpVIfStatEntry 5 }

snDvmrpVIfStatInProbePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of probe packets that have arrived
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 6 }

snDvmrpVIfStatOutProbePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of probe packets that have been sent
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 7 }

snDvmrpVIfStatDiscardProbePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of probe packets that have been discarded
            by the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 8 }

snDvmrpVIfStatInRtUpdatePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of route update packets that have arrived
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 9 }

snDvmrpVIfStatOutRtUpdatePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of route update packets that have been sent
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 10 }

snDvmrpVIfStatDiscardRtUpdatePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of route update packets that have been
            discarded by the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 11 }

snDvmrpVIfStatInGraftPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft packets that have arrived
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 12 }

snDvmrpVIfStatOutGraftPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft packets that have been sent
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 13 }

snDvmrpVIfStatDiscardGraftPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft packets that have been discarded
            by the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 14 }

snDvmrpVIfStatInGraftAckPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft acknowledge packets that have arrived
            on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 15 }

snDvmrpVIfStatOutGraftAckPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft acknowledge packets that have been
            sent on the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 16 }

snDvmrpVIfStatDiscardGraftAckPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft acknowledge packets that have been
            discarded by the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 17 }

snDvmrpVIfStatInPrunePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of prune packets that have arrived on the DVMRP
            virtual interface."
    ::= { snDvmrpVIfStatEntry 18 }

snDvmrpVIfStatOutPrunePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of prune packets that have been sent on the DVMRP
            virtual interface."
    ::= { snDvmrpVIfStatEntry 19 }

snDvmrpVIfStatDiscardPrunePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of prune packets that have been discarded
            by the DVMRP virtual interface."
    ::= { snDvmrpVIfStatEntry 20 }


-- FSRP MIB

snFsrpGlobal 	OBJECT IDENTIFIER ::= { snFsrp 1 }
snFsrpIntf 		OBJECT IDENTIFIER ::= { snFsrp 2 }

--  Section 1:	FSRP Global Variables

snFsrpGroupOperMode OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The FSRP is configured on this system
		 either enabled or disabled and the
		 default is disabled mode.
		 disabled(0)..........disable FSRP   
		 enabled(1)...........activate FSRP"
	::= { snFsrpGlobal 1 }

snFsrpIfStateChangeTrap OBJECT-TYPE
	SYNTAX	INTEGER { disabled(0), enabled(1) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the SNMP agent process is
		permitted to generate FSRP interface state change
		traps."
    DEFVAL { enabled }
	::= { snFsrpGlobal 2 }


--  Section 2: FSRP Interface Configuration Table

--      The FSRP (Foundry Standby Routing Protocol) Interface Table augments 
--		the ifTable with FSRP specific information.


     snFsrpIfTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnFsrpIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The FSRP Interface Table describes the interfaces from
            the viewpoint of FSRP."
         ::= { snFsrpIntf 1 }

     snFsrpIfEntry OBJECT-TYPE
         SYNTAX   SnFsrpIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The FSRP Interface Entry describes one interface from
            the viewpoint of FSRP."
         INDEX { snFsrpIfPort, snFsrpIfIpAddress }
         ::= { snFsrpIfTable 1 }

     SnFsrpIfEntry ::=
         SEQUENCE {
             snFsrpIfPort
			     INTEGER,
             snFsrpIfIpAddress
                 IpAddress,
             snFsrpIfVirRtrIpAddr
                 IpAddress,
             snFsrpIfOtherRtrIpAddr
                 IpAddress,
             snFsrpIfPreferLevel
                 INTEGER,
             snFsrpIfTrackPortMask
                 PortMask,
			 snFsrpIfRowStatus 
				 INTEGER,
			 snFsrpIfState
				 INTEGER,
			 snFsrpIfKeepAliveTime 
				 INTEGER,
			 snFsrpIfRouterDeadTime 
				 INTEGER,
             snFsrpIfChassisTrackPortMask
                 OCTET STRING,
             snFsrpIfTrackPortList
                 OCTET STRING
         }


    snFsrpIfPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical router port of this FSRP interface."
         ::= { snFsrpIfEntry 1 }

     snFsrpIfIpAddress OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the physical router port of this
            interface."
         ::= { snFsrpIfEntry 2 }

     snFsrpIfVirRtrIpAddr OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Virtual Router for the interface.
            The Virtual Router IP address need to be configured on 
            the interface before Redundant Router Function can operate
            on the interface.  This address has to be same on all the
            routers that going to participate in the Redundant Router
            Function on a given subnet."
         ::= { snFsrpIfEntry 3 }

     snFsrpIfOtherRtrIpAddr OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Other Router on this ip subnet
            that operates FSRP and to whom the Keep Alive message
            need to be sent by this router.  This object must be
            configured for FSRP to work correctly"
         ::= { snFsrpIfEntry 4 }

     snFsrpIfPreferLevel OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The higher the number the higher the priority is.
            This parameter decides which router should becomes
            the Active Router for the interface.  A Router with
            higher priority selected to becomes the Active Router."
         DEFVAL { 100 }
         ::= { snFsrpIfEntry 5 }

     snFsrpIfTrackPortMask OBJECT-TYPE
         SYNTAX   PortMask
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the identity of the physical port 
			whose state is to be monitored.  Each bit is a port of
			the system. Default value is 0.  If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The Standalone router FSRP Track port membership (Not used for Chassis Product)"
         DEFVAL { 0 }
         ::= { snFsrpIfEntry 6 }

     snFsrpIfRowStatus 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"
	     ::= { snFsrpIfEntry 7 }

     snFsrpIfState OBJECT-TYPE
	     SYNTAX   INTEGER {
					init(0),
					negotiating(1),
					standby(2),
					active(3)
				  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the FSRP Router's interface state as:
            init(0)...initialization state.
            negotiating(1)...negotiating state.
            standby(2)...standby state.
            active(3)...active state." 
         ::= { snFsrpIfEntry 8 }

     snFsrpIfKeepAliveTime OBJECT-TYPE
	     SYNTAX   INTEGER (1..120)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The heart-beat is from 1 to 120 seconds." 
         DEFVAL { 3 }
         ::= { snFsrpIfEntry 9 }

     snFsrpIfRouterDeadTime OBJECT-TYPE
	     SYNTAX   INTEGER (3..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The hold time of the Fsrp router is from 3 to 255 seconds." 
         DEFVAL { 9 }
         ::= { snFsrpIfEntry 10 }

     snFsrpIfChassisTrackPortMask OBJECT-TYPE
		 SYNTAX  OCTET STRING (SIZE(32))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "This object specifies the identity of the physical port 
			whose state is to be monitored.  Each bit is a port of
			the system. Default value is 0.  If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The Chassis router FSRP Track port membership.
            (It was obsoleted after release 07100, replaced by snFsrpIfTrackPortList)"
         ::= { snFsrpIfEntry 11 }

     snFsrpIfTrackPortList OBJECT-TYPE
		 SYNTAX  OCTET STRING
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "This object specifies the identity of the physical port 
			whose state is to be monitored.  Each port index is a
			16-bit integer in big endian order. 8-bit is the slot
			number, the other 8-bit is the port number. Default value
			is 0 length octet string.  If this object is configured
			then the Preference Level of this interface will be adjusted
			dynamically depending on the state of the Track Port.
            The interface's Preference Level is reduced by value of 
            Preference Level parameter when the Track Port states first
            changes from UP to DOWN.  When the Track Port next comes up
            the interface's Preference Level is increased by the amount
            specified by the Preference Level.
            The router FSRP physical track port membership."
         ::= { snFsrpIfEntry 12 }

-- PIM MIB

snPimMIBObjects OBJECT IDENTIFIER ::= { snPim 1 }
snPimSMMIBObjects OBJECT IDENTIFIER ::= { snPim 2 }

snPimEnable OBJECT-TYPE
    SYNTAX     RtrStatus
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "Enable or disable PIM on this router."
    DEFVAL     { disabled }
    ::= { snPimMIBObjects 1 }

snPimNeighborRouterTimeout OBJECT-TYPE
    SYNTAX     INTEGER (60..8000)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which the neighbour router
            is considered down. Value is in number of seconds. snPimEnable
            must be 'enabled' before this object is writen."
    DEFVAL     { 180 }
    ::= { snPimMIBObjects 2 }

snPimHelloTime OBJECT-TYPE
    SYNTAX     INTEGER (10..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the interval at which hello message is sent out
            an interface to the neighbouring router. This is used to
            detect the presence or abscense of a neighbouring router.
            Value is in number of seconds. snPimEnable must be 'enabled'
            before this object is writen."
    DEFVAL     { 60 }
    ::= { snPimMIBObjects 3 }

snPimPruneTime OBJECT-TYPE
    SYNTAX     INTEGER (10..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the duration of time for which the prune state
            is stored. Value is in number of seconds. snPimEnable
            must be 'enabled' before this object is writen."
    DEFVAL     { 60 }
    ::= { snPimMIBObjects 4 }

snPimGraftRetransmitTime OBJECT-TYPE
    SYNTAX     INTEGER (10..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which a graft message will
            be retransmitted if graft acknowledge message has not been
            received. Value is in number of seconds. snPimEnable must
            be 'enabled' before this object is writen."
    DEFVAL     { 180 }
    ::= { snPimMIBObjects 5 }

snPimInactivityTime OBJECT-TYPE
    SYNTAX     INTEGER (10..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the interval after which the forwarding entry is
            deleted. When a packet is received for a group entry, this
            time is reset. This is used to only keep the forwarding
            entries for the active sessions. Value is in number of
            seconds. snPimEnable must be 'enabled' before this object
            is writen."
    DEFVAL     { 180 }
    ::= { snPimMIBObjects 6 }

-- The PIM Virtual Interface Table

snPimVInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnPimVInterfaceEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the router's PIM virtual
            interfaces. snPimEnable must be 'enabled' before this
            table is read or writen."
    ::= { snPimMIBObjects 7 }

snPimVInterfaceEntry OBJECT-TYPE
    SYNTAX     SnPimVInterfaceEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snPimVInterfaceTable."
    INDEX      { snPimVInterfaceVifIndex }
    ::= { snPimVInterfaceTable 1 }

SnPimVInterfaceEntry ::= SEQUENCE {
    snPimVInterfaceVifIndex              INTEGER,
    snPimVInterfaceType                  INTEGER,
    snPimVInterfaceLocalAddress          IpAddress,
    snPimVInterfaceLocalSubnetMask       IpAddress,
    snPimVInterfaceRemoteAddress         IpAddress,
    snPimVInterfaceDR                    IpAddress,
    snPimVInterfaceTtlThreshold          INTEGER,
    snPimVInterfaceStatus                INTEGER,
    snPimVInterfaceMode                  INTEGER }

snPimVInterfaceVifIndex OBJECT-TYPE
    SYNTAX     INTEGER (1..48)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The ifIndex value of this PIM virtual interface."
    ::= { snPimVInterfaceEntry 1 }

snPimVInterfaceType OBJECT-TYPE
    SYNTAX     INTEGER { tunnel(1), subnet(2) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The type of PIM virtual interface, whether it uses
            a tunnel or a physical interface."
    ::= { snPimVInterfaceEntry 2 }

snPimVInterfaceLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the local end of this PIM virtual
            interface."
    ::= { snPimVInterfaceEntry 3 }

snPimVInterfaceLocalSubnetMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The network mask for the IP address of the PIM
            virtual interface. For a tunnel, this should be
            0.0.0.0."
    ::= { snPimVInterfaceEntry 4 }

snPimVInterfaceRemoteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the remote end of this PIM virtual
            interface."
    ::= { snPimVInterfaceEntry 5 }

snPimVInterfaceDR OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The Designated Router on this PIM virtual interface.
            For point-to-point interfaces, this object has the
            value 0.0.0.0."
    ::= { snPimVInterfaceEntry 6 }

snPimVInterfaceTtlThreshold OBJECT-TYPE
    SYNTAX     INTEGER (1..31)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the minimum time-to-live value to forward the packets
            out of this interface."
    DEFVAL     { 1 }
    ::= { snPimVInterfaceEntry 7 }

snPimVInterfaceStatus 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:
		     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative.
		     valid(2)....Setting it to 'valid' has the effect of
                         changing the row to operative."
    ::= { snPimVInterfaceEntry 8 }

snPimVInterfaceMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The configured mode of this PIM interface."
    DEFVAL     { dense }
    ::= { snPimVInterfaceEntry 9 }

-- The PIM Neighbor Table

snPimNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnPimNeighborEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the router's PIM
            neighbors. snPimEnable must be 'enabled' before this
            table is read."
    ::= { snPimMIBObjects 8 }

snPimNeighborEntry OBJECT-TYPE
    SYNTAX     SnPimNeighborEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snPimNeighborTable."
    INDEX      { snPimNeighborEntryIndex }
    ::= { snPimNeighborTable 1 }

SnPimNeighborEntry ::= SEQUENCE {
    snPimNeighborEntryIndex      INTEGER,
    snPimNeighborVifIndex        INTEGER,
    snPimNeighborAddress         IpAddress,
    snPimNeighborUpTime          TimeTicks,
    snPimNeighborExpiryTime      TimeTicks }

snPimNeighborEntryIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The table entry index."
    ::= { snPimNeighborEntry 1 }

snPimNeighborVifIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The value of VifIndex for the virtual interface used to
            reach this PIM neighbor."
    ::= { snPimNeighborEntry 2 }

snPimNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the PIM neighbor for which this entry
            contains information."
    ::= { snPimNeighborEntry 3 }

snPimNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The time since this PIM neighbor (last) became a neighbor
            of the local router."
    ::= { snPimNeighborEntry 4 }

snPimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The minimum time remaining before this PIM neighbor will
            be aged out."
    ::= { snPimNeighborEntry 5 }

-- The PIM Virtual Interface Statistics Table

snPimVIfStatTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnPimVIfStatEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the router's PIM virtual
            interface statistical counters. snPimEnable must be
            'enabled' before this table is read."
    ::= { snPimMIBObjects 9 }

snPimVIfStatEntry OBJECT-TYPE
    SYNTAX     SnPimVIfStatEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snPimVIfStatTable."
    INDEX      { snPimVIfStatVifIndex }
    ::= { snPimVIfStatTable 1 }

SnPimVIfStatEntry ::= SEQUENCE {
    snPimVIfStatVifIndex              INTEGER,
    snPimVIfStatInJoinPkts            Counter,
    snPimVIfStatOutJoinPkts           Counter,
    snPimVIfStatDiscardJoinPkts       Counter,
    snPimVIfStatInPrunePkts           Counter,
    snPimVIfStatOutPrunePkts          Counter,
    snPimVIfStatDiscardPrunePkts      Counter,
    snPimVIfStatInAssertPkts          Counter,
    snPimVIfStatOutAssertPkts         Counter,
    snPimVIfStatDiscardAssertPkts     Counter,
    snPimVIfStatInHelloPkts           Counter,
    snPimVIfStatOutHelloPkts          Counter,
    snPimVIfStatDiscardHelloPkts      Counter,
    snPimVIfStatInGraftPkts           Counter,
    snPimVIfStatOutGraftPkts          Counter,
    snPimVIfStatDiscardGraftPkts      Counter,
    snPimVIfStatInGraftAckPkts        Counter,
    snPimVIfStatOutGraftAckPkts       Counter,
    snPimVIfStatDiscardGraftAckPkts   Counter }

snPimVIfStatVifIndex OBJECT-TYPE
    SYNTAX     INTEGER (1..32)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The ifIndex value of this PIM virtual interface."
    ::= { snPimVIfStatEntry 1 }

snPimVIfStatInJoinPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of join packets that have arrived
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 2 }

snPimVIfStatOutJoinPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of join packets that have been sent
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 3 }

snPimVIfStatDiscardJoinPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of join packets that have been discarded
            by the PIM virtual interface."
    ::= { snPimVIfStatEntry 4 }

snPimVIfStatInPrunePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of prune packets that have arrived on the PIM
            virtual interface."
    ::= { snPimVIfStatEntry 5 }

snPimVIfStatOutPrunePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of prune packets that have been sent on the PIM
            virtual interface."
    ::= { snPimVIfStatEntry 6 }

snPimVIfStatDiscardPrunePkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of prune packets that have been discarded
            by the PIM virtual interface."
    ::= { snPimVIfStatEntry 7 }

snPimVIfStatInAssertPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of assert packets that have arrived
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 8 }

snPimVIfStatOutAssertPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of assert packets that have been sent
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 9 }

snPimVIfStatDiscardAssertPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of assert packets that have been
            discarded by the PIM virtual interface."
    ::= { snPimVIfStatEntry 10 }

snPimVIfStatInHelloPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of hello packets that have arrived on the PIM
            virtual interface."
    ::= { snPimVIfStatEntry 11 }

snPimVIfStatOutHelloPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of hello packets that have been sent on the PIM
            virtual interface."
    ::= { snPimVIfStatEntry 12 }

snPimVIfStatDiscardHelloPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of hello packets that have been discarded
            by the PIM virtual interface."
    ::= { snPimVIfStatEntry 13 }

snPimVIfStatInGraftPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft packets that have arrived
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 14 }

snPimVIfStatOutGraftPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft packets that have been sent
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 15 }

snPimVIfStatDiscardGraftPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft packets that have been discarded
            by the PIM virtual interface."
    ::= { snPimVIfStatEntry 16 }

snPimVIfStatInGraftAckPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft acknowledge packets that have arrived
            on the PIM virtual interface."
    ::= { snPimVIfStatEntry 17 }

snPimVIfStatOutGraftAckPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft acknowledge packets that have been
            sent on the PIM virtual interface."
    ::= { snPimVIfStatEntry 18 }

snPimVIfStatDiscardGraftAckPkts OBJECT-TYPE
    SYNTAX     Counter
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The number of graft acknowledge packets that have been
            discarded by the PIM virtual interface."
    ::= { snPimVIfStatEntry 19 }


-- PIM-SM MIB

snPimJoinPruneInterval OBJECT-TYPE
    SYNTAX     INTEGER (10..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The default interval in seconds at which periodic 
			PIM-SM Join/Prune messages are to be sent. snPimEnable must 
            be 'enabled' before this table is read or writen."
    ::= { snPimSMMIBObjects 1 }

-- PIM Candidate-BSR Table

snPimCandidateBSRTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnPimCandidateBSR
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Candidate Bootstrap Router information."
    ::= { snPimSMMIBObjects 2 }

snPimCandidateBSREntry OBJECT-TYPE
    SYNTAX     SnPimCandidateBSR
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snPimCandidateBSRTable."
    INDEX      { snPimCandidateBSRPortID }
    ::= { snPimCandidateBSRTable 1 }

SnPimCandidateBSR ::= SEQUENCE {
    snPimCandidateBSRPortID        INTEGER,
    snPimCandidateBSRIPAddress     IpAddress,
    snPimCandidateBSRHashMaskLen   INTEGER,
    snPimCandidateBSRPreference    INTEGER
}

snPimCandidateBSRPortID OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the PIM interface.
         The bit 0 to bit 7: port number. 
         The bit 8 to bit 11: slot number."
    ::= { snPimCandidateBSREntry 1 }

snPimCandidateBSRIPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The (unicast) address of the Candidate BSR."
    ::= { snPimCandidateBSREntry 2 }

snPimCandidateBSRHashMaskLen OBJECT-TYPE
    SYNTAX     INTEGER (1..32)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The hash mask value for this router as a candidate
            bootstrap router."
    ::= { snPimCandidateBSREntry 3 }

snPimCandidateBSRPreference OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The preference value for this router as a candidate
            bootstrap router."
    DEFVAL     { 100 }
    ::= { snPimCandidateBSREntry 4 }



-- The PIM RP-Set Table

snPimRPSetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnPimRPSetEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing PIM information for
            candidate Rendezvous Points (RPs) for IP multicast groups.
            When the local router is the BSR, this information is
            obtained from received Candidate-RP-Advertisements.  When
            the local router is not the BSR, this information is
            obtained from received RP-Set messages.
             snPimEnable must be 'enabled' before this
            table is read or writen."
    ::= { snPimSMMIBObjects 3 }

snPimRPSetEntry OBJECT-TYPE
    SYNTAX     SnPimRPSetEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snPimRPSetTable."
    INDEX    { snPimRPSetGroupAddress, snPimRPSetMask, snPimRPSetIPAddress }
    ::= { snPimRPSetTable 1 }

SnPimRPSetEntry ::= SEQUENCE {
    snPimRPSetGroupAddress    IpAddress,
    snPimRPSetMask            IpAddress,
    snPimRPSetIPAddress       IpAddress,
    snPimRPSetHoldTime        INTEGER
}

snPimRPSetGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The IP multicast group address which, when combined with
            snPimRPSetGroupMask, gives the group prefix for which this
            entry contains information about the Candidate-RP."
    ::= { snPimRPSetEntry 1 }

snPimRPSetMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The multicast group address mask which, when combined with
            snPimRPSetGroupAddress, gives the group prefix for which this
            entry contains information about the Candidate-RP."
    ::= { snPimRPSetEntry 2 }

snPimRPSetIPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The IP address of the Candidate-RP."
    ::= { snPimRPSetEntry 3 }

snPimRPSetHoldTime OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The holdtime, in seconds, of a Candidate-RP.  If the 
            local router is not the BSR, this value is 0."
    ::= { snPimRPSetEntry 4 }


-- The PIM Candidate-RP Table

snPimCandidateRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnPimCandidateRPEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which the local router is to advertise itself as a
            Candidate-RP. If this table is empty, then the local router
            will advertise itself as a Candidate-RP for all groups
             snPimEnable must be 'enabled' before this
            table is read or writen."
    ::= { snPimSMMIBObjects 4 }

snPimCandidateRPEntry OBJECT-TYPE
    SYNTAX     SnPimCandidateRPEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the snPimCandidateRPTable."
    INDEX      { snPimCandidateRPGroupAddress,
                 snPimCandidateRPMask }
    ::= { snPimCandidateRPTable 1 }

SnPimCandidateRPEntry ::= SEQUENCE {
    snPimCandidateRPGroupAddress    IpAddress,
    snPimCandidateRPMask            IpAddress,
    snPimCandidateRPIPAddress       IpAddress,
    snPimCandidateRPRowStatus       INTEGER
}

snPimCandidateRPGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The IP multicast group address which, when combined with
            snPimCandidateRPGroupMask, identifies a group prefix for which
            the local router will advertise itself as a Candidate-RP."
    ::= { snPimCandidateRPEntry 1 }

snPimCandidateRPMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The multicast group address mask which, when combined with
            snPimCandidateRPGroupMask, identifies a group prefix for which
            the local router will advertise itself as a Candidate-RP."
    ::= { snPimCandidateRPEntry 2 }

snPimCandidateRPIPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The (unicast) address of the interface which will be
            advertised as a Candidate-RP."
    ::= { snPimCandidateRPEntry 3 }

snPimCandidateRPRowStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		noSuch(0),
		other(1),
		valid(2),
		delete(3),
		create(4),
		modify(5)
		}
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table.
              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
              other(1)....some other case
              valid(2)....the row exists and is valid"			
    ::= { snPimCandidateRPEntry 4 }


-- Loopback Interface configuration table

snLoopbackIntfConfigTable           OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnLoopbackIntfConfigEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Loopback Interface Config table."
	::= { snLoopbackIf 1 }

snLoopbackIntfConfigEntry           OBJECT-TYPE
	SYNTAX  SnLoopbackIntfConfigEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Loopback Interface Config table."
	INDEX   { snLoopbackIntfConfigPortIndex }
	::= { snLoopbackIntfConfigTable 1 }

SnLoopbackIntfConfigEntry ::= SEQUENCE {
	snLoopbackIntfConfigPortIndex
		INTEGER,
	snLoopbackIntfMode		
		INTEGER,
	snLoopbackIntfRowStatus
		INTEGER
	}

snLoopbackIntfConfigPortIndex       OBJECT-TYPE
	SYNTAX  INTEGER (1..8)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for Loopback Interface config entry."
	::= { snLoopbackIntfConfigEntry 1 }

snLoopbackIntfMode                   OBJECT-TYPE
    SYNTAX  INTEGER { disabled(0), enabled(1) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Loopback Interface mode."
	::= { snLoopbackIntfConfigEntry 2 }

snLoopbackIntfRowStatus   			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"
	::= { snLoopbackIntfConfigEntry 3 }


END
HP-SN-IGMP-MIB DEFINITIONS ::= BEGIN


-- Foundry IGMP Group MIB Release 1.0.0
-- Revision 0 2/13/98

-- Copyright 1996-98 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base 
-- 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

IMPORTS
	IpAddress
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
	snIgmp
		FROM HP-SN-ROOT-MIB;


-- SECTION 2: MIB 

-- IGMP MIB

snIgmpMIBObjects OBJECT IDENTIFIER ::= { snIgmp 1 }

snIgmpQueryInterval OBJECT-TYPE
    SYNTAX     INTEGER (1..3600)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval at which this entity sends out
			IGMP host query packets. For a router, snDvmrpEnable must
			have been set to 'enabled' before this object is writen.
			For a switch, snSwGroupIpMcastMode must have been set to
			'enabled' and snSwIpMcastQuerierMode must have been set
			to 'querier' before this object is writen."
    DEFVAL     { 60 }
    ::= { snIgmpMIBObjects 1 }

snIgmpGroupMembershipTime OBJECT-TYPE
    SYNTAX     INTEGER (1..7200)
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "This is the time interval after which a group is considered
            inactive. For a router, snDvmrpEnable must have been set to
            'enabled' before this object is writen. For a switch,
            snSwGroupIpMcastMode must have been set to 'enabled' before
            this object is writen."
    DEFVAL     { 140 }
    ::= { snIgmpMIBObjects 2 }

-- The IGMP Interface Table

snIgmpIfTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnIgmpIfEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "This table comprises of a list of IGMP interface entries."
    ::= { snIgmpMIBObjects 3 }

snIgmpIfEntry OBJECT-TYPE
    SYNTAX     SnIgmpIfEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) contains the group
            membership information for that port."
    INDEX      { snIgmpIfEntryIndex }
    ::= { snIgmpIfTable 1 }

SnIgmpIfEntry ::= SEQUENCE {
    snIgmpIfEntryIndex         INTEGER,
    snIgmpIfPortNumber         INTEGER,
    snIgmpIfGroupAddress       IpAddress,
    snIgmpIfGroupAge           INTEGER }

snIgmpIfEntryIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The table entry index."
    ::= { snIgmpIfEntry 1 }

snIgmpIfPortNumber OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "This is the interface on which the group was learnt."
    ::= { snIgmpIfEntry 2 }

snIgmpIfGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The group address learnt from the interface."
    ::= { snIgmpIfEntry 3 }

snIgmpIfGroupAge OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "This is the interval (seconds) after which the group
            information will be aged out."
    ::= { snIgmpIfEntry 4 }

-- The IGMP Static Group Table

snIgmpStaticGroupTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnIgmpStaticGroupEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "This table comprises of a list of IGMP static group entries."
    ::= { snIgmpMIBObjects 4 }

snIgmpStaticGroupEntry OBJECT-TYPE
    SYNTAX     SnIgmpStaticGroupEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) contains the IGMP static group
            membership information."
    INDEX      { snIgmpStaticGroupIfIndex, snIgmpStaticGroupAddress }
    ::= { snIgmpStaticGroupTable 1 }

SnIgmpStaticGroupEntry ::= SEQUENCE {
    snIgmpStaticGroupIfIndex    INTEGER,
    snIgmpStaticGroupAddress    IpAddress,
    snIgmpStaticGroupPortList   OCTET STRING,
    snIgmpStaticGroupRowStatus  INTEGER }

snIgmpStaticGroupIfIndex OBJECT-TYPE
    SYNTAX     INTEGER
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The interface of which the static group was configured."
    ::= { snIgmpStaticGroupEntry 1 }

snIgmpStaticGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The group address of which the static group was configured."
    ::= { snIgmpStaticGroupEntry 2 }

snIgmpStaticGroupPortList OBJECT-TYPE
    SYNTAX     OCTET STRING
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "A list of ports which are the port membership of the
            static group. Each port is a 16-bit integer ifIndex."
    ::= { snIgmpStaticGroupEntry 3 }

snIgmpStaticGroupRowStatus OBJECT-TYPE
    SYNTAX     INTEGER {
                 other(1),
                 valid(2),
                 delete(3),
                 create(4),
                 modify(5) }
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "To create or delete a static group entry."
    ::= { snIgmpStaticGroupEntry 4 }

END
HP-SN-APPLETALK-MIB DEFINITIONS ::= BEGIN


-- Foundry snAppleTalk Group MIB Release 1.0.0
-- Revision 0 1/19/98

-- Copyright 1996-98 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base 
-- 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

IMPORTS
	Counter
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
	ClearStatus, RowSts, PortIndex
		FROM HP-SN-IP-MIB
	snAppleTalk
		FROM HP-SN-ROOT-MIB;


    ATNetworkNumber ::=         -- 2 octets of net number
                                -- in network byte order
        OCTET STRING (SIZE (2))

    DdpNodeAddress ::=          -- 2 octets of net number
                                -- in network byte order,
                                -- 1 octet of node number
        OCTET STRING (SIZE (3))

    ATName ::=                  -- 0 to 32 octets of AppleTalk
                                -- ASCII [Inside AppleTalk]
        OCTET STRING (SIZE (0..32))

	--  RtrStatus Values

	     RtrStatus ::= INTEGER { disabled(0), enabled (1) }

	--  Action 

		Action ::= INTEGER { deny(0), permit(1) }

-- SECTION 2: MIB 

-- Router AppleTalk MIB
-- This section contains AppleTalk specific router MIB object definitions.

-- AppleTalk general group

snRtATGeneral               OBJECT IDENTIFIER ::= { snAppleTalk 1 }

snRtATRoutingEnable            OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable AppleTalk routing function on this box."
	::= { snRtATGeneral 1 }

snRtATClearArpCache            OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear AppleTalk arp cache table."
	::= { snRtATGeneral 2 }

snRtATClearFwdCache            OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear AppleTalk forward cache table."
	::= { snRtATGeneral 3 }

snRtATClearRoute               OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear AppleTalk route table."
	::= { snRtATGeneral 4 }

snRtATClearTrafficCounters     OBJECT-TYPE
	SYNTAX  ClearStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"clear(1) will clear AppleTalk network statistics counters."
	::= { snRtATGeneral 5 }

snRtATArpRetransmitCount       OBJECT-TYPE
	SYNTAX  INTEGER (1..10)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The number of AppleTalk ARP request retransmits if the
		first request timeouts."
    DEFVAL  { 2 }
	::= { snRtATGeneral 6 }

snRtATArpRetransmitInterval    OBJECT-TYPE
	SYNTAX  INTEGER (1..120)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The waiting time interval for an AppleTalk ARP response
		before retransmission of an ARP request. Each unit value
		is one second."
    DEFVAL  { 1 }
	::= { snRtATGeneral 7 }

snRtATGleanPacketsEnable       OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable AppleTalk glean packets function on this box."
    DEFVAL  { disabled }
	::= { snRtATGeneral 8 }

snRtATRtmpUpdateInterval       OBJECT-TYPE
	SYNTAX  INTEGER (1..3600)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The periodic time interval to transmit a RTMP
		update. Each unit value is one second."
    DEFVAL  { 10 }
	::= { snRtATGeneral 9 }

snRtATZipQueryInterval         OBJECT-TYPE
	SYNTAX  INTEGER (1..1000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The periodic time interval to transmit a ZIP
		query. Each unit value is one second."
    DEFVAL  { 10 }
	::= { snRtATGeneral 10 }

snRtATInRtmpPkts               OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of RTMP packets received by
		this entity."
	::= { snRtATGeneral 11 }

snRtATOutRtmpPkts              OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of RTMP packets which were
		transmitted from this entity."
	::= { snRtATGeneral 12 }

snRtATFilteredRtmpPkts         OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of RTMP packets which were
		filtered by this entity."
	::= { snRtATGeneral 13 }

snRtATInZipPkts                OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of ZIP packets received by
		this entity."
	::= { snRtATGeneral 14 }

snRtATOutZipPkts               OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of ZIP packets which were
		transmitted from this entity."
	::= { snRtATGeneral 15 }

snRtATInZipGZLPkts             OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of ZIP get zone list packets received by
		this entity."
	::= { snRtATGeneral 16 }

snRtATOutZipGZLPkts            OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of ZIP get zone list packets which were
		transmitted from this entity."
	::= { snRtATGeneral 17 }

snRtATInZipNetInfoPkts         OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of ZIP network information packets received by
		this entity."
	::= { snRtATGeneral 18 }

snRtATOutZipNetInfoPkts        OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of ZIP network information packets which were
		transmitted from this entity."
	::= { snRtATGeneral 19 }

snRtATInDdpPkts                OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of DDP datagrams received by
		this entity."
	::= { snRtATGeneral 20 }

snRtATOutDdpPkts               OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of DDP datagrams which were
		transmitted from this entity."
	::= { snRtATGeneral 21 }

snRtATForwardedDdpPkts         OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The number of input DDP datagrams for which this entity
		was not their final DDP destination, as a result of
		which an attempt was made to find a route to forward
		them to that final destination."
	::= { snRtATGeneral 22 }

snRtATInDeliveredDdpPkts       OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of input DDP datagrams for which
		this entity was their final DDP destination."
	::= { snRtATGeneral 23 }

snRtATDroppedNoRouteDdpPkts    OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of DDP datagrams dropped because a
		route could not be found to their final destination."
	::= { snRtATGeneral 24 }

snRtATDroppedBadHopCountsDdpPkts OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of input DDP datagrams dropped
		because this entity was not their final destination
		and their hop count would exceed 15."
	::= { snRtATGeneral 25 }

snRtATDroppedOtherReasonsDdpPkts OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of DDP datagrams dropped because
		of other reasons, e.g. run out of resouces."
	::= { snRtATGeneral 26 }

snRtATInAarpPkts               OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of AppleTalk ARP packets received by
		this entity."
	::= { snRtATGeneral 27 }

snRtATOutAarpPkts              OBJECT-TYPE
	SYNTAX  Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total number of AppleTalk ARP packets which were
		transmitted from this entity."
	::= { snRtATGeneral 28 }


-- AppleTalk socket priority table

snRtATSocketPriorityTable      OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtATSocketPriorityEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk socket priority table."
	::= { snAppleTalk 2 }

snRtATSocketPriorityEntry      OBJECT-TYPE
	SYNTAX  SnRtATSocketPriorityEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the AppleTalk socket priority table."
	INDEX   { snRtATSocketPrioritySocket }
	::= { snRtATSocketPriorityTable 1 }

SnRtATSocketPriorityEntry ::= SEQUENCE {
	snRtATSocketPrioritySocket
		INTEGER,
	snRtATSocketPriorityPriority
		INTEGER
	}

snRtATSocketPrioritySocket     OBJECT-TYPE
	SYNTAX  INTEGER (1..254)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Socket number for a socket priority entry."
	::= { snRtATSocketPriorityEntry 1 }

snRtATSocketPriorityPriority OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Standalone router Priority level applies to a socket number:
		 low(0)   -- low prority
		 high(1) -- high prority.
		 The BigIron Priority levels applies to a socket number are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snRtATSocketPriorityEntry 2 }


-- AppleTalk interface zone filter table

snRtATPortZoneFilterTable      OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtATPortZoneFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk interface zone filter table."
	::= { snAppleTalk 3 }

snRtATPortZoneFilterEntry      OBJECT-TYPE
	SYNTAX  SnRtATPortZoneFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the AppleTalk interface zone filter table."
	INDEX   { snRtATPortZoneFilterPortIndex, snRtATPortZoneFilterZone }
	::= { snRtATPortZoneFilterTable 1 }

SnRtATPortZoneFilterEntry ::= SEQUENCE {
	snRtATPortZoneFilterPortIndex
		PortIndex,
	snRtATPortZoneFilterZone
		ATName,
	snRtATPortZoneFilterAction
		Action,
	snRtATPortZoneFilterRtmpEnable
		RtrStatus,
	snRtATPortZoneFilterRowStatus
		RowSts
	}

snRtATPortZoneFilterPortIndex  OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for a zone filter entry."
	::= { snRtATPortZoneFilterEntry 1 }

snRtATPortZoneFilterZone       OBJECT-TYPE
	SYNTAX  ATName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The zone name granted for this filter."
	::= { snRtATPortZoneFilterEntry 2 }

snRtATPortZoneFilterAction     OBJECT-TYPE
	SYNTAX  Action
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the AppleTalk packet match
		with this filter."
	::= { snRtATPortZoneFilterEntry 3 }

snRtATPortZoneFilterRtmpEnable OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable RTMP filtering."
	::= { snRtATPortZoneFilterEntry 4 }

snRtATPortZoneFilterRowStatus  OBJECT-TYPE
	SYNTAX  RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a zone filter entry."
	::= { snRtATPortZoneFilterEntry 5 }


-- AppleTalk port table

snRtATPortTable                OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtATPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk port table."
	::= { snAppleTalk 4 }

snRtATPortEntry                OBJECT-TYPE
	SYNTAX  SnRtATPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the AppleTalk port table."
	INDEX   { snRtATPortIndex }
	::= { snRtATPortTable 1 }

SnRtATPortEntry ::= SEQUENCE {
	snRtATPortIndex
		PortIndex,
	snRtATPortArpAge
		INTEGER,
	snRtATPortState
		INTEGER,
	snRtATPortSeedRouter
		INTEGER,
	snRtATPortOperationMode
		INTEGER
	}

snRtATPortIndex                OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for port table entry."
	::= { snRtATPortEntry 1 }

snRtATPortArpAge               OBJECT-TYPE
	SYNTAX  INTEGER (0..240)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The time in minutes an ARP entry can
		be valid without relearning. 
		0 - Don't age."
    DEFVAL  { 10 }
	::= { snRtATPortEntry 2 }

snRtATPortState                OBJECT-TYPE
	SYNTAX  INTEGER {
             other(1),
             down(2),
             up(3) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The up and down state of this port."
	::= { snRtATPortEntry 3 }

snRtATPortSeedRouter           OBJECT-TYPE
	SYNTAX  INTEGER {
             other(1),
             seedRouter(2),
             nonSeedRouter(3) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"This port was configured to seed or non-seed router."
	::= { snRtATPortEntry 4 }

snRtATPortOperationMode        OBJECT-TYPE
	SYNTAX  INTEGER {
             other(1),
             seedRouter(2),
             nonSeedRouter(3),
             notOperational(4),
             routingDisabled(5) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The operation mode of this port."
	::= { snRtATPortEntry 5 }


-- AppleTalk forwarding cache table

snRtATFwdCacheTable            OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtATFwdCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk forwarding cache table."
	::= { snAppleTalk 5 }

snRtATFwdCacheEntry            OBJECT-TYPE
	SYNTAX  SnRtATFwdCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the AppleTalk forwarding cache table."
	INDEX   { snRtATFwdCacheIndex }
	::= { snRtATFwdCacheTable 1 }

SnRtATFwdCacheEntry ::= SEQUENCE {
	snRtATFwdCacheIndex
		INTEGER,
	snRtATFwdCacheNetAddr
		DdpNodeAddress,
	snRtATFwdCacheMacAddr
		OCTET STRING,
	snRtATFwdCacheNextHop
		DdpNodeAddress,
	snRtATFwdCacheOutgoingPort
		INTEGER,
	snRtATFwdCacheType
		INTEGER,
	snRtATFwdCacheAction
		INTEGER,
	snRtATFwdCacheVLanId
		INTEGER
	}

snRtATFwdCacheIndex            OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for an AppleTalk forwarding cache table entry."
	::= { snRtATFwdCacheEntry 1 }

snRtATFwdCacheNetAddr          OBJECT-TYPE
	SYNTAX  DdpNodeAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The AppleTalk network address of a station."
	::= { snRtATFwdCacheEntry 2 }

snRtATFwdCacheMacAddr          OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The Mac address of an AppleTalk station."
	::= { snRtATFwdCacheEntry 3 }

snRtATFwdCacheNextHop          OBJECT-TYPE
	SYNTAX  DdpNodeAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The next hop router network address."
	::= { snRtATFwdCacheEntry 4 }

snRtATFwdCacheOutgoingPort     OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The outgoing port of which packets will forward to.
		Return port value of zero to indicate no outgoing port
		associated to this entry."
	::= { snRtATFwdCacheEntry 5 }

snRtATFwdCacheType             OBJECT-TYPE
	SYNTAX  INTEGER { dynamic(1), permanent(2) }
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The 'dynamic' or 'permanent' type for an AppleTalk forwarding
		cache table entry."
	::= { snRtATFwdCacheEntry 6 }

snRtATFwdCacheAction           OBJECT-TYPE
	SYNTAX  INTEGER {
			other(1),
			forward(2),
			forUs(3),
			waitForArp(4),
			dropPacket(5)
			}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The action to take."
	::= { snRtATFwdCacheEntry 7 }

snRtATFwdCacheVLanId        OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID for an AppleTalk forwarding cache table entry.
		Return VLAN ID value of zero to indicate no VLAN associated
		to this entry."
	::= { snRtATFwdCacheEntry 8 }


-- AppleTalk zone table

snRtATZoneTable            OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtATZoneEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk zone table."
	::= { snAppleTalk 6 }

snRtATZoneEntry            OBJECT-TYPE
	SYNTAX  SnRtATZoneEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the AppleTalk zone table."
	INDEX   { snRtATZoneIndex }
	::= { snRtATZoneTable 1 }

SnRtATZoneEntry ::= SEQUENCE {
	snRtATZoneIndex
		INTEGER,
	snRtATZoneNetStart
		ATNetworkNumber,
	snRtATZoneNetEnd
		ATNetworkNumber,
	snRtATZoneName
		ATName
	}

snRtATZoneIndex            OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for an AppleTalk zone table entry."
	::= { snRtATZoneEntry 1 }

snRtATZoneNetStart         OBJECT-TYPE
	SYNTAX  ATNetworkNumber
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
        "The first AppleTalk network address in the range
        of this zone name."
	::= { snRtATZoneEntry 2 }

snRtATZoneNetEnd           OBJECT-TYPE
	SYNTAX  ATNetworkNumber
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
        "The last AppleTalk network address in the range
        of this zone name."
	::= { snRtATZoneEntry 3 }

snRtATZoneName             OBJECT-TYPE
	SYNTAX  ATName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The zone name."
	::= { snRtATZoneEntry 4 }


-- AppleTalk additional zone filter table

snRtATAddZoneFilterTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtATAddZoneFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"AppleTalk additional zone filter table. Additional zones
		are those zones that do not match any zones defined in the
		zone filter table."
	::= { snAppleTalk 7 }

snRtATAddZoneFilterEntry       OBJECT-TYPE
	SYNTAX  SnRtATAddZoneFilterEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the AppleTalk additional zone filter table."
	INDEX   { snRtATAddZoneFilterPortIndex }
	::= { snRtATAddZoneFilterTable 1 }

SnRtATAddZoneFilterEntry ::= SEQUENCE {
	snRtATAddZoneFilterPortIndex
		PortIndex,
	snRtATAddZoneFilterAction
		Action,
	snRtATAddZoneFilterRtmpEnable
		RtrStatus
	}

snRtATAddZoneFilterPortIndex   OBJECT-TYPE
	SYNTAX  PortIndex
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index for additional zone filter table entry."
	::= { snRtATAddZoneFilterEntry 1 }

snRtATAddZoneFilterAction      OBJECT-TYPE
	SYNTAX  Action
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if no zone filter match."
	::= { snRtATAddZoneFilterEntry 2 }

snRtATAddZoneFilterRtmpEnable  OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/disable RTMP filtering on additional zone."
	::= { snRtATAddZoneFilterEntry 3 }

END
HP-SN-SW-L4-SWITCH-GROUP-MIB DEFINITIONS ::= BEGIN


-- Foundry L4 Switch Group MIB Release 1.0.0
-- Revision 0 01/08/2000

-- Copyright 1996-98 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

IMPORTS
	IpAddress, Counter, TimeTicks
			FROM RFC1155-SMI
	 Counter64		FROM SNMPv2-SMI
   
	OBJECT-TYPE             
		FROM RFC-1212
	snL4
		FROM HP-SN-ROOT-MIB;

	-- textual conventions
	-- maximum of ports are 32.  

	--  Row Creation/Deletion Values

	     L4RowSts ::= INTEGER { other(1),
							  valid(2),
							  delete(3),
							  create(4),
							  modify(5)
							}
	--  L4 Status Values

	    L4Status ::= INTEGER { disabled(0), enabled(1) }

	--  L4 Server Name
        L4ServerName ::= OCTET STRING (SIZE(1..32))

	--  L4 Flag Values
	    L4Flag ::= INTEGER { false(0), true(1) }

	--  L4 Delete Sate
	     L4DeleteState ::= INTEGER { done(0),
									 waitunbind(1),
									 waitdelete(2)
									}

	--  WebCacheSate
	     WebCacheState ::= INTEGER { disabled(0),
									 enabled(1),
									 failed(2),
									 testing(3),
									 suspect(4),
									 shutdown(5),
									 active(6)
									}

        PhysAddress ::= OCTET STRING
    -- This data type is used to model media addresses.  For many
    -- types of media, this will be in a binary representation.
    -- For example, an ethernet address would be represented as
    -- a string of 6 octets.

	  DisplayString ::=
	      OCTET STRING
	  -- This data type is used to model textual information taken
	  -- from the NVT ASCII character set.  By convention, objects
	  -- with this syntax are declared as having
	  --
	  --      SIZE (0..255)
    

snL4Gen						OBJECT IDENTIFIER	  ::= { snL4 1  }
snL4VirtualServer			OBJECT IDENTIFIER	  ::= { snL4 2  }
snL4RealServer				OBJECT IDENTIFIER	  ::= { snL4 3  }
snL4VirtualServerPort		OBJECT IDENTIFIER	  ::= { snL4 4  }
snL4RealServerPort			OBJECT IDENTIFIER	  ::= { snL4 5  }
snL4Bind					OBJECT IDENTIFIER	  ::= { snL4 6  }
snL4VirtualServerStatus		OBJECT IDENTIFIER	  ::= { snL4 7  }
snL4RealServerStatus		OBJECT IDENTIFIER	  ::= { snL4 8  }
snL4VirtualServerPortStatus	OBJECT IDENTIFIER	  ::= { snL4 9  }
snL4RealServerPortStatus	OBJECT IDENTIFIER	  ::= { snL4 10 }
snL4Policy					OBJECT IDENTIFIER	  ::= { snL4 11 }
snL4PolicyPortAccess		OBJECT IDENTIFIER	  ::= { snL4 12 }
snL4Trap					OBJECT IDENTIFIER	  ::= { snL4 13 }
snL4WebCache				OBJECT IDENTIFIER	  ::= { snL4 14 }
snL4WebCacheGroup			OBJECT IDENTIFIER	  ::= { snL4 15 }
snL4WebCacheTrafficStats	OBJECT IDENTIFIER	  ::= { snL4 16 }
snL4WebUncachedTrafficStats	OBJECT IDENTIFIER	  ::= { snL4 17 }
snL4WebCachePort			OBJECT IDENTIFIER	  ::= { snL4 18 }
snL4RealServerCfg			OBJECT IDENTIFIER	  ::= { snL4 19 }
snL4RealServerPortCfg		OBJECT IDENTIFIER	  ::= { snL4 20 }
snL4VirtualServerCfg		OBJECT IDENTIFIER	  ::= { snL4 21  }
snL4VirtualServerPortCfg	OBJECT IDENTIFIER	  ::= { snL4 22  }
snL4RealServerStatistic		OBJECT IDENTIFIER	  ::= { snL4 23 }
snL4RealServerPortStatistic	OBJECT IDENTIFIER	  ::= { snL4 24 }
snL4VirtualServerStatistic		OBJECT IDENTIFIER	  ::= { snL4 25 }
snL4VirtualServerPortStatistic	OBJECT IDENTIFIER	  ::= { snL4 26 }
snL4GslbSiteRemoteServerIrons	OBJECT IDENTIFIER 	  ::= { snL4 27 }
snL4History						OBJECT IDENTIFIER 	  ::= { snL4 28 }


-- L4 General MIBs
                
snL4MaxSessionLimit 		OBJECT-TYPE
	SYNTAX	INTEGER	(0..1000000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"numbers of maximum session (L4 cache) entries"
	::= { snL4Gen 1 }

snL4TcpSynLimit 		OBJECT-TYPE
	SYNTAX	INTEGER	 (1..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Numbers of connection per second"
	::= { snL4Gen 2 }

--  Server load balancing
snL4slbGlobalSDAType	OBJECT-TYPE
	SYNTAX	 INTEGER {
	    leastconnection(1),
	    roundrobin(2),
	    weighted(3)
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Global Session Distribution Algorithm(SDA)"
	::= { snL4Gen 3 }

snL4slbTotalConnections 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Total connections in this device"
	::= { snL4Gen 4 }

snL4slbLimitExceeds 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"exceeds snL4TCPSynLimit (numbers of connection per second)"
	::= { snL4Gen 5 }

-- Server load balancing traffic info

snL4slbForwardTraffic 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Client->Server"
	::= { snL4Gen 6 }

snL4slbReverseTraffic 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Server->Client"
	::= { snL4Gen 7 }

snL4slbDrops 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 8 }

snL4slbDangling 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 9 }

snL4slbDisableCount 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 10 }

snL4slbAged 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 11 }

snL4slbFinished 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"FIN_or_RST"
	::= { snL4Gen 12 }

--  Session

snL4FreeSessionCount 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Maximum sessions - used sessions"
	::= { snL4Gen 13 }


--  Hot stand-by
snL4BackupInterface 		OBJECT-TYPE
	SYNTAX	INTEGER	  (0..26)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"backup monitoring port"
	::= { snL4Gen 14 }

snL4BackupMacAddr 		OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Associated MAC address for backup monitoring port"
	::= { snL4Gen 15 }

snL4Active 		OBJECT-TYPE
	SYNTAX	L4Flag
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 16 }

snL4Redundancy 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 17 }

snL4Backup 		OBJECT-TYPE
	SYNTAX	L4Flag
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"true->StandBy,false->active"
	::= { snL4Gen 18 }

snL4BecomeActive 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"How many times this device become active"
	::= { snL4Gen 19 }

snL4BecomeStandBy 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"How many times this device become standby"
	::= { snL4Gen 20 }

snL4BackupState 		OBJECT-TYPE
	SYNTAX	 INTEGER {
		slbSyncComplete(0),
	    slbSyncReqMap(1),
	    slbSyncreqMac(2),
	    slbSyncreqServers(3),
	    slbSyncReqL4(4)
	}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Backup state"
	::= { snL4Gen 21 }

snL4NoPDUSent 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 22 }


snL4NoPDUCount 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 23 }


snL4NoPortMap 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4Gen 24 }

snL4unsuccessfulConn 	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Unsuccessfull connection"
	::= { snL4Gen 25 }

snL4PingInterval 	OBJECT-TYPE
	SYNTAX	INTEGER	 (1..10)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Ping retries interval"
    DEFVAL { 2 }
	::= { snL4Gen 26 }

snL4PingRetry 	OBJECT-TYPE
	SYNTAX	INTEGER	(2..10)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Ping retries attempts"
    DEFVAL { 4 }
	::= { snL4Gen 27 }

snL4TcpAge 	OBJECT-TYPE
	SYNTAX	INTEGER	(2..60)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"TCP reset age"
    DEFVAL { 30 }
	::= { snL4Gen 28 }


snL4UdpAge 	OBJECT-TYPE
	SYNTAX	INTEGER	(2..60)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"UDP reset age"
    DEFVAL { 5 }
	::= { snL4Gen 29 }


-- Enable/disable L4 traps

snL4EnableMaxSessionLimitReachedTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable maximum number of connections reached trap."
	::= { snL4Gen 30 }

snL4EnableTcpSynLimitReachedTrap            OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable the number of TCP SYN limits reached trap."
	::= { snL4Gen 31 }

snL4EnableRealServerUpTrap                  OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable the real server up trap."
	::= { snL4Gen 32 }

snL4EnableRealServerDownTrap                OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable the real server down trap."
	::= { snL4Gen 33 }

snL4EnableRealServerPortUpTrap              OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable the real server TCP port up trap."
	::= { snL4Gen 34 }

snL4EnableRealServerPortDownTrap            OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable the real server TCP port down trap."
	::= { snL4Gen 35 }

snL4EnableRealServerMaxConnLimitReachedTrap OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable the real server maximum number of
		connections reached trap."
	::= { snL4Gen 36 }

snL4EnableBecomeStandbyTrap                 OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable trap of the server load balancing
		switch changes state from active to standby."
	::= { snL4Gen 37 }

snL4EnableBecomeActiveTrap                  OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Enable/disable trap of the server load balancing
		switch changes state from standby to active."
	::= { snL4Gen 38 }

snL4slbRouterInterfacePortMask 	OBJECT-TYPE
	SYNTAX	INTEGER	
	ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Router interface port mask.
		(It was obsoleted after release 07100, replaced by snL4slbRouterInterfacePortList)"
	::= { snL4Gen 39 }

------- Server Cache Group Global MIBs ----------
snL4MaxNumWebCacheGroup 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of server cache groups"
	::= { snL4Gen 40 }

snL4MaxNumWebCachePerGroup 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The maximum number of WEB Cache servers in each of web cache group"
	::= { snL4Gen 41 }

snL4WebCacheStateful 		OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The WEB Cache servers cache-stateful"
	::= { snL4Gen 42 }

------- GSLB Group Global MIBs ----------
snL4EnableGslbHealthCheckIpUpTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Health check IP up."
	::= { snL4Gen 43 }

snL4EnableGslbHealthCheckIpDownTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Health check IP down."
	::= { snL4Gen 44 }


snL4EnableGslbHealthCheckIpPortUpTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Health check IP port up."
	::= { snL4Gen 45 }


snL4EnableGslbHealthCheckIpPortDownTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Health check IP port down."
	::= { snL4Gen 46 }


snL4EnableGslbRemoteGslbSiDownTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Connection to GSLB ServerIron is down."
	::= { snL4Gen 47 }


snL4EnableGslbRemoteGslbSiUpTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Connection to GSLB ServerIron is up."
	::= { snL4Gen 48 }


snL4EnableGslbRemoteSiDownTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"GSLB connection to remote ServerIron is down."
	::= { snL4Gen 49 }


snL4EnableGslbRemoteSiUpTrap        OBJECT-TYPE
	SYNTAX INTEGER { disabled(0), enabled(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"GSLB connection to remote ServerIron is up."
	::= { snL4Gen 50 }

snL4slbRouterInterfacePortList 	OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Router interface port list. Each port index is a 16-bit integer
		in big endian order. 8-bit is the slot number, the other 8-bit
		is the port number."
	::= { snL4Gen 51 }


-- Virtual Server table

snL4VirtualServerTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server table."
	::= { snL4VirtualServer 1 }

snL4VirtualServerEntry  OBJECT-TYPE
	SYNTAX	SnL4VirtualServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in L4 Virtual Server table."
	INDEX	{ snL4VirtualServerIndex }
	::= { snL4VirtualServerTable 1 }

SnL4VirtualServerEntry ::= SEQUENCE {
	snL4VirtualServerIndex
		INTEGER,
    snL4VirtualServerName
        L4ServerName,
    snL4VirtualServerVirtualIP
		IpAddress,
    snL4VirtualServerAdminStatus
        L4Status,
	snL4VirtualServerSDAType
		INTEGER,
	snL4VirtualServerRowStatus
		L4RowSts,
    snL4VirtualServerDeleteState
        L4DeleteState
	}

snL4VirtualServerIndex  OBJECT-TYPE
	SYNTAX	INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a Virtual Server  entry."
	::= { snL4VirtualServerEntry 1 }


snL4VirtualServerName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Virtual server name."
	::= { snL4VirtualServerEntry 2 }

snL4VirtualServerVirtualIP
	OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server IP Address."
	::= { snL4VirtualServerEntry 3 }

snL4VirtualServerAdminStatus	OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server status is ether disabled(0) or enabled(1)."
	::= { snL4VirtualServerEntry 4 }

snL4VirtualServerSDAType  OBJECT-TYPE
	SYNTAX	 INTEGER {
		default(0),
	    leastconnection(1),
	    roundrobin(2),
	    weighted(3)
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"TCP/UDP Sessions Distribution Algorithms Type."
	::= { snL4VirtualServerEntry 5 }

 snL4VirtualServerRowStatus OBJECT-TYPE
	SYNTAX  L4RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a virtual server
		entry."
	::= {snL4VirtualServerEntry  6 }

snL4VirtualServerDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4VirtualServerEntry 7 }


-- Real Server table

snL4RealServerTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server table."
	::= { snL4RealServer 1 }

snL4RealServerEntry  OBJECT-TYPE
	SYNTAX	SnL4RealServerEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server table."
	INDEX	{ snL4RealServerIndex }
	::= { snL4RealServerTable 1 }

SnL4RealServerEntry ::= SEQUENCE {
	snL4RealServerIndex
		INTEGER,
    snL4RealServerName
        L4ServerName,
    snL4RealServerIP
		IpAddress,
    snL4RealServerAdminStatus
        L4Status,
	snL4RealServerMaxConnections
		INTEGER,
	snL4RealServerWeight
		INTEGER,
	snL4RealServerRowStatus
		L4RowSts,
    snL4RealServerDeleteState
        L4DeleteState
	}

snL4RealServerIndex  OBJECT-TYPE
	SYNTAX	INTEGER (1..256)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a Real Server entry."
	::= { snL4RealServerEntry 1 }
snL4RealServerName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real server name."
	::= { snL4RealServerEntry 2 }

snL4RealServerIP
	OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server IP Address."
	::= { snL4RealServerEntry 3 }

snL4RealServerAdminStatus	OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server status is ether disabled(0) or enabled(1)."
	::= { snL4RealServerEntry 4 }

snL4RealServerMaxConnections 	OBJECT-TYPE
	SYNTAX	INTEGER	 (0..1000000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server Maximum Connection allowed."
	::= { snL4RealServerEntry 5 }

 snL4RealServerWeight	OBJECT-TYPE
	SYNTAX	INTEGER	  (0..65000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server weight"
	::= { snL4RealServerEntry 6 }

 snL4RealServerRowStatus OBJECT-TYPE
	SYNTAX  L4RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a real server entry."
	::= {snL4RealServerEntry  7 }

snL4RealServerDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4RealServerEntry 8 }



-- Virtual Server Port table

snL4VirtualServerPortTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server Port table."
	::= { snL4VirtualServerPort 1 }

snL4VirtualServerPortEntry	       OBJECT-TYPE
	SYNTAX	SnL4VirtualServerPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Virtual Server Port table."
	INDEX	{ snL4VirtualServerPortIndex }
	::= { snL4VirtualServerPortTable 1 }

SnL4VirtualServerPortEntry ::= SEQUENCE {
	snL4VirtualServerPortIndex
		INTEGER,
	snL4VirtualServerPortServerName
        L4ServerName,
	snL4VirtualServerPortPort
		INTEGER,
	snL4VirtualServerPortAdminStatus
		L4Status,
	snL4VirtualServerPortSticky
		INTEGER,
	snL4VirtualServerPortConcurrent
		INTEGER,
	snL4VirtualServerPortRowStatus
		L4RowSts,
    snL4VirtualServerPortDeleteState
        L4DeleteState
	}


snL4VirtualServerPortIndex	       OBJECT-TYPE
	SYNTAX	INTEGER (1..2048)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Virtual Server Port entry."
	::= { snL4VirtualServerPortEntry 1 }


snL4VirtualServerPortServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortEntry 2 }

snL4VirtualServerPortPort       OBJECT-TYPE
	SYNTAX	INTEGER	  (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortEntry 3 }


snL4VirtualServerPortAdminStatus		       OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortEntry 4 }


 snL4VirtualServerPortSticky       OBJECT-TYPE
	 SYNTAX  INTEGER {
			disabled(0),
			enabled(1)       
			}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortEntry 5 }


 snL4VirtualServerPortConcurrent       OBJECT-TYPE
	 SYNTAX  INTEGER {
			disabled(0),
			enabled(1)       
			}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortEntry 6 }


 snL4VirtualServerPortRowStatus	 	       OBJECT-TYPE
	SYNTAX L4RowSts	
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a virtual server  port entry."
	::= { snL4VirtualServerPortEntry 7 }

snL4VirtualServerPortDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4VirtualServerPortEntry 8 }




-- Real Server Port table

snL4RealServerPortTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Port table."
	::= { snL4RealServerPort 1 }

snL4RealServerPortEntry	       OBJECT-TYPE
	SYNTAX	SnL4RealServerPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Port table."
	INDEX	{ snL4RealServerPortIndex }
	::= { snL4RealServerPortTable 1 }

SnL4RealServerPortEntry ::= SEQUENCE {
	snL4RealServerPortIndex
		INTEGER,
	snL4RealServerPortServerName
        L4ServerName,
	snL4RealServerPortPort
		INTEGER,
	snL4RealServerPortAdminStatus
		L4Status,
	snL4RealServerPortRowStatus
		L4RowSts,
    snL4RealServerPortDeleteState
        L4DeleteState
	}


snL4RealServerPortIndex	       OBJECT-TYPE
	SYNTAX	INTEGER (1..2048)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Real Server Port entry."
	::= { snL4RealServerPortEntry 1 }
snL4RealServerPortServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortEntry 2 }

snL4RealServerPortPort       OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortEntry 3 }


snL4RealServerPortAdminStatus		       OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortEntry 4 }

 snL4RealServerPortRowStatus	 	       OBJECT-TYPE
	SYNTAX L4RowSts	
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Real server  port entry."
	::= { snL4RealServerPortEntry 5 }

snL4RealServerPortDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4RealServerPortEntry 6 }



-- Bind table

snL4BindTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4BindEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Bind table."
	::= { snL4Bind 1 }

snL4BindEntry	       OBJECT-TYPE
	SYNTAX	SnL4BindEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Bind table."
	INDEX	{ snL4BindIndex }
	::= { snL4BindTable 1 }

SnL4BindEntry ::= SEQUENCE {
	snL4BindIndex
		INTEGER,
	snL4BindVirtualServerName
        L4ServerName,
	snL4BindVirtualPortNumber
		INTEGER,
	snL4BindRealServerName
        L4ServerName,
	snL4BindRealPortNumber
		INTEGER,
	snL4BindRowStatus
		INTEGER
	}


snL4BindIndex	       OBJECT-TYPE
	SYNTAX	INTEGER (1..2048)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Bind entry."
	::= { snL4BindEntry 1 }

snL4BindVirtualServerName 	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4BindEntry 2 }

snL4BindVirtualPortNumber        OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4BindEntry 3 }


 snL4BindRealServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4BindEntry 4 }

snL4BindRealPortNumber       OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4BindEntry 5 }
snL4BindRowStatus  	 	       OBJECT-TYPE
	SYNTAX	 INTEGER {
			  other(1),
			  valid(2),
			 delete(3),
			 create(4)
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete bind entry."
	::= { snL4BindEntry 6 }





-- Virtual Server Status table

snL4VirtualServerStatusTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server Status table."
	::= { snL4VirtualServerStatus 1 }

snL4VirtualServerStatusEntry  OBJECT-TYPE
	SYNTAX	SnL4VirtualServerStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in L4 Virtual Server Status table."
	INDEX	{ snL4VirtualServerStatusIndex }
	::= { snL4VirtualServerStatusTable 1 }

SnL4VirtualServerStatusEntry ::= SEQUENCE {
	snL4VirtualServerStatusIndex
		INTEGER,
    snL4VirtualServerStatusName
        L4ServerName,
	snL4VirtualServerStatusReceivePkts
		Counter,
	snL4VirtualServerStatusTransmitPkts
		Counter,
	snL4VirtualServerStatusTotalConnections
		Counter
	}

snL4VirtualServerStatusIndex  OBJECT-TYPE
	SYNTAX	INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a Virtual Server  Status entry."
	::= { snL4VirtualServerStatusEntry 1 }


snL4VirtualServerStatusName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Virtual server name."
	::= { snL4VirtualServerStatusEntry 2 }


snL4VirtualServerStatusReceivePkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatusEntry 3 }

snL4VirtualServerStatusTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatusEntry 4 }

snL4VirtualServerStatusTotalConnections  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatusEntry 5 }


-- Real Server Status Table

snL4RealServerStatusTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Status table."
	::= { snL4RealServerStatus 1 }

snL4RealServerStatusEntry  OBJECT-TYPE
	SYNTAX	SnL4RealServerStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Status table."
	INDEX	{ snL4RealServerStatusIndex }
	::= { snL4RealServerStatusTable 1 }

SnL4RealServerStatusEntry ::= SEQUENCE {
	snL4RealServerStatusIndex
		INTEGER,
    snL4RealServerStatusName
        L4ServerName,
    snL4RealServerStatusRealIP
		IpAddress,
	snL4RealServerStatusReceivePkts
		Counter,
	snL4RealServerStatusTransmitPkts
		Counter,
	snL4RealServerStatusCurConnections
		INTEGER,
	snL4RealServerStatusTotalConnections
		Counter,
	snL4RealServerStatusAge
		INTEGER,
	snL4RealServerStatusState
		INTEGER,
	snL4RealServerStatusReassignments
		INTEGER,
	snL4RealServerStatusReassignmentLimit
		INTEGER,
	snL4RealServerStatusFailedPortExists
		INTEGER,
	snL4RealServerStatusFailTime
		INTEGER,
	snL4RealServerStatusPeakConnections
		INTEGER
	}

snL4RealServerStatusIndex  OBJECT-TYPE
	SYNTAX	INTEGER	 (1..256)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a Real Server Status entry."
	::= { snL4RealServerStatusEntry 1 }

snL4RealServerStatusName OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 2 }

snL4RealServerStatusRealIP OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 3 }

snL4RealServerStatusReceivePkts	  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 4 }

snL4RealServerStatusTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 5 }

snL4RealServerStatusCurConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 6 }

snL4RealServerStatusTotalConnections   OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 7 }

snL4RealServerStatusAge  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 8 }

snL4RealServerStatusState  OBJECT-TYPE
	SYNTAX	INTEGER	{
	serverdisabled(0),
	serverenabled(1),
	serverfailed(2),
	servertesting(3),
	serversuspect(4),
	servershutdown(5),
	serveractive(6)
	}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 9 }

snL4RealServerStatusReassignments  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 10 }

snL4RealServerStatusReassignmentLimit  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 11 }

snL4RealServerStatusFailedPortExists  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 12 }

snL4RealServerStatusFailTime  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 13 }


snL4RealServerStatusPeakConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatusEntry 14 }




-- Virtual Server Port Status table

snL4VirtualServerPortStatusTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerPortStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server Port Status table."
	::= { snL4VirtualServerPortStatus 1 }

snL4VirtualServerPortStatusEntry	       OBJECT-TYPE
	SYNTAX	SnL4VirtualServerPortStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Virtual Server Port Status table."
	INDEX	{ snL4VirtualServerPortStatusIndex }
	::= { snL4VirtualServerPortStatusTable 1 }

SnL4VirtualServerPortStatusEntry ::= SEQUENCE {
	snL4VirtualServerPortStatusIndex
		INTEGER,
	snL4VirtualServerPortStatusPort
		INTEGER,
	snL4VirtualServerPortStatusServerName
        L4ServerName,
	snL4VirtualServerPortStatusCurrentConnection
		INTEGER,
	snL4VirtualServerPortStatusTotalConnection
		Counter,
	snL4VirtualServerPortStatusPeakConnection
		INTEGER
	}

snL4VirtualServerPortStatusIndex	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Virtual Server Port Status entry."
	::= { snL4VirtualServerPortStatusEntry 1 }

snL4VirtualServerPortStatusPort   OBJECT-TYPE
	SYNTAX	INTEGER	 (1..2048)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatusEntry 2 }

 snL4VirtualServerPortStatusServerName 	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatusEntry 3 }

 snL4VirtualServerPortStatusCurrentConnection 	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatusEntry 4 }

 snL4VirtualServerPortStatusTotalConnection		       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatusEntry 5 }

 snL4VirtualServerPortStatusPeakConnection 	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatusEntry 6 }

-- Real Server Port Status table

snL4RealServerPortStatusTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerPortStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Port Status table."
	::= { snL4RealServerPortStatus 1 }

snL4RealServerPortStatusEntry	       OBJECT-TYPE
	SYNTAX	SnL4RealServerPortStatusEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Port Status table."
	INDEX	{ snL4RealServerPortStatusIndex }
	::= { snL4RealServerPortStatusTable 1 }

SnL4RealServerPortStatusEntry ::= SEQUENCE {
	snL4RealServerPortStatusIndex
		INTEGER,
	snL4RealServerPortStatusPort
		INTEGER,
	snL4RealServerPortStatusServerName
        L4ServerName,
	snL4RealServerPortStatusReassignCount
		INTEGER,
	snL4RealServerPortStatusState
		INTEGER,
	snL4RealServerPortStatusFailTime
		INTEGER,
	snL4RealServerPortStatusCurrentConnection
		INTEGER,
	snL4RealServerPortStatusTotalConnection
		Counter,
	snL4RealServerPortStatusRxPkts
		Counter,
	snL4RealServerPortStatusTxPkts
		Counter,
	snL4RealServerPortStatusRxBytes
		Counter,
	snL4RealServerPortStatusTxBytes
		Counter,
	snL4RealServerPortStatusPeakConnection
		INTEGER
	}


snL4RealServerPortStatusIndex	       OBJECT-TYPE
	SYNTAX	INTEGER	  (1..2048)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Real Server Port Status entry."
	::= { snL4RealServerPortStatusEntry 1 }

snL4RealServerPortStatusPort	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortStatusEntry 2 }

snL4RealServerPortStatusServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortStatusEntry 3 }

snL4RealServerPortStatusReassignCount	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortStatusEntry 4 }

 snL4RealServerPortStatusState	       OBJECT-TYPE
	SYNTAX	INTEGER	{
		disabled(0),
		enabled(1),
		failed(2),
		testing(3),
		suspect(4),
	    shutdown(5),
		active(6),
		unbound(7),
		awaitUnbind(8),
		awaitDelete(9)
	}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port state"
	::= { snL4RealServerPortStatusEntry 5 }

snL4RealServerPortStatusFailTime 	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Only useful, if real server port state is failed.
		 Indicating how seconds has been elapsed from the last retry."
 	::= { snL4RealServerPortStatusEntry 6 }

snL4RealServerPortStatusCurrentConnection	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port current connection"
	::= { snL4RealServerPortStatusEntry 7 }

snL4RealServerPortStatusTotalConnection	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port total connection"
	::= { snL4RealServerPortStatusEntry 8 }

snL4RealServerPortStatusRxPkts	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port receive packets."
	::= { snL4RealServerPortStatusEntry 9 }


snL4RealServerPortStatusTxPkts	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port transmit packets."
	::= { snL4RealServerPortStatusEntry 10 }


snL4RealServerPortStatusRxBytes	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port receive bytes."
	::= { snL4RealServerPortStatusEntry 11 }

snL4RealServerPortStatusTxBytes	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port transmit bytes."
	::= { snL4RealServerPortStatusEntry 12 }


snL4RealServerPortStatusPeakConnection	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"peak connection for real server port."
	::= { snL4RealServerPortStatusEntry 13 }




-- L4 policy table

snL4PolicyTable	  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4PolicyEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"L4 policy table."
	::= {snL4Policy  1 }

snL4PolicyEntry	  OBJECT-TYPE
	SYNTAX	SnL4PolicyEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the L4 policy table."
	INDEX	{ snL4PolicyId }
	::= { snL4PolicyTable 1 }

SnL4PolicyEntry ::= SEQUENCE {
	snL4PolicyId
		INTEGER,
	snL4PolicyPriority
		INTEGER,
	snL4PolicyScope
		INTEGER,
	snL4PolicyProtocol
		INTEGER,
	snL4PolicyPort
		INTEGER,
	snL4PolicyRowStatus
		INTEGER
	}

snL4PolicyId         OBJECT-TYPE
	SYNTAX	INTEGER (1..64)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The  ID to identify a  entry."
	::= { snL4PolicyEntry 1 }

snL4PolicyPriority	   OBJECT-TYPE
	SYNTAX  INTEGER {
		level0(0),
		level1(1),
		level2(2),
		level3(3),
		level4(4),
		level5(5),
		level6(6),
		level7(7)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The Stand alone stackable switch L4 Policy Priority values are:
		 normal(0)   		 -- normal prority
		 high(1) 	 		 -- high prority
		 cache(2) 	 		 -- prority for cache
		 transparent(3) 	 -- prority for transparent
		 The BigIron switch L4 Priority values are:
		level0(0), level1(1), level2(2), level3(3),
		level4(4), level5(5), level6(6), level7(7) "
	::= { snL4PolicyEntry 2 }

snL4PolicyScope	   OBJECT-TYPE
	SYNTAX	INTEGER { global(0), local(1) }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		" Scope of the  local or global.
		  Global  automatic apply to all port.
		  Local  apply to a port."
	::= { snL4PolicyEntry 3 }

snL4PolicyProtocol     OBJECT-TYPE
	SYNTAX	INTEGER { udp(0), tcp(1) }

	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4PolicyEntry 4 }

snL4PolicyPort OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION ""
	::= { snL4PolicyEntry 5 }

snL4PolicyRowStatus  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:
		invalid(1)...Setting it to 'invalid' has the effect of
		             rendering it inoperative.
		valid(2).....the row exists and is valid"
	::= { snL4PolicyEntry 6 }

-- L4 policy port access table

snL4PolicyPortAccessTable	     OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4PolicyPortAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"ip interface L4 policy access table."
	::= {snL4PolicyPortAccess  1}

snL4PolicyPortAccessEntry	     OBJECT-TYPE
	SYNTAX	SnL4PolicyPortAccessEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of the ip interface L4 policy access  table."
	INDEX	{ snL4PolicyPortAccessPort }
	::= { snL4PolicyPortAccessTable 1 }

SnL4PolicyPortAccessEntry ::= SEQUENCE {
	snL4PolicyPortAccessPort
		INTEGER,
	snL4PolicyPortAccessList
		OCTET STRING,
	snL4PolicyPortAccessRowStatus
		INTEGER
	}

snL4PolicyPortAccessPort	     OBJECT-TYPE
	SYNTAX	INTEGER	
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The ip interface to which the L4 policy  applies."
	::= { snL4PolicyPortAccessEntry 1 }

snL4PolicyPortAccessList  OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..64))
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"An ip L4 policy  list, of which each octet contains
		a  ID number that forms a group of s. A
		valid entry in the snL4PolicyTable with the
		corresponding  ID number (i.e. snL4PolicyId)
		must have been created before a  list is initialized."
	::= { snL4PolicyPortAccessEntry 2 }

snL4PolicyPortAccessRowStatus   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:
		invalid(1)...Setting it to 'invalid' has the effect of
		             rendering it inoperative.
		valid(2).....the row exists and is valid"
	::= { snL4PolicyPortAccessEntry 3 }

-- L4 trap variable binding objects

snL4TrapRealServerIP             OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Real server IP address."
	::= { snL4Trap 1 }

snL4TrapRealServerName           OBJECT-TYPE
	SYNTAX L4ServerName
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Real server name."
	::= { snL4Trap 2 }

snL4TrapRealServerPort           OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Transport protocol port number of the real server."
	::= { snL4Trap 3 }

snL4TrapRealServerCurConnections OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Real Server current connections."
	::= { snL4Trap 4 }



-- Web Cache table

snL4WebCacheTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4WebCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server table."
	::= { snL4WebCache 1 }

snL4WebCacheEntry  OBJECT-TYPE
	SYNTAX	SnL4WebCacheEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server table."
	INDEX	{ snL4WebCacheIP }
	::= { snL4WebCacheTable 1 }

SnL4WebCacheEntry ::= SEQUENCE {
    snL4WebCacheIP
		IpAddress,
    snL4WebCacheName
        L4ServerName,
    snL4WebCacheAdminStatus
        L4Status,
	snL4WebCacheMaxConnections
		INTEGER,
	snL4WebCacheWeight
		INTEGER,
	snL4WebCacheRowStatus
		L4RowSts,
    snL4WebCacheDeleteState
        L4DeleteState
	}

snL4WebCacheIP
	OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real Server IP Address."
	::= { snL4WebCacheEntry 1 }

snL4WebCacheName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real server name."
	::= { snL4WebCacheEntry 2 }

snL4WebCacheAdminStatus	OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server status is ether disabled(0) or enabled(1)."
	::= { snL4WebCacheEntry 3 }

snL4WebCacheMaxConnections 	OBJECT-TYPE
	SYNTAX	INTEGER	 (0..1000000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server Maximum Connection allowed."
	::= { snL4WebCacheEntry 4 }

 snL4WebCacheWeight	OBJECT-TYPE
	SYNTAX	INTEGER	  (1..65000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server weight"
	::= { snL4WebCacheEntry 5 }

 snL4WebCacheRowStatus OBJECT-TYPE
	SYNTAX  L4RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a real server entry."
	::= {snL4WebCacheEntry  6 }

snL4WebCacheDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4WebCacheEntry 7 }


-- Web Cache Group table


snL4WebCacheGroupTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4WebCacheGroupEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Web Cache Group table."
	::= { snL4WebCacheGroup 1 }

snL4WebCacheGroupEntry  OBJECT-TYPE
	SYNTAX	SnL4WebCacheGroupEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the  Web Cache Group table."
	INDEX	{ snL4WebCacheGroupId }
	::= { snL4WebCacheGroupTable 1 }

SnL4WebCacheGroupEntry ::= SEQUENCE {
	snL4WebCacheGroupId
		INTEGER,
    snL4WebCacheGroupName
        L4ServerName,
    snL4WebCacheGroupWebCacheIpList
		OCTET STRING,
    snL4WebCacheGroupDestMask
		IpAddress,
    snL4WebCacheGroupSrcMask
		IpAddress,
	snL4WebCacheGroupAdminStatus
		INTEGER,
	snL4WebCacheGroupRowStatus
		L4RowSts
	}

snL4WebCacheGroupId  OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The identification for a Web Cache Group entry.
		 The limit is from 1 to snL4MaxNumWebCacheGroup."
	::= { snL4WebCacheGroupEntry 1 }

snL4WebCacheGroupName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Web Cache Group name."
	::= { snL4WebCacheGroupEntry 2 }

snL4WebCacheGroupWebCacheIpList
	OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"A list of the Server Cache Group Real Server IP Address.
		 The number of IP Address is from 1 (4 OCTETs) to the 
		 snL4MaxNumServersPerWebCacheGroup, maximum number of 
		 server IP Address allowed in the list."
	::= { snL4WebCacheGroupEntry 3 }

snL4WebCacheGroupDestMask 	OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Cache Server Group Destination Mask."
	::= { snL4WebCacheGroupEntry 4 }

snL4WebCacheGroupSrcMask 	OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Cache Server Group Source Mask."
	::= { snL4WebCacheGroupEntry 5 }

snL4WebCacheGroupAdminStatus OBJECT-TYPE
	SYNTAX  INTEGER {
		disabled(0),             
		enabled(1)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The WEB Cache Group is set either
		 enabled(1)...........activated.
		 disabled(0)..........disabled."  
	::= { snL4WebCacheGroupEntry 6 }

 snL4WebCacheGroupRowStatus OBJECT-TYPE
	SYNTAX  L4RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Web Cache Group entry."
	::= { snL4WebCacheGroupEntry 7 }


-- Web Cache Traffic Statistics Table 

snL4WebCacheTrafficStatsTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4WebCacheTrafficStatsEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Web Cache Traffic Statistics table."
	::= { snL4WebCacheTrafficStats 1 }

snL4WebCacheTrafficStatsEntry  OBJECT-TYPE
	SYNTAX	SnL4WebCacheTrafficStatsEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Web Cache Traffic Statistics table."
	INDEX	{ snL4WebCacheTrafficIp , snL4WebCacheTrafficPort}
	::= { snL4WebCacheTrafficStatsTable 1 }

SnL4WebCacheTrafficStatsEntry ::= SEQUENCE {
    snL4WebCacheTrafficIp
		IpAddress,
    snL4WebCacheTrafficPort
		INTEGER,
    snL4WebCacheCurrConnections
		INTEGER,
    snL4WebCacheTotalConnections
		INTEGER,
	snL4WebCacheTxPkts
		Counter,
	snL4WebCacheRxPkts
		Counter,
	snL4WebCacheTxOctets
		Counter,
	snL4WebCacheRxOctets
		Counter,
    snL4WebCachePortState
		WebCacheState
	}

snL4WebCacheTrafficIp 	OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Cache Server IP Address."
	::= { snL4WebCacheTrafficStatsEntry 1 }

snL4WebCacheTrafficPort 		OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The WEB Cache port is one of the protocol port such as UDP, TCP etc."
	::= { snL4WebCacheTrafficStatsEntry 2 }

snL4WebCacheCurrConnections 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the current connections in WEB Cache group."
	::= { snL4WebCacheTrafficStatsEntry 3 }

snL4WebCacheTotalConnections 		OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The total connections in WEB Cache group."
	::= { snL4WebCacheTrafficStatsEntry 4 }

snL4WebCacheTxPkts 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Packets sending from Client/Web-Server to Cache Server"
	::= { snL4WebCacheTrafficStatsEntry 5 }

snL4WebCacheRxPkts 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Packets sending from Cache Server to Client/Web-Server"
	::= { snL4WebCacheTrafficStatsEntry 6 }

snL4WebCacheTxOctets 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Octets sending from Client/Web-Server to Cache Server"
	::= { snL4WebCacheTrafficStatsEntry 7 }

snL4WebCacheRxOctets 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Octets sending from Cache Server to Client/Web-Server"
	::= { snL4WebCacheTrafficStatsEntry 8 }

snL4WebCachePortState	OBJECT-TYPE
	SYNTAX	WebCacheState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Web Cache Port state." 
	::= { snL4WebCacheTrafficStatsEntry 9 }

-- Web Uncached Traffic Statistics Table 

snL4WebUncachedTrafficStatsTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4WebUncachedTrafficStatsEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Web Uncached Traffic Statistics table."
	::= { snL4WebUncachedTrafficStats 1 }

snL4WebUncachedTrafficStatsEntry  OBJECT-TYPE
	SYNTAX	SnL4WebUncachedTrafficStatsEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Web Uncached Traffic Statistics table."
	INDEX	{ snL4WebServerPort, snL4WebClientPort }
	::= { snL4WebUncachedTrafficStatsTable 1 }

SnL4WebUncachedTrafficStatsEntry ::= SEQUENCE {
    snL4WebServerPort
		INTEGER,
    snL4WebClientPort
		INTEGER,
	snL4WebUncachedTxPkts
		Counter,
	snL4WebUncachedRxPkts
		Counter,
	snL4WebUncachedTxOctets
		Counter,
	snL4WebUncachedRxOctets
		Counter,
    snL4WebServerPortName
		DisplayString,
    snL4WebClientPortName
		DisplayString
	}

snL4WebServerPort 			OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Web Server Port."
	::= { snL4WebUncachedTrafficStatsEntry 1 }

snL4WebClientPort 			OBJECT-TYPE
	SYNTAX  INTEGER 
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Web Client Port."
	::= { snL4WebUncachedTrafficStatsEntry 2 }

snL4WebUncachedTxPkts 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Packets sending from Client port to Web Server port"
	::= { snL4WebUncachedTrafficStatsEntry 3 }

snL4WebUncachedRxPkts 		OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Packets sending from Web Server port to Client port"
	::= { snL4WebUncachedTrafficStatsEntry 4 }

snL4WebUncachedTxOctets 	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Octets sending from Client port to Web Server port"
	::= { snL4WebUncachedTrafficStatsEntry 5 }

snL4WebUncachedRxOctets 	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Number of the Octets sending from Web Server port to Client port"
	::= { snL4WebUncachedTrafficStatsEntry 6 }

snL4WebServerPortName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..16))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Web Server Port Name string."
	::= { snL4WebUncachedTrafficStatsEntry 7 }

snL4WebClientPortName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..16))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Web Client Port Name string."
	::= { snL4WebUncachedTrafficStatsEntry 8 }


-- Web Cache Server Port table

snL4WebCachePortTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4WebCachePortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Port table."
	::= { snL4WebCachePort 1 }

snL4WebCachePortEntry	       OBJECT-TYPE
	SYNTAX	SnL4WebCachePortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Port table."
	INDEX	{ snL4WebCachePortServerIp, snL4WebCachePortPort }
	::= { snL4WebCachePortTable 1 }

SnL4WebCachePortEntry ::= SEQUENCE {
    snL4WebCachePortServerIp
		IpAddress,
    snL4WebCachePortPort
		INTEGER,
	snL4WebCachePortAdminStatus
		L4Status,
	snL4WebCachePortRowStatus
		L4RowSts,
    snL4WebCachePortDeleteState
		L4DeleteState
	}


snL4WebCachePortServerIp 	OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Cache Server IP Address."
	::= { snL4WebCachePortEntry 1 }

snL4WebCachePortPort 		OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The WEB Cache port is one of the protocol port such as UDP, TCP etc."
	::= { snL4WebCachePortEntry 2 }

snL4WebCachePortAdminStatus		       OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4WebCachePortEntry 3 }

 snL4WebCachePortRowStatus	 	       OBJECT-TYPE
	SYNTAX 	L4RowSts	
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Real server  port entry."
	::= { snL4WebCachePortEntry 4 }

snL4WebCachePortDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4WebCachePortEntry 5 }

-- Real Server Configuration table 

snL4RealServerCfgTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server table."
	::= { snL4RealServerCfg 1 }

snL4RealServerCfgEntry  OBJECT-TYPE
	SYNTAX	SnL4RealServerCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server table."
	INDEX	{ snL4RealServerCfgIP }
	::= { snL4RealServerCfgTable 1 }

SnL4RealServerCfgEntry ::= SEQUENCE {
    snL4RealServerCfgIP
		IpAddress,
    snL4RealServerCfgName
        L4ServerName,
    snL4RealServerCfgAdminStatus
        L4Status,
	snL4RealServerCfgMaxConnections
		INTEGER,
	snL4RealServerCfgWeight
		INTEGER,
	snL4RealServerCfgRowStatus
		L4RowSts,
    snL4RealServerCfgDeleteState
        L4DeleteState
	}

snL4RealServerCfgIP		OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real Server IP Address."
	::= { snL4RealServerCfgEntry 1 }
snL4RealServerCfgName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real server name."
	::= { snL4RealServerCfgEntry 2 }

snL4RealServerCfgAdminStatus	OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server status is ether disabled(0) or enabled(1)."
	::= { snL4RealServerCfgEntry 3 }

snL4RealServerCfgMaxConnections 	OBJECT-TYPE
	SYNTAX	INTEGER	 (0..1000000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server Maximum Connection allowed."
	::= { snL4RealServerCfgEntry 4 }

 snL4RealServerCfgWeight	OBJECT-TYPE
	SYNTAX	INTEGER	  (0..65000)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Real Server weight"
	::= { snL4RealServerCfgEntry 5 }

 snL4RealServerCfgRowStatus OBJECT-TYPE
	SYNTAX  L4RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a real server entry."
	::= {snL4RealServerCfgEntry  6 }

snL4RealServerCfgDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4RealServerCfgEntry 7 }


-- Real Server Port Statistic table

snL4RealServerPortCfgTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerPortCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Port table."
	::= { snL4RealServerPortCfg 1 }

snL4RealServerPortCfgEntry	       OBJECT-TYPE
	SYNTAX	SnL4RealServerPortCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Port table."
	INDEX	{snL4RealServerPortCfgIP,snL4RealServerPortCfgPort  }
	::= { snL4RealServerPortCfgTable 1 }

SnL4RealServerPortCfgEntry ::= SEQUENCE {
	snL4RealServerPortCfgIP
		IpAddress,
	snL4RealServerPortCfgPort
		INTEGER,
	snL4RealServerPortCfgServerName
        L4ServerName,
	snL4RealServerPortCfgAdminStatus
		L4Status,
	snL4RealServerPortCfgRowStatus
		L4RowSts,
    snL4RealServerPortCfgDeleteState
        L4DeleteState
	}


snL4RealServerPortCfgIP	       OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IP address for the Real Server ."
	::= { snL4RealServerPortCfgEntry 1 }

snL4RealServerPortCfgPort       OBJECT-TYPE
	SYNTAX	INTEGER	 (0..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortCfgEntry 3 }


snL4RealServerPortCfgServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortCfgEntry 2 }

snL4RealServerPortCfgAdminStatus		       OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortCfgEntry 4 }

 snL4RealServerPortCfgRowStatus	 	       OBJECT-TYPE
	SYNTAX L4RowSts	
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a Real server  port entry."
	::= { snL4RealServerPortCfgEntry 5 }

snL4RealServerPortCfgDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4RealServerPortCfgEntry 6 }


-- Virtual Server Configuration table

snL4VirtualServerCfgTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server table."
	::= { snL4VirtualServerCfg 1 }

snL4VirtualServerCfgEntry  OBJECT-TYPE
	SYNTAX	SnL4VirtualServerCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in L4 Virtual Server table."
	INDEX	{snL4VirtualServerCfgVirtualIP  }
	::= { snL4VirtualServerCfgTable 1 }

SnL4VirtualServerCfgEntry ::= SEQUENCE {
    snL4VirtualServerCfgVirtualIP
		IpAddress,
    snL4VirtualServerCfgName
        L4ServerName,
    snL4VirtualServerCfgAdminStatus
        L4Status,
	snL4VirtualServerCfgSDAType
		INTEGER,
	snL4VirtualServerCfgRowStatus
		L4RowSts,
    snL4VirtualServerCfgDeleteState
        L4DeleteState
	}

snL4VirtualServerCfgVirtualIP  	OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server IP Address."
	::= { snL4VirtualServerCfgEntry 1 }

snL4VirtualServerCfgName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Virtual server name."
	::= { snL4VirtualServerCfgEntry 2 }

snL4VirtualServerCfgAdminStatus	OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server status is ether disabled(0) or enabled(1)."
	::= { snL4VirtualServerCfgEntry 3 }

snL4VirtualServerCfgSDAType  OBJECT-TYPE
	SYNTAX	 INTEGER {
		default(0),
	    leastconnection(1),
	    roundrobin(2),
	    weighted(3)
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"TCP/UDP Sessions Distribution Algorithms Type."
	::= { snL4VirtualServerCfgEntry 4 }

 snL4VirtualServerCfgRowStatus OBJECT-TYPE
	SYNTAX  L4RowSts
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a virtual server
		entry."
	::= {snL4VirtualServerCfgEntry  5 }

snL4VirtualServerCfgDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4VirtualServerCfgEntry 6 }


-- Virtual Server Port Configuration table

snL4VirtualServerPortCfgTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerPortCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server Port table."
	::= { snL4VirtualServerPortCfg 1 }

snL4VirtualServerPortCfgEntry	       OBJECT-TYPE
	SYNTAX	SnL4VirtualServerPortCfgEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Virtual Server Port table."
	INDEX	{snL4VirtualServerPortCfgIP, snL4VirtualServerPortCfgPort  }
	::= { snL4VirtualServerPortCfgTable 1 }

SnL4VirtualServerPortCfgEntry ::= SEQUENCE {
	snL4VirtualServerPortCfgIP
		IpAddress,
	snL4VirtualServerPortCfgPort
		INTEGER,
	snL4VirtualServerPortCfgServerName
        L4ServerName,
	snL4VirtualServerPortCfgAdminStatus
		L4Status,
	snL4VirtualServerPortCfgSticky
		INTEGER,
	snL4VirtualServerPortCfgConcurrent
		INTEGER,
	snL4VirtualServerPortCfgRowStatus
		L4RowSts,
    snL4VirtualServerPortCfgDeleteState
        L4DeleteState
	}


snL4VirtualServerPortCfgIP       OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server IP Address."
	::= { snL4VirtualServerPortCfgEntry 1 }

snL4VirtualServerPortCfgPort       OBJECT-TYPE
	SYNTAX	INTEGER	  (0..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortCfgEntry 2 }


snL4VirtualServerPortCfgServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortCfgEntry 3 }

snL4VirtualServerPortCfgAdminStatus		       OBJECT-TYPE
	SYNTAX	L4Status
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortCfgEntry 4 }


 snL4VirtualServerPortCfgSticky       OBJECT-TYPE
	 SYNTAX  INTEGER {
			disabled(0),
			enabled(1)       
			}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortCfgEntry 5 }


 snL4VirtualServerPortCfgConcurrent       OBJECT-TYPE
	 SYNTAX  INTEGER {
			disabled(0),
			enabled(1)       
			}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortCfgEntry 6 }


 snL4VirtualServerPortCfgRowStatus	 	       OBJECT-TYPE
	SYNTAX L4RowSts	
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a virtual server  port entry."
	::= { snL4VirtualServerPortCfgEntry 7 }

snL4VirtualServerPortCfgDeleteState	OBJECT-TYPE
	SYNTAX	L4DeleteState
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Delete operation state." 
	::= { snL4VirtualServerPortCfgEntry 8 }



-- Virtual Server Statistic table

snL4VirtualServerStatisticTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server Statistic table."
	::= { snL4VirtualServerStatistic 1 }

snL4VirtualServerStatisticEntry  OBJECT-TYPE
	SYNTAX	SnL4VirtualServerStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in L4 Virtual Server Statistic table."
	INDEX	{snL4VirtualServerStatisticIP  }
	::= { snL4VirtualServerStatisticTable 1 }

SnL4VirtualServerStatisticEntry ::= SEQUENCE {
	snL4VirtualServerStatisticIP 
		IpAddress,
    snL4VirtualServerStatisticName
        L4ServerName,
	snL4VirtualServerStatisticReceivePkts
		Counter,
	snL4VirtualServerStatisticTransmitPkts
		Counter,
	snL4VirtualServerStatisticTotalConnections
		Counter,
	snL4VirtualServerStatisticReceiveBytes
	   Counter64,
	snL4VirtualServerStatisticTransmitBytes
	   Counter64,
	snL4VirtualServerStatisticSymmetricState
	   INTEGER,
	snL4VirtualServerStatisticSymmetricPriority
	   INTEGER,
	snL4VirtualServerStatisticSymmetricKeep
	   INTEGER,
	snL4VirtualServerStatisticSymmetricActivates
	   Counter,
	snL4VirtualServerStatisticSymmetricInactives
	   Counter,
	snL4VirtualServerStatisticSymmetricBestStandbyMacAddr
	   PhysAddress,
	snL4VirtualServerStatisticSymmetricActiveMacAddr
	   PhysAddress
	}

snL4VirtualServerStatisticIP  OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The table index for a Virtual Server  Statistic entry."
	::= { snL4VirtualServerStatisticEntry 1 }


snL4VirtualServerStatisticName  OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Virtual server name."
	::= { snL4VirtualServerStatisticEntry 2 }


snL4VirtualServerStatisticReceivePkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 3 }

snL4VirtualServerStatisticTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 4 }

snL4VirtualServerStatisticTotalConnections  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 5 }

snL4VirtualServerStatisticReceiveBytes  OBJECT-TYPE
	SYNTAX	Counter64
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 6 }

snL4VirtualServerStatisticTransmitBytes  OBJECT-TYPE
	SYNTAX	Counter64
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 7 }

snL4VirtualServerStatisticSymmetricState  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 8 }

snL4VirtualServerStatisticSymmetricPriority  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 9 }

snL4VirtualServerStatisticSymmetricKeep  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 10 }

snL4VirtualServerStatisticSymmetricActivates  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 11 }

snL4VirtualServerStatisticSymmetricInactives  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 12 }

snL4VirtualServerStatisticSymmetricBestStandbyMacAddr  OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 13 }

snL4VirtualServerStatisticSymmetricActiveMacAddr  OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS	read-only
	STATUS  mandatory
	DESCRIPTION
		"" 
	::= { snL4VirtualServerStatisticEntry 14 }


-- Real Server Statistic Table

snL4RealServerStatisticTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Statistic table."
	::= { snL4RealServerStatistic 1 }

snL4RealServerStatisticEntry  OBJECT-TYPE
	SYNTAX	SnL4RealServerStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Statistic table."
	INDEX	{snL4RealServerStatisticRealIP  }
	::= { snL4RealServerStatisticTable 1 }

SnL4RealServerStatisticEntry ::= SEQUENCE {
    snL4RealServerStatisticRealIP 
		IpAddress,
    snL4RealServerStatisticName
        L4ServerName,
	snL4RealServerStatisticReceivePkts
		Counter,
	snL4RealServerStatisticTransmitPkts
		Counter,
	snL4RealServerStatisticCurConnections
		INTEGER,
	snL4RealServerStatisticTotalConnections
		Counter,
	snL4RealServerStatisticAge
		INTEGER,
	snL4RealServerStatisticState
		INTEGER,
	snL4RealServerStatisticReassignments
		INTEGER,
	snL4RealServerStatisticReassignmentLimit
		INTEGER,
	snL4RealServerStatisticFailedPortExists
		INTEGER,
	snL4RealServerStatisticFailTime
		INTEGER,
	snL4RealServerStatisticPeakConnections
		INTEGER
	}

snL4RealServerStatisticRealIP OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 1 }


snL4RealServerStatisticName OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 2 }

snL4RealServerStatisticReceivePkts	  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 3 }

snL4RealServerStatisticTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 4 }

snL4RealServerStatisticCurConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 5 }

snL4RealServerStatisticTotalConnections   OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 6 }

snL4RealServerStatisticAge  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 7 }

snL4RealServerStatisticState  OBJECT-TYPE
	SYNTAX	INTEGER	{
	serverdisabled(0),
	serverenabled(1),
	serverfailed(2),
	servertesting(3),
	serversuspect(4),
	servershutdown(5),
	serveractive(6)
	}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 8 }

snL4RealServerStatisticReassignments  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 9 }

snL4RealServerStatisticReassignmentLimit  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 10 }

snL4RealServerStatisticFailedPortExists  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 11 }

snL4RealServerStatisticFailTime  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 12 }


snL4RealServerStatisticPeakConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerStatisticEntry 13 }




-- Virtual Server Port Statistic table

snL4VirtualServerPortStatisticTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4VirtualServerPortStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Virtual Server Port Statistic table."
	::= { snL4VirtualServerPortStatistic 1 }

snL4VirtualServerPortStatisticEntry	       OBJECT-TYPE
	SYNTAX	SnL4VirtualServerPortStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Virtual Server Port Statistic table."
	INDEX	{ snL4VirtualServerPortStatisticIP,snL4VirtualServerPortStatisticPort }
	::= { snL4VirtualServerPortStatisticTable 1 }

SnL4VirtualServerPortStatisticEntry ::= SEQUENCE {
	snL4VirtualServerPortStatisticIP
		IpAddress,
	snL4VirtualServerPortStatisticPort
		INTEGER,
	snL4VirtualServerPortStatisticServerName
        L4ServerName,
	snL4VirtualServerPortStatisticCurrentConnection
		INTEGER,
	snL4VirtualServerPortStatisticTotalConnection
		Counter,
	snL4VirtualServerPortStatisticPeakConnection
		INTEGER
	}

snL4VirtualServerPortStatisticIP	       OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Virtual Server Port Statistic entry."
	::= { snL4VirtualServerPortStatisticEntry 1 }

snL4VirtualServerPortStatisticPort   OBJECT-TYPE
	SYNTAX	INTEGER	 (1..2048)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatisticEntry 2 }

 snL4VirtualServerPortStatisticServerName 	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatisticEntry 3 }

 snL4VirtualServerPortStatisticCurrentConnection 	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatisticEntry 4 }

 snL4VirtualServerPortStatisticTotalConnection		       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatisticEntry 5 }

 snL4VirtualServerPortStatisticPeakConnection 	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortStatisticEntry 6 }

-- Real Server Port Statistic table

snL4RealServerPortStatisticTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4RealServerPortStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Real Server Port Statistic table."
	::= { snL4RealServerPortStatistic 1 }

snL4RealServerPortStatisticEntry	       OBJECT-TYPE
	SYNTAX	SnL4RealServerPortStatisticEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the Real Server Port Statistic table."
	INDEX	{ snL4RealServerPortStatisticIP,snL4RealServerPortStatisticPort }
	::= { snL4RealServerPortStatisticTable 1 }

SnL4RealServerPortStatisticEntry ::= SEQUENCE {
	snL4RealServerPortStatisticIP
		IpAddress,
	snL4RealServerPortStatisticPort
		INTEGER,
	snL4RealServerPortStatisticServerName
        L4ServerName,
	snL4RealServerPortStatisticReassignCount
		INTEGER,
	snL4RealServerPortStatisticState
		INTEGER,
	snL4RealServerPortStatisticFailTime
		INTEGER,
	snL4RealServerPortStatisticCurrentConnection
		INTEGER,
	snL4RealServerPortStatisticTotalConnection
		Counter,
	snL4RealServerPortStatisticRxPkts
		Counter,
	snL4RealServerPortStatisticTxPkts
		Counter,
	snL4RealServerPortStatisticRxBytes
		Counter,
	snL4RealServerPortStatisticTxBytes
		Counter,
	snL4RealServerPortStatisticPeakConnection
		INTEGER
	}


snL4RealServerPortStatisticIP	       OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for Real Server Port Statistic entry."
	::= { snL4RealServerPortStatisticEntry 1 }

snL4RealServerPortStatisticPort	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortStatisticEntry 2 }

snL4RealServerPortStatisticServerName	       OBJECT-TYPE
	SYNTAX	L4ServerName
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortStatisticEntry 3 }

snL4RealServerPortStatisticReassignCount	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortStatisticEntry 4 }

 snL4RealServerPortStatisticState	       OBJECT-TYPE
	SYNTAX	INTEGER	{
		disabled(0),
		enabled(1),
		failed(2),
		testing(3),
		suspect(4),
	    shutdown(5),
		active(6),
		unbound(7),
		awaitUnbind(8),
		awaitDelete(9)
	}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port state"
	::= { snL4RealServerPortStatisticEntry 5 }

snL4RealServerPortStatisticFailTime 	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Only useful, if real server port state is failed.
		 Indicating how seconds has been elapsed from the last retry."
 	::= { snL4RealServerPortStatisticEntry 6 }

snL4RealServerPortStatisticCurrentConnection	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port current connection"
	::= { snL4RealServerPortStatisticEntry 7 }

snL4RealServerPortStatisticTotalConnection	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port total connection"
	::= { snL4RealServerPortStatisticEntry 8 }

snL4RealServerPortStatisticRxPkts	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port receive packets."
	::= { snL4RealServerPortStatisticEntry 9 }


snL4RealServerPortStatisticTxPkts	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port transmit packets."
	::= { snL4RealServerPortStatisticEntry 10 }


snL4RealServerPortStatisticRxBytes	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port receive bytes."
	::= { snL4RealServerPortStatisticEntry 11 }

snL4RealServerPortStatisticTxBytes	       OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Real server port transmit bytes."
	::= { snL4RealServerPortStatisticEntry 12 }


snL4RealServerPortStatisticPeakConnection	       OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"peak connection for real server port."
	::= { snL4RealServerPortStatisticEntry 13 }


-- GSLB Site Remote ServerIron Configuration table

snL4GslbSiteRemoteServerIronTable	       OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnL4GslbSiteRemoteServerIronEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"GSLB remote ServerIron configuration table."
	::= { snL4GslbSiteRemoteServerIrons 1 }

snL4GslbSiteRemoteServerIronEntry	       OBJECT-TYPE
	SYNTAX	SnL4GslbSiteRemoteServerIronEntry	
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry of a GSLB remote ServerIron configuration."
	INDEX	{ snL4GslbSiteRemoteServerIronIP }
	::= { snL4GslbSiteRemoteServerIronTable 1 }

SnL4GslbSiteRemoteServerIronEntry ::= SEQUENCE {
	snL4GslbSiteRemoteServerIronIP
		IpAddress,
	snL4GslbSiteRemoteServerIronPreference
		INTEGER
	}


snL4GslbSiteRemoteServerIronIP	       OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The index for each remote ServerIron in a site."
	::= { snL4GslbSiteRemoteServerIronEntry 1 }

snL4GslbSiteRemoteServerIronPreference 	OBJECT-TYPE
	SYNTAX	INTEGER	(0..255)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The preference of a remote ServerIron. The default value is 128."
    DEFVAL { 128 }
	::= { snL4GslbSiteRemoteServerIronEntry 2 }


-- Real Server Monitor Group

-- The Real Server History Control Group

-- The snL4History control group controls the periodic statistical
-- sampling of data from various types of data sources.  The
-- snL4RealServerHistoryControlTable stores configuration entries that each
-- define an interface, polling period, and other parameters.
-- Once samples are taken, their data is stored in an entry
-- in a media-specific table.  Each such entry defines one
-- sample, and is associated with the snL4RealServerHistoryControlEntry that
-- caused the sample to be taken.  Each counter in the
-- snL4HistoryEntry counts the same event as its
-- similarly-named counterpart in the Statistics Entry,
-- except that each value here is a cumulative sum during a
-- sampling period.
--
-- If the probe keeps track of the time of day, it should
-- start the first sample of the snL4History at a time such that
-- when the next hour of the day begins, a sample is
-- started at that instant.  This tends to make more
-- user-friendly reports, and enables comparison of reports
-- from different probes that have relatively accurate time
-- of day.
--
-- The probe is encouraged to add two snL4History control entries
-- per monitored interface upon initialization that describe
-- a short term and a long term polling period.  Suggested
-- parameters are 30 seconds for the short term polling period
-- and 30 minutes for the long term period.

snL4RealServerHistoryControlTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4RealServerHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of history control entries."
	::= { snL4History 1 }

snL4RealServerHistoryControlEntry OBJECT-TYPE
	SYNTAX SnL4RealServerHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of parameters that set up a periodic sampling
		of statistics.As an example, an instance of the
		snL4RealServerHistoryControlInterval object might be named
		snL4RealServerHistoryControlInterval.2"
	INDEX { snL4RealServerHistoryControlIndex }
	::= { snL4RealServerHistoryControlTable 1 }

	SnL4RealServerHistoryControlEntry ::= SEQUENCE {
		snL4RealServerHistoryControlIndex			 
			INTEGER (1..65535),
		snL4RealServerHistoryControlDataSource		
			OBJECT IDENTIFIER,
		snL4RealServerHistoryControlBucketsRequested
			INTEGER (1..65535),
		snL4RealServerHistoryControlBucketsGranted	
			INTEGER (1..65535),
		snL4RealServerHistoryControlInterval		
			INTEGER (1..3600),
		snL4RealServerHistoryControlOwner			 
			DisplayString,
		snL4RealServerHistoryControlStatus			
			INTEGER
	}

snL4RealServerHistoryControlIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies an entry in the
		snL4RealServerHistoryControl table.Each such entry defines a
		set of samples at a particular interval for an
		interface on the device."
	::= { snL4RealServerHistoryControlEntry 1 }

snL4RealServerHistoryControlDataSource OBJECT-TYPE
	SYNTAX OBJECT IDENTIFIER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This object identifies the source of the data for
		which historical data was collected and
		placed in a media-specific table on behalf of this
		snL4RealServerHistoryControlEntry.This source can be any
		real/virtual server and real/virtual server port on 
		this ServerIron.  In order to identify
		a particular instance, this object shall identify
		the instance of the object, defined in the above 
		statistics tables.
	
		This object may not be modified if the associated
		snL4RealServerHistoryControlStatus object is equal to valid(1)."
	::= { snL4RealServerHistoryControlEntry 2 }

snL4RealServerHistoryControlBucketsRequested OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The requested number of discrete time intervals
		over which data is to be saved in the part of the
		media-specific table associated with this
		snL4RealServerHistoryControlEntry.
	
		When this object is created or modified, the probe
		should set snL4RealServerHistoryControlBucketsGranted as closely to
		this object as is possible for the particular probe
		implementation and available resources."
	DEFVAL { 50 }
	::= { snL4RealServerHistoryControlEntry 3 }

snL4RealServerHistoryControlBucketsGranted OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of discrete sampling intervals
		over which data shall be saved in the part of
		the media-specific table associated with this
		snL4RealServerHistoryControlEntry.
	
		When the associated snL4RealServerHistoryControlBucketsRequested
		object is created or modified, the probe
		should set this object as closely to the requested
		value as is possible for the particular
		probe implementation and available resources.The
		probe must not lower this value except as a result
		of a modification to the associated
		snL4RealServerHistoryControlBucketsRequested object.
	
		There will be times when the actual number of
		buckets associated with this entry is less than
		the value of this object.In this case, at the
		end of each sampling interval, a new bucket will
		be added to the media-specific table.
	
		When the number of buckets reaches the value of
		this object and a new bucket is to be added to the
		media-specific table, the oldest bucket associated
		with this snL4RealServerHistoryControlEntry shall be deleted by
		the agent so that the new bucket can be added.
	
		When the value of this object changes to a value less
		than the current value, entries are deleted
		from the media-specific table associated with this
		snL4RealServerHistoryControlEntry.Enough of the oldest of these
		entries shall be deleted by the agent so that their
		number remains less than or equal to the new value of
		this object.
	
		When the value of this object changes to a value
		greater than the current value, the number of
		associated media- specific entries may be allowed to
		grow."
	::= { snL4RealServerHistoryControlEntry 4 }

snL4RealServerHistoryControlInterval OBJECT-TYPE
	SYNTAX INTEGER (1..3600)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The interval in seconds over which the data is
		sampled for each bucket in the part of the
		media-specific table associated with this
		snL4RealServerHistoryControlEntry.This interval can
		be set to any number of seconds between 1 and
		3600 (1 hour).
	
		Because the counters in a bucket may overflow at their
		maximum value with no indication, a prudent manager
		will take into account the possibility of overflow
		in any of the associated counters.It is important
		to consider the minimum time in which any counter
		could overflow on a particular media type and set
		the snL4RealServerHistoryControlInterval object to a value less
		than this interval.This is typically most
		important for the 'octets' counter in any
		media-specific table.	
		This object may not be modified if the associated
		snL4RealServerHistoryControlStatus object is equal to valid(1)."
	DEFVAL { 1800 }
	::= { snL4RealServerHistoryControlEntry 5 }

snL4RealServerHistoryControlOwner OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The entity that configured this entry and is
		therefore using the resources assigned to it."
	::= { snL4RealServerHistoryControlEntry 6 }

snL4RealServerHistoryControlStatus OBJECT-TYPE
	SYNTAX INTEGER { 
				valid(1),
             	createRequest(2),
             	underCreation(3),
             	invalid(4)
           }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The status of this snL4RealServerHistoryControl entry.
		Each instance of the media-specific table associated
		with this snL4RealServerHistoryControlEntry will be deleted by the
		agent if this snL4RealServerHistoryControlEntry is not equal to
		valid(1)."
	::= { snL4RealServerHistoryControlEntry 7 }


-- The Real Server History Group


snL4RealServerHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4RealServerHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of Ethernet snL4History entries."
	::= { snL4History 2 }

snL4RealServerHistoryEntry OBJECT-TYPE
	SYNTAX SnL4RealServerHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An historical sample of Ethernet statistics on a
		particular Ethernet interface.  This sample is
		associated with the snL4RealServerHistoryControlEntry which set up
		the parameters for a regular collection of these
		samples.  As an example, an instance of the
		snL4RealServerHistoryReceivePkts object might be named
		snL4RealServerHistoryReceivePkts.2.89"
	INDEX { snL4RealServerHistoryIndex , snL4RealServerHistorySampleIndex }
	::= { snL4RealServerHistoryTable 1 }

SnL4RealServerHistoryEntry ::= SEQUENCE {
	snL4RealServerHistoryIndex                 
		INTEGER (1..65535),
	snL4RealServerHistorySampleIndex           
		INTEGER (1..2147483647),
	snL4RealServerHistoryIntervalStart         
		TimeTicks,
	snL4RealServerHistoryReceivePkts
		Counter,
	snL4RealServerHistoryTransmitPkts
		Counter,
	snL4RealServerHistoryTotalConnections
		Counter,
	snL4RealServerHistoryCurConnections
		INTEGER,
	snL4RealServerHistoryPeakConnections
		INTEGER,
	snL4RealServerHistoryReassignments
		INTEGER
    }

snL4RealServerHistoryIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The snL4RealServerHistory of which this entry is a part.The
		snL4RealServerHistory identified by a particular value of this
		index is the same snL4RealServerHistory as identified
		by the same value of snL4RealServerHistoryControlIndex."
	::= { snL4RealServerHistoryEntry 1 }

snL4RealServerHistorySampleIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies the particular
		sample this entry represents among all samples
		associated with the same snL4RealServerHistoryControlEntry.
		This index starts at 1 and increases by one
		as each new sample is taken."
	::= { snL4RealServerHistoryEntry 2 }

snL4RealServerHistoryIntervalStart OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The value of sysUpTime at the start of the interval
		over which this sample was measured.If the probe
		keeps track of the time of day, it should start
		the first sample of the snL4RealServerHistory at a time such that
		when the next hour of the day begins, a sample is
		started at that instant.Note that following this
		rule may require the probe to delay collecting the
		first sample of the snL4RealServerHistory, as each sample must be
		of the same interval.Also note that the sample which
		is currently being collected is not accessible in this
		table until the end of its interval."
	::= { snL4RealServerHistoryEntry 3 }


snL4RealServerHistoryReceivePkts	  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerHistoryEntry 4 }

snL4RealServerHistoryTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerHistoryEntry 5 }

snL4RealServerHistoryTotalConnections   OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerHistoryEntry 6 }

snL4RealServerHistoryCurConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerHistoryEntry 7 }

snL4RealServerHistoryPeakConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerHistoryEntry 8 }

snL4RealServerHistoryReassignments   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerHistoryEntry 9 }


-- Real Server Port Monitor Group

-- The Real Server Port History Control Group

snL4RealServerPortHistoryControlTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4RealServerPortHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of history control entries."
	::= { snL4History 3 }

snL4RealServerPortHistoryControlEntry OBJECT-TYPE
	SYNTAX SnL4RealServerPortHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of parameters that set up a periodic sampling
		of statistics.As an example, an instance of the
		snL4RealServerPortHistoryControlInterval object might be named
		snL4RealServerPortHistoryControlInterval.2"
	INDEX { snL4RealServerPortHistoryControlIndex }
	::= { snL4RealServerPortHistoryControlTable 1 }

	SnL4RealServerPortHistoryControlEntry ::= SEQUENCE {
		snL4RealServerPortHistoryControlIndex			 
			INTEGER (1..65535),
		snL4RealServerPortHistoryControlDataSource		
			OBJECT IDENTIFIER,
		snL4RealServerPortHistoryControlBucketsRequested
			INTEGER (1..65535),
		snL4RealServerPortHistoryControlBucketsGranted	
			INTEGER (1..65535),
		snL4RealServerPortHistoryControlInterval		
			INTEGER (1..3600),
		snL4RealServerPortHistoryControlOwner			 
			DisplayString,
		snL4RealServerPortHistoryControlStatus			
			INTEGER
	}

snL4RealServerPortHistoryControlIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies an entry in the
		snL4RealServerPortHistoryControl table.Each such entry defines a
		set of samples at a particular interval for an
		interface on the device."
	::= { snL4RealServerPortHistoryControlEntry 1 }

snL4RealServerPortHistoryControlDataSource OBJECT-TYPE
	SYNTAX OBJECT IDENTIFIER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This object identifies the source of the data for
		which historical data was collected and
		placed in a media-specific table on behalf of this
		snL4RealServerPortHistoryControlEntry.This source can be any
		real/virtual server and real/virtual server port on 
		this ServerIron.  In order to identify
		a particular instance, this object shall identify
		the instance of the object, defined in the above 
		statistics tables.
	
		This object may not be modified if the associated
		snL4RealServerPortHistoryControlStatus object is equal to valid(1)."
	::= { snL4RealServerPortHistoryControlEntry 2 }

snL4RealServerPortHistoryControlBucketsRequested OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The requested number of discrete time intervals
		over which data is to be saved in the part of the
		media-specific table associated with this
		snL4RealServerPortHistoryControlEntry.
	
		When this object is created or modified, the probe
		should set snL4RealServerPortHistoryControlBucketsGranted as closely to
		this object as is possible for the particular probe
		implementation and available resources."
	DEFVAL { 50 }
	::= { snL4RealServerPortHistoryControlEntry 3 }

snL4RealServerPortHistoryControlBucketsGranted OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of discrete sampling intervals
		over which data shall be saved in the part of
		the media-specific table associated with this
		snL4RealServerPortHistoryControlEntry.
	
		When the associated snL4RealServerPortHistoryControlBucketsRequested
		object is created or modified, the probe
		should set this object as closely to the requested
		value as is possible for the particular
		probe implementation and available resources.The
		probe must not lower this value except as a result
		of a modification to the associated
		snL4RealServerPortHistoryControlBucketsRequested object.
	
		There will be times when the actual number of
		buckets associated with this entry is less than
		the value of this object.In this case, at the
		end of each sampling interval, a new bucket will
		be added to the media-specific table.
	
		When the number of buckets reaches the value of
		this object and a new bucket is to be added to the
		media-specific table, the oldest bucket associated
		with this snL4RealServerPortHistoryControlEntry shall be deleted by
		the agent so that the new bucket can be added.
	
		When the value of this object changes to a value less
		than the current value, entries are deleted
		from the media-specific table associated with this
		snL4RealServerPortHistoryControlEntry.Enough of the oldest of these
		entries shall be deleted by the agent so that their
		number remains less than or equal to the new value of
		this object.
	
		When the value of this object changes to a value
		greater than the current value, the number of
		associated media- specific entries may be allowed to
		grow."
	::= { snL4RealServerPortHistoryControlEntry 4 }

snL4RealServerPortHistoryControlInterval OBJECT-TYPE
	SYNTAX INTEGER (1..3600)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The interval in seconds over which the data is
		sampled for each bucket in the part of the
		media-specific table associated with this
		snL4RealServerPortHistoryControlEntry.This interval can
		be set to any number of seconds between 1 and
		3600 (1 hour).
	
		Because the counters in a bucket may overflow at their
		maximum value with no indication, a prudent manager
		will take into account the possibility of overflow
		in any of the associated counters.It is important
		to consider the minimum time in which any counter
		could overflow on a particular media type and set
		the snL4RealServerPortHistoryControlInterval object to a value less
		than this interval.This is typically most
		important for the 'octets' counter in any
		media-specific table.	
		This object may not be modified if the associated
		snL4RealServerPortHistoryControlStatus object is equal to valid(1)."
	DEFVAL { 1800 }
	::= { snL4RealServerPortHistoryControlEntry 5 }

snL4RealServerPortHistoryControlOwner OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The entity that configured this entry and is
		therefore using the resources assigned to it."
	::= { snL4RealServerPortHistoryControlEntry 6 }

snL4RealServerPortHistoryControlStatus OBJECT-TYPE
	SYNTAX INTEGER { 
				valid(1),
             	createRequest(2),
             	underCreation(3),
             	invalid(4)
           }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The status of this snL4RealServerPortHistoryControl entry.
		Each instance of the media-specific table associated
		with this snL4RealServerPortHistoryControlEntry will be deleted by the
		agent if this snL4RealServerPortHistoryControlEntry is not equal to
		valid(1)."
	::= { snL4RealServerPortHistoryControlEntry 7 }


-- The Real Server Port History Group


snL4RealServerPortHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4RealServerPortHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of Ethernet snL4History entries."
	::= { snL4History 4 }

snL4RealServerPortHistoryEntry OBJECT-TYPE
	SYNTAX SnL4RealServerPortHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An historical sample of Ethernet statistics on a
		particular Ethernet interface.  This sample is
		associated with the snL4RealServerPortHistoryControlEntry which set up
		the parameters for a regular collection of these
		samples.  As an example, an instance of the
		snL4RealServerPortHistoryReceivePkts object might be named
		snL4RealServerPortHistoryReceivePkts.2.89"
	INDEX { snL4RealServerPortHistoryIndex , snL4RealServerPortHistorySampleIndex }
	::= { snL4RealServerPortHistoryTable 1 }

SnL4RealServerPortHistoryEntry ::= SEQUENCE {
	snL4RealServerPortHistoryIndex                 
		INTEGER (1..65535),
	snL4RealServerPortHistorySampleIndex           
		INTEGER (1..2147483647),
	snL4RealServerPortHistoryIntervalStart         
		TimeTicks,
	snL4RealServerPortHistoryReceivePkts
		Counter,
	snL4RealServerPortHistoryTransmitPkts
		Counter,
	snL4RealServerPortHistoryTotalConnections
		Counter,
	snL4RealServerPortHistoryCurConnections
		INTEGER,
	snL4RealServerPortHistoryPeakConnections
		INTEGER,
	snL4RealServerPortHistoryResponseTime
		INTEGER
    }

snL4RealServerPortHistoryIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The snL4RealServerPortHistory of which this entry is a part.The
		snL4RealServerPortHistory identified by a particular value of this
		index is the same snL4RealServerPortHistory as identified
		by the same value of snL4RealServerPortHistoryControlIndex."
	::= { snL4RealServerPortHistoryEntry 1 }

snL4RealServerPortHistorySampleIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies the particular
		sample this entry represents among all samples
		associated with the same snL4RealServerPortHistoryControlEntry.
		This index starts at 1 and increases by one
		as each new sample is taken."
	::= { snL4RealServerPortHistoryEntry 2 }

snL4RealServerPortHistoryIntervalStart OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The value of sysUpTime at the start of the interval
		over which this sample was measured.If the probe
		keeps track of the time of day, it should start
		the first sample of the snL4RealServerPortHistory at a time such that
		when the next hour of the day begins, a sample is
		started at that instant.Note that following this
		rule may require the probe to delay collecting the
		first sample of the snL4RealServerPortHistory, as each sample must be
		of the same interval.Also note that the sample which
		is currently being collected is not accessible in this
		table until the end of its interval."
	::= { snL4RealServerPortHistoryEntry 3 }


snL4RealServerPortHistoryReceivePkts	  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortHistoryEntry 4 }

snL4RealServerPortHistoryTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortHistoryEntry 5 }

snL4RealServerPortHistoryTotalConnections   OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortHistoryEntry 6 }

snL4RealServerPortHistoryCurConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortHistoryEntry 7 }

snL4RealServerPortHistoryPeakConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortHistoryEntry 8 }

snL4RealServerPortHistoryResponseTime   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4RealServerPortHistoryEntry 9 }


-- Virtual Server Monitor Group
-- The Virtual Server History Control Group


snL4VirtualServerHistoryControlTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4VirtualServerHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of history control entries."
	::= { snL4History 5 }

snL4VirtualServerHistoryControlEntry OBJECT-TYPE
	SYNTAX SnL4VirtualServerHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of parameters that set up a periodic sampling
		of statistics.As an example, an instance of the
		snL4VirtualServerHistoryControlInterval object might be named
		snL4VirtualServerHistoryControlInterval.2"
	INDEX { snL4VirtualServerHistoryControlIndex }
	::= { snL4VirtualServerHistoryControlTable 1 }

	SnL4VirtualServerHistoryControlEntry ::= SEQUENCE {
		snL4VirtualServerHistoryControlIndex			 
			INTEGER (1..65535),
		snL4VirtualServerHistoryControlDataSource		
			OBJECT IDENTIFIER,
		snL4VirtualServerHistoryControlBucketsRequested
			INTEGER (1..65535),
		snL4VirtualServerHistoryControlBucketsGranted	
			INTEGER (1..65535),
		snL4VirtualServerHistoryControlInterval		
			INTEGER (1..3600),
		snL4VirtualServerHistoryControlOwner			 
			DisplayString,
		snL4VirtualServerHistoryControlStatus			
			INTEGER
	}

snL4VirtualServerHistoryControlIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies an entry in the
		snL4VirtualServerHistoryControl table.Each such entry defines a
		set of samples at a particular interval for an
		interface on the device."
	::= { snL4VirtualServerHistoryControlEntry 1 }

snL4VirtualServerHistoryControlDataSource OBJECT-TYPE
	SYNTAX OBJECT IDENTIFIER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This object identifies the source of the data for
		which historical data was collected and
		placed in a media-specific table on behalf of this
		snL4VirtualServerHistoryControlEntry.This source can be any
		real/virtual server and real/virtual server port on 
		this ServerIron.  In order to identify
		a particular instance, this object shall identify
		the instance of the object, defined in the above 
		statistics tables.
	
		This object may not be modified if the associated
		snL4VirtualServerHistoryControlStatus object is equal to valid(1)."
	::= { snL4VirtualServerHistoryControlEntry 2 }

snL4VirtualServerHistoryControlBucketsRequested OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The requested number of discrete time intervals
		over which data is to be saved in the part of the
		media-specific table associated with this
		snL4VirtualServerHistoryControlEntry.
	
		When this object is created or modified, the probe
		should set snL4VirtualServerHistoryControlBucketsGranted as closely to
		this object as is possible for the particular probe
		implementation and available resources."
	DEFVAL { 50 }
	::= { snL4VirtualServerHistoryControlEntry 3 }

snL4VirtualServerHistoryControlBucketsGranted OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of discrete sampling intervals
		over which data shall be saved in the part of
		the media-specific table associated with this
		snL4VirtualServerHistoryControlEntry.
	
		When the associated snL4VirtualServerHistoryControlBucketsRequested
		object is created or modified, the probe
		should set this object as closely to the requested
		value as is possible for the particular
		probe implementation and available resources.The
		probe must not lower this value except as a result
		of a modification to the associated
		snL4VirtualServerHistoryControlBucketsRequested object.
	
		There will be times when the actual number of
		buckets associated with this entry is less than
		the value of this object.In this case, at the
		end of each sampling interval, a new bucket will
		be added to the media-specific table.
	
		When the number of buckets reaches the value of
		this object and a new bucket is to be added to the
		media-specific table, the oldest bucket associated
		with this snL4VirtualServerHistoryControlEntry shall be deleted by
		the agent so that the new bucket can be added.
	
		When the value of this object changes to a value less
		than the current value, entries are deleted
		from the media-specific table associated with this
		snL4VirtualServerHistoryControlEntry.Enough of the oldest of these
		entries shall be deleted by the agent so that their
		number remains less than or equal to the new value of
		this object.
	
		When the value of this object changes to a value
		greater than the current value, the number of
		associated media- specific entries may be allowed to
		grow."
	::= { snL4VirtualServerHistoryControlEntry 4 }

snL4VirtualServerHistoryControlInterval OBJECT-TYPE
	SYNTAX INTEGER (1..3600)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The interval in seconds over which the data is
		sampled for each bucket in the part of the
		media-specific table associated with this
		snL4VirtualServerHistoryControlEntry.This interval can
		be set to any number of seconds between 1 and
		3600 (1 hour).
	
		Because the counters in a bucket may overflow at their
		maximum value with no indication, a prudent manager
		will take into account the possibility of overflow
		in any of the associated counters.It is important
		to consider the minimum time in which any counter
		could overflow on a particular media type and set
		the snL4VirtualServerHistoryControlInterval object to a value less
		than this interval.This is typically most
		important for the 'octets' counter in any
		media-specific table.	
		This object may not be modified if the associated
		snL4VirtualServerHistoryControlStatus object is equal to valid(1)."
	DEFVAL { 1800 }
	::= { snL4VirtualServerHistoryControlEntry 5 }

snL4VirtualServerHistoryControlOwner OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The entity that configured this entry and is
		therefore using the resources assigned to it."
	::= { snL4VirtualServerHistoryControlEntry 6 }

snL4VirtualServerHistoryControlStatus OBJECT-TYPE
	SYNTAX INTEGER { 
				valid(1),
             	createRequest(2),
             	underCreation(3),
             	invalid(4)
           }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The status of this snL4VirtualServerHistoryControl entry.
		Each instance of the media-specific table associated
		with this snL4VirtualServerHistoryControlEntry will be deleted by the
		agent if this snL4VirtualServerHistoryControlEntry is not equal to
		valid(1)."
	::= { snL4VirtualServerHistoryControlEntry 7 }


-- The Virtual Server History Group


snL4VirtualServerHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4VirtualServerHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of Ethernet snL4History entries."
	::= { snL4History 6 }

snL4VirtualServerHistoryEntry OBJECT-TYPE
	SYNTAX SnL4VirtualServerHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An historical sample of Ethernet statistics on a
		particular Ethernet interface.  This sample is
		associated with the snL4VirtualServerHistoryControlEntry which set up
		the parameters for a regular collection of these
		samples.  As an example, an instance of the
		snL4VirtualServerHistoryReceivePkts object might be named
		snL4VirtualServerHistoryReceivePkts.2.89"
	INDEX { snL4VirtualServerHistoryIndex , snL4VirtualServerHistorySampleIndex }
	::= { snL4VirtualServerHistoryTable 1 }

SnL4VirtualServerHistoryEntry ::= SEQUENCE {
	snL4VirtualServerHistoryIndex                 
		INTEGER (1..65535),
	snL4VirtualServerHistorySampleIndex           
		INTEGER (1..2147483647),
	snL4VirtualServerHistoryIntervalStart         
		TimeTicks,
	snL4VirtualServerHistoryReceivePkts
		Counter,
	snL4VirtualServerHistoryTransmitPkts
		Counter,
	snL4VirtualServerHistoryTotalConnections
		Counter,
	snL4VirtualServerHistoryCurConnections
		INTEGER,
	snL4VirtualServerHistoryPeakConnections
		INTEGER
    }

snL4VirtualServerHistoryIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The snL4VirtualServerHistory of which this entry is a part.The
		snL4VirtualServerHistory identified by a particular value of this
		index is the same snL4VirtualServerHistory as identified
		by the same value of snL4VirtualServerHistoryControlIndex."
	::= { snL4VirtualServerHistoryEntry 1 }

snL4VirtualServerHistorySampleIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies the particular
		sample this entry represents among all samples
		associated with the same snL4VirtualServerHistoryControlEntry.
		This index starts at 1 and increases by one
		as each new sample is taken."
	::= { snL4VirtualServerHistoryEntry 2 }

snL4VirtualServerHistoryIntervalStart OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The value of sysUpTime at the start of the interval
		over which this sample was measured.If the probe
		keeps track of the time of day, it should start
		the first sample of the snL4VirtualServerHistory at a time such that
		when the next hour of the day begins, a sample is
		started at that instant.Note that following this
		rule may require the probe to delay collecting the
		first sample of the snL4VirtualServerHistory, as each sample must be
		of the same interval.Also note that the sample which
		is currently being collected is not accessible in this
		table until the end of its interval."
	::= { snL4VirtualServerHistoryEntry 3 }


snL4VirtualServerHistoryReceivePkts	  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerHistoryEntry 4 }

snL4VirtualServerHistoryTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerHistoryEntry 5 }

snL4VirtualServerHistoryTotalConnections   OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerHistoryEntry 6 }

snL4VirtualServerHistoryCurConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerHistoryEntry 7 }

snL4VirtualServerHistoryPeakConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerHistoryEntry 8 }


-- Virtual Server Port Monitor Group

-- The Virtual Server Port History Control Group


snL4VirtualServerPortHistoryControlTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4VirtualServerPortHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of history control entries."
	::= { snL4History 7 }

snL4VirtualServerPortHistoryControlEntry OBJECT-TYPE
	SYNTAX SnL4VirtualServerPortHistoryControlEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of parameters that set up a periodic sampling
		of statistics.As an example, an instance of the
		snL4VirtualServerPortHistoryControlInterval object might be named
		snL4VirtualServerPortHistoryControlInterval.2"
	INDEX { snL4VirtualServerPortHistoryControlIndex }
	::= { snL4VirtualServerPortHistoryControlTable 1 }

	SnL4VirtualServerPortHistoryControlEntry ::= SEQUENCE {
		snL4VirtualServerPortHistoryControlIndex			 
			INTEGER (1..65535),
		snL4VirtualServerPortHistoryControlDataSource		
			OBJECT IDENTIFIER,
		snL4VirtualServerPortHistoryControlBucketsRequested
			INTEGER (1..65535),
		snL4VirtualServerPortHistoryControlBucketsGranted	
			INTEGER (1..65535),
		snL4VirtualServerPortHistoryControlInterval		
			INTEGER (1..3600),
		snL4VirtualServerPortHistoryControlOwner			 
			DisplayString,
		snL4VirtualServerPortHistoryControlStatus			
			INTEGER
	}

snL4VirtualServerPortHistoryControlIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies an entry in the
		snL4VirtualServerPortHistoryControl table.Each such entry defines a
		set of samples at a particular interval for an
		interface on the device."
	::= { snL4VirtualServerPortHistoryControlEntry 1 }

snL4VirtualServerPortHistoryControlDataSource OBJECT-TYPE
	SYNTAX OBJECT IDENTIFIER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This object identifies the source of the data for
		which historical data was collected and
		placed in a media-specific table on behalf of this
		snL4VirtualServerPortHistoryControlEntry.This source can be any
		real/virtual server and real/virtual server port on 
		this ServerIron.  In order to identify
		a particular instance, this object shall identify
		the instance of the object, defined in the above 
		statistics tables.
	
		This object may not be modified if the associated
		snL4VirtualServerPortHistoryControlStatus object is equal to valid(1)."
	::= { snL4VirtualServerPortHistoryControlEntry 2 }

snL4VirtualServerPortHistoryControlBucketsRequested OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The requested number of discrete time intervals
		over which data is to be saved in the part of the
		media-specific table associated with this
		snL4VirtualServerPortHistoryControlEntry.
	
		When this object is created or modified, the probe
		should set snL4VirtualServerPortHistoryControlBucketsGranted as closely to
		this object as is possible for the particular probe
		implementation and available resources."
	DEFVAL { 50 }
	::= { snL4VirtualServerPortHistoryControlEntry 3 }

snL4VirtualServerPortHistoryControlBucketsGranted OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of discrete sampling intervals
		over which data shall be saved in the part of
		the media-specific table associated with this
		snL4VirtualServerPortHistoryControlEntry.
	
		When the associated snL4VirtualServerPortHistoryControlBucketsRequested
		object is created or modified, the probe
		should set this object as closely to the requested
		value as is possible for the particular
		probe implementation and available resources.The
		probe must not lower this value except as a result
		of a modification to the associated
		snL4VirtualServerPortHistoryControlBucketsRequested object.
	
		There will be times when the actual number of
		buckets associated with this entry is less than
		the value of this object.In this case, at the
		end of each sampling interval, a new bucket will
		be added to the media-specific table.
	
		When the number of buckets reaches the value of
		this object and a new bucket is to be added to the
		media-specific table, the oldest bucket associated
		with this snL4VirtualServerPortHistoryControlEntry shall be deleted by
		the agent so that the new bucket can be added.
	
		When the value of this object changes to a value less
		than the current value, entries are deleted
		from the media-specific table associated with this
		snL4VirtualServerPortHistoryControlEntry.Enough of the oldest of these
		entries shall be deleted by the agent so that their
		number remains less than or equal to the new value of
		this object.
	
		When the value of this object changes to a value
		greater than the current value, the number of
		associated media- specific entries may be allowed to
		grow."
	::= { snL4VirtualServerPortHistoryControlEntry 4 }

snL4VirtualServerPortHistoryControlInterval OBJECT-TYPE
	SYNTAX INTEGER (1..3600)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The interval in seconds over which the data is
		sampled for each bucket in the part of the
		media-specific table associated with this
		snL4VirtualServerPortHistoryControlEntry.This interval can
		be set to any number of seconds between 1 and
		3600 (1 hour).
	
		Because the counters in a bucket may overflow at their
		maximum value with no indication, a prudent manager
		will take into account the possibility of overflow
		in any of the associated counters.It is important
		to consider the minimum time in which any counter
		could overflow on a particular media type and set
		the snL4VirtualServerPortHistoryControlInterval object to a value less
		than this interval.This is typically most
		important for the 'octets' counter in any
		media-specific table.	
		This object may not be modified if the associated
		snL4VirtualServerPortHistoryControlStatus object is equal to valid(1)."
	DEFVAL { 1800 }
	::= { snL4VirtualServerPortHistoryControlEntry 5 }

snL4VirtualServerPortHistoryControlOwner OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The entity that configured this entry and is
		therefore using the resources assigned to it."
	::= { snL4VirtualServerPortHistoryControlEntry 6 }

snL4VirtualServerPortHistoryControlStatus OBJECT-TYPE
	SYNTAX INTEGER { 
				valid(1),
             	createRequest(2),
             	underCreation(3),
             	invalid(4)
           }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The status of this snL4VirtualServerPortHistoryControl entry.
		Each instance of the media-specific table associated
		with this snL4VirtualServerPortHistoryControlEntry will be deleted by the
		agent if this snL4VirtualServerPortHistoryControlEntry is not equal to
		valid(1)."
	::= { snL4VirtualServerPortHistoryControlEntry 7 }


-- The Virtual Server Port History Group


snL4VirtualServerPortHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnL4VirtualServerPortHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of Ethernet snL4History entries."
	::= { snL4History 8 }

snL4VirtualServerPortHistoryEntry OBJECT-TYPE
	SYNTAX SnL4VirtualServerPortHistoryEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An historical sample of Ethernet statistics on a
		particular Ethernet interface.  This sample is
		associated with the snL4VirtualServerPortHistoryControlEntry which set up
		the parameters for a regular collection of these
		samples.  As an example, an instance of the
		snL4VirtualServerPortHistoryReceivePkts object might be named
		snL4VirtualServerPortHistoryReceivePkts.2.89"
	INDEX { snL4VirtualServerPortHistoryIndex , snL4VirtualServerPortHistorySampleIndex }
	::= { snL4VirtualServerPortHistoryTable 1 }

SnL4VirtualServerPortHistoryEntry ::= SEQUENCE {
	snL4VirtualServerPortHistoryIndex                 
		INTEGER (1..65535),
	snL4VirtualServerPortHistorySampleIndex           
		INTEGER (1..2147483647),
	snL4VirtualServerPortHistoryIntervalStart         
		TimeTicks,
	snL4VirtualServerPortHistoryReceivePkts
		Counter,
	snL4VirtualServerPortHistoryTransmitPkts
		Counter,
	snL4VirtualServerPortHistoryTotalConnections
		Counter,
	snL4VirtualServerPortHistoryCurConnections
		INTEGER,
	snL4VirtualServerPortHistoryPeakConnections
		INTEGER
    }

snL4VirtualServerPortHistoryIndex OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The snL4VirtualServerPortHistory of which this entry is a part.The
		snL4VirtualServerPortHistory identified by a particular value of this
		index is the same snL4VirtualServerPortHistory as identified
		by the same value of snL4VirtualServerPortHistoryControlIndex."
	::= { snL4VirtualServerPortHistoryEntry 1 }

snL4VirtualServerPortHistorySampleIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An index that uniquely identifies the particular
		sample this entry represents among all samples
		associated with the same snL4VirtualServerPortHistoryControlEntry.
		This index starts at 1 and increases by one
		as each new sample is taken."
	::= { snL4VirtualServerPortHistoryEntry 2 }

snL4VirtualServerPortHistoryIntervalStart OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The value of sysUpTime at the start of the interval
		over which this sample was measured.If the probe
		keeps track of the time of day, it should start
		the first sample of the snL4VirtualServerPortHistory at a time such that
		when the next hour of the day begins, a sample is
		started at that instant.Note that following this
		rule may require the probe to delay collecting the
		first sample of the snL4VirtualServerPortHistory, as each sample must be
		of the same interval.Also note that the sample which
		is currently being collected is not accessible in this
		table until the end of its interval."
	::= { snL4VirtualServerPortHistoryEntry 3 }


snL4VirtualServerPortHistoryReceivePkts	  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortHistoryEntry 4 }

snL4VirtualServerPortHistoryTransmitPkts  OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortHistoryEntry 5 }

snL4VirtualServerPortHistoryTotalConnections   OBJECT-TYPE
	SYNTAX	Counter
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortHistoryEntry 6 }

snL4VirtualServerPortHistoryCurConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortHistoryEntry 7 }

snL4VirtualServerPortHistoryPeakConnections   OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		""
	::= { snL4VirtualServerPortHistoryEntry 8 }

END
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
HP-SN-POS-GROUP-MIB DEFINITIONS ::= BEGIN


-- Foundry POS Group MIB Release 1.0.0
-- Revision 0 10/28/99

-- Copyright 1996-1999 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

IMPORTS
	Counter, Gauge
		FROM RFC1155-SMI
	OBJECT-TYPE             
		FROM RFC-1212
	snPOS
		FROM HP-SN-ROOT-MIB;

	-- textual conventions
	-- maximum of ports are 32.  

	--  Status Values

	    POSStatus ::= INTEGER { disabled(0), enabled(1) }

	  DisplayString ::=
	      OCTET STRING
	  -- This data type is used to model textual information taken
	  -- from the NVT ASCII character set.  By convention, objects
	  -- with this syntax are declared as having
	  --
	  --      SIZE (0..255)
    

snPOSInfo						OBJECT IDENTIFIER	  ::= { snPOS 1  }

-- POS Port table information

snPOSInfoTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnPOSInfoEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"A specific snPOSInfo group consists of a number of 
		 switch ports.  "
	::= { snPOSInfo 1 }

snPOSInfoEntry OBJECT-TYPE
	SYNTAX  SnPOSInfoEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the snPOSInfo table indicates the 
		 configuration on a specified port. A SNMP SET PDU 
		 for a row of the snPOSInfoTable requires the entired 
		 sequence of the MIB Objects in each 
		 snPOSInfoEntry stored in one PDU.  Otherwise, 
	 	 GENERR return-value will be returned."
	INDEX   { 
		snPOSInfoPortNum
	}
	::= { snPOSInfoTable 1 }

SnPOSInfoEntry ::= SEQUENCE {
	snPOSInfoPortNum
		INTEGER,
	snPOSIfIndex
		INTEGER,
	snPOSDescr
		DisplayString,
	snPOSName
		DisplayString,
	snPOSInfoSpeed
		INTEGER,
	snPOSInfoAdminStatus
		INTEGER,
	snPOSInfoLinkStatus
		INTEGER,
	snPOSInfoClock
		INTEGER,
	snPOSInfoLoopBack
		INTEGER,
	snPOSInfoScrambleATM
		POSStatus,
	snPOSInfoFraming
		INTEGER,
	snPOSInfoCRC
		INTEGER,
	snPOSInfoKeepAlive
		INTEGER,
	snPOSInfoFlagC2
		INTEGER,
	snPOSInfoFlagJ0
		INTEGER,
	snPOSInfoFlagH1
		INTEGER,
	snPOSStatsInFrames
		Counter,
	snPOSStatsOutFrames
		Counter,
	snPOSStatsAlignErrors
		Counter,
	snPOSStatsFCSErrors
		Counter,
	snPOSStatsFrameTooLongs              
		Counter,
	snPOSStatsFrameTooShorts
		Counter,
	snPOSStatsInDiscard
		Counter,
	snPOSStatsOutDiscard
		Counter,
	snPOSInOctets
		OCTET STRING,
	snPOSOutOctets
		OCTET STRING,
	snPOSStatsInBitsPerSec
		Gauge,
	snPOSStatsOutBitsPerSec
		Gauge,
	snPOSStatsInPktsPerSec
		Gauge,
	snPOSStatsOutPktsPerSec
		Gauge,
	snPOSStatsInUtilization
		INTEGER (0..10000),
	snPOSStatsOutUtilization
		INTEGER (0..10000),
	snPOSTagType
		INTEGER,
	snPOSStatsB1
		Counter,
	snPOSStatsB2
		Counter,
	snPOSStatsB3
		Counter,
	snPOSStatsAIS
		Counter,
	snPOSStatsRDI
		Counter,
	snPOSStatsLOP
		Counter,
	snPOSStatsLOF
		Counter,
	snPOSStatsLOS
		Counter
	}


snPOSInfoPortNum OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The port index.
		 The bit 0 to bit 7: port number. 
		 The bit 8 to bit 11: slot number (slot for chassis only)."
	::= { snPOSInfoEntry 1 }


snPOSIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"In order to identify a particular interface, this
		object shall identify the instance of the ifIndex
		object, defined in RFC 1213 and RFC 1573."
    ::= { snPOSInfoEntry 2 }


snPOSDescr OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"A textual string containing the slot/port information
    	about the interface."
    ::= { snPOSInfoEntry 3 }


snPOSName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..255))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Port Name string."
	::= { snPOSInfoEntry 4 }

snPOSInfoSpeed OBJECT-TYPE
	SYNTAX  INTEGER {
		s155000(1),
		s622000(2),
		other(3),
		s2488000(4)
		}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION     
		"The speed configuration for a port. The values are:
		155000
		622000
		2488000
		"
	::= { snPOSInfoEntry 5 }


snPOSInfoAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
		up(1),       -- ready to pass packets
		down(2),
		testing(3)   -- in some test mode
		}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"The desired state of all ports.  The
	 	testing(3) state indicates that no operational
	 	packets can be passed. 
	 	(same as ifAdminStatus in MIB-II)"
    ::= { snPOSInfoEntry 6 }


snPOSInfoLinkStatus OBJECT-TYPE
    SYNTAX  INTEGER {
    	up(1),       -- ready to pass packets
    	down(2),
    	testing(3)   -- in some test mode
        }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The current operational state of the interface.
         The testing(3) state indicates that no operational
         packets can be passed. 
         (same as ifOperStatus in MIB-II)"
    ::= { snPOSInfoEntry 7 }


snPOSInfoClock  OBJECT-TYPE
    SYNTAX  INTEGER {
    	internal(1),     
    	line(2)
        }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"Clock default internal"
    ::= { snPOSInfoEntry 8 }

snPOSInfoLoopBack   OBJECT-TYPE
    SYNTAX  INTEGER {
    	line(1),     
    	internal(2),
    	none(3)
        }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"Loop back default none"
    ::= { snPOSInfoEntry 9 }

snPOSInfoScrambleATM  OBJECT-TYPE
	SYNTAX	POSStatus
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"ATM style scrambling default off"
    ::= { snPOSInfoEntry 10 }

snPOSInfoFraming  OBJECT-TYPE
    SYNTAX  INTEGER {
    	sonet(1),     
    	sdh(2)
        }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"Framing default SONET"
    ::= { snPOSInfoEntry 11 }

snPOSInfoCRC  OBJECT-TYPE
    SYNTAX  INTEGER {
    	crc32bits(1),     
    	crc16bits(2)
        }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"CRC default 32 bit"
    ::= { snPOSInfoEntry 12 }

snPOSInfoKeepAlive  OBJECT-TYPE
	SYNTAX  INTEGER (0..32767)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"Keep-alive default 10"
    ::= { snPOSInfoEntry 13 }

snPOSInfoFlagC2  OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"C2 flag"
    ::= { snPOSInfoEntry 14 }


snPOSInfoFlagJ0  OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"J0 flag"
    ::= { snPOSInfoEntry 15 }

snPOSInfoFlagH1  OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
		"H1 flag"
    ::= { snPOSInfoEntry 16 }

snPOSStatsInFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of packets received on the interface."
    ::= { snPOSInfoEntry 17 }


snPOSStatsOutFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of packets transmitted out of the interface."
    ::= { snPOSInfoEntry 18 }


snPOSStatsAlignErrors   OBJECT-TYPE
     SYNTAX     Counter
     ACCESS     read-only
     STATUS     mandatory
     DESCRIPTION
	 	"dot3StatsAlignmentErrors : A count of frames 
	  	received on a particular interface that are 
	  	not an integral number of octets in length 
	  	and do not pass the FCS check.

	  	The count represented by an instance of this
	  	object is incremented when the alignmentError
	  	status is returned by the MAC service to the
	  	LLC (or other MAC user). Received frames for
	  	which multiple error conditions obtain are,
	  	according to the conventions of IEEE 802.3
	  	Layer Management, counted exclusively according
	  	to the error status presented to the LLC."
    ::= { snPOSInfoEntry 19 }

snPOSStatsFCSErrors   OBJECT-TYPE
     SYNTAX      Counter
     ACCESS      read-only
     STATUS      mandatory
     DESCRIPTION
	 	"dot3StatsFCSErrors : A count of frames received 
	  	on a particular interface that are an integral 
	  	number of octets in length but do not pass the 
	  	FCS check.

	  	The count represented by an instance of this
	  	object is incremented when the frameCheckError
	  	status is returned by the MAC service to the
	  	LLC (or other MAC user). Received frames for
	  	which multiple error conditions obtain are,
	  	according to the conventions of IEEE 802.3
	  	Layer Management, counted exclusively according
	  	to the error status presented to the LLC."
    ::= { snPOSInfoEntry 20 }


snPOSStatsFrameTooLongs   OBJECT-TYPE
     SYNTAX    Counter
     ACCESS    read-only
     STATUS    mandatory
     DESCRIPTION
	 	"dot3StatsFrameTooLongs : A count of frames 
	  	received on a particular interface that 
	  	exceed the maximum permitted frame size.

	  	The count represented by an instance of this
	  	object is incremented when the frameTooLong
	  	status is returned by the MAC service to the
	  	LLC (or other MAC user). Received frames for
	  	which multiple error conditions obtain are,
	  	according to the conventions of IEEE 802.3
	  	Layer Management, counted exclusively according
	  	to the error status presented to the LLC."
    ::= { snPOSInfoEntry 21 }


snPOSStatsFrameTooShorts   OBJECT-TYPE
     SYNTAX    Counter
     ACCESS    read-only
     STATUS    mandatory
     DESCRIPTION
	 	" A count of frames received on a particular 
	 	interface that below the minimum permitted 
	 	frame size."
    ::= { snPOSInfoEntry 22 }

snPOSStatsInDiscard OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of inbound packets which were chosen
         to be discarded even though no errors had been
         detected to prevent their being deliverable to a
         higher-layer protocol.  One possible reason for
         discarding such a packet could be to free up
         buffer space."
    ::= { snPOSInfoEntry 23 }


snPOSStatsOutDiscard OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of outbound packets which were chosen
         to be discarded even though no errors had been
         detected to prevent their being transmitted.  One
         possible reason for discarding such a packet could
         be to free up buffer space."
    ::= { snPOSInfoEntry 24 }

snPOSInOctets OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(8))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of octets received on the interface,
    	including framing characters. This object is a 64-bit
		counter of the ifInOctets object, defined in RFC 1213.
		The octet string is in big-endian byte order."
    ::= { snPOSInfoEntry 25 }


snPOSOutOctets OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(8))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The total number of octets transmitted out of the interface,
    	including framing characters. This object is a 64-bit
		counter of the ifOutOctets object, defined in RFC 1213.
		The octet string is in big-endian byte order."
    ::= { snPOSInfoEntry 26 }


snPOSStatsInBitsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of bits per second received on the interface
    	over a 5 minutes interval."
    ::= { snPOSInfoEntry 27 }


snPOSStatsOutBitsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of bits per second transmitted out of the interface
    	over a 5 minutes interval."
    ::= { snPOSInfoEntry 28 }


snPOSStatsInPktsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of packets per second received on the interface
    	over a 5 minutes interval."
    ::= { snPOSInfoEntry 29 }


snPOSStatsOutPktsPerSec OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The number of packets per second transmitted out of the interface
    	over a 5 minutes interval."
    ::= { snPOSInfoEntry 30 }


snPOSStatsInUtilization OBJECT-TYPE
    SYNTAX  INTEGER (0..10000)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The input network utilization in hundredths of a percent
    	over a 5 minutes interval."
    ::= { snPOSInfoEntry 31 }


snPOSStatsOutUtilization OBJECT-TYPE
    SYNTAX  INTEGER (0..10000)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
    	"The output network utilization in hundredths of a percent
    	over a 5 minutes interval."
    ::= { snPOSInfoEntry 32 }

snPOSTagType OBJECT-TYPE
	SYNTAX  INTEGER {
		tagged(1),      
		untagged(2)    
		}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"For tagged port, we could have multiple VLANs 
		 per port."  
	::= {snPOSInfoEntry  33}

snPOSStatsB1 OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Section error monitoring."
    ::= { snPOSInfoEntry 34 }

snPOSStatsB2 OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Line error monitoring."
    ::= { snPOSInfoEntry 35 }

snPOSStatsB3 OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Path error monitoring."
    ::= { snPOSInfoEntry 36 }

snPOSStatsAIS OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Alarm indication signal."
    ::= { snPOSInfoEntry 37 }

snPOSStatsRDI OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Remote defect indication."
    ::= { snPOSInfoEntry 38 }

snPOSStatsLOP OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Loss of pointer."
    ::= { snPOSInfoEntry 39 }

snPOSStatsLOF OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Loss of frame."
    ::= { snPOSInfoEntry 40 }

snPOSStatsLOS OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Loss of signal."
    ::= { snPOSInfoEntry 41 }

END
-- *****************************************************************
-- Commited Access Rate MIB file.
-- *****************************************************************
HP-CAR-MIB DEFINITIONS ::= BEGIN

IMPORTS
	OBJECT-TYPE,
	Gauge
		FROM RFC1155-SMI

        Counter64
		FROM SNMPv2-SMI


	snCAR
		FROM HP-SN-SWITCH-GROUP-MIB;
			

snPortCARs	OBJECT IDENTIFIER ::= { snCAR 1 }

PacketSource ::= INTEGER { 
		input(0), --for inbound traffic
		output(1) --for outbound traffic
	}

RateLimitType ::= INTEGER { 
		all(3), 		--	all traffic.                             
		quickAcc(2), 	--	traffic matches rate-limit's access list.
		standardAcc(1) 	--	traffic matches standard access list.    
	}

RateLimitAction ::= INTEGER {
		continue(1), 
		drop(2), 
		precedCont(3),
		precedXmit(4), 
		xmit(5) 
	}


snPortCARTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnPortCAREntry
	ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        "A table of rate limit configuration entries.
	Rate Limit is a method of traffic control.  It allows a set
	of rate limits to be configured and applied to packets flowing
	into/out of an interface to regulate network traffic."

        ::= { snPortCARs 1 }

snPortCAREntry OBJECT-TYPE
        SYNTAX SnPortCAREntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        	"A collection of rate-limit configuration objects on this 
		interface."
        INDEX { snPortCARifIndex, snPortCARDirection, snPortCARRowIndex }
        ::= { snPortCARTable 1 }

SnPortCAREntry ::=
	SEQUENCE {
		snPortCARifIndex
						INTEGER,
		snPortCARDirection
               		PacketSource,
		snPortCARRowIndex
                        INTEGER,
		snPortCARType
                        RateLimitType,
		snPortCARAccIdx
                        INTEGER,
		snPortCARRate
                        INTEGER,
		snPortCARLimit
                        INTEGER,
		snPortCARExtLimit
                        INTEGER,
		snPortCARConformAction
       					RateLimitAction,
		snPortCARExceedAction
       					RateLimitAction,
		snPortCARStatSwitchedPkts
                        Counter64,
		snPortCARStatSwitchedBytes
                        Counter64,
		snPortCARStatFilteredPkts
                        Counter64,
		snPortCARStatFilteredBytes
                        Counter64,
		snPortCARStatCurBurst
       					Gauge
	}
snPortCARifIndex OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "The ifIndex value for this rate limit entry."
    ::= { snPortCAREntry 1 }

snPortCARDirection OBJECT-TYPE
	SYNTAX  PacketSource
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       		"The input or output transmission direction for the 
                Rate Limit object.
				input (0), --for inbound traffic
				output(1) --for outbound traffic "
        ::= { snPortCAREntry 2 }

snPortCARRowIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..2147483647)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The table index for rate limit objects.
		It increases as the rate limit entries are added.
		Skips the number when a row is deleted."

        ::= { snPortCAREntry 3 }

snPortCARType OBJECT-TYPE
	SYNTAX  RateLimitType
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The type of traffic rate-limited against."

	::= { snPortCAREntry 4 }

snPortCARAccIdx OBJECT-TYPE
	SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The index to the access list if RateLimitType is either
		quickAcc or standardAcc."

	::= { snPortCAREntry 5 }

snPortCARRate OBJECT-TYPE
	SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The comitted access rate. This determines the long term
		average transmission rate. Traffic that falls under this
		rate always conforms. This is average rate in bits per 
		second."

	::= { snPortCAREntry 6 }

snPortCARLimit OBJECT-TYPE
	SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"This is the normal burst size that determines how large traffic
		bursts can be before some traffic exceeds the rate limit. This
		specifies the number of bytes that are guaranteed to be transported
		by the network at the average rate under normal conditions during
		committed time interval. This normal burst size is in bytes."

	::= { snPortCAREntry 7 }

snPortCARExtLimit OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"This is the extended burst limit that determines how large traffic
		bursts can be before all the traffic exceeds the rate limit. This
		burst size is in bytes."

	::= { snPortCAREntry 8 }

snPortCARConformAction OBJECT-TYPE
	SYNTAX	RateLimitAction
	ACCESS  read-only
	STATUS	mandatory
	DESCRIPTION
		"Action to be taken when the traffic is within
		the Rate Limit.
		drop		drop the packet.
		xmit		transmit the packet.
		continue	continue to evaluate to the subsequent
					rate limits.
		precedXmit	rewrite the IP precedence and transmit
					the packet.
		precedCont	rewrite the IP precedence and allow it
					evaluated by subsequent rate limits."

	::= { snPortCAREntry 9 }

snPortCARExceedAction OBJECT-TYPE
	SYNTAX	RateLimitAction
	ACCESS  read-only
	STATUS	mandatory
	DESCRIPTION
		"Action to be taken when the traffic exceeds
		the Rate Limit.drop		
		drop the packet.
		xmit		transmit the packet.
		continue	continue to evaluate to the subsequent
					rate limits.
		precedXmit	rewrite the IP precedence and transmit
					the packet.
		precedCont	rewrite the IP precedence and allow it
					evaluated by subsequent rate limits."

	::= { snPortCAREntry 10 }

snPortCARStatSwitchedPkts OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of packets permitted by this rate limit."

	::= { snPortCAREntry 11 }

snPortCARStatSwitchedBytes OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of bytes permitted by this interface."

	::= { snPortCAREntry 12 }

snPortCARStatFilteredPkts OBJECT-TYPE
	SYNTAX  Counter64
	--UNITS	"packets"
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of packets which exceeded this rate limit."

	::= { snPortCAREntry 13 }

snPortCARStatFilteredBytes OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of bytes which exceeded this rate limit."

	::= { snPortCAREntry 14 }

snPortCARStatCurBurst OBJECT-TYPE
	SYNTAX  Gauge
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The current received burst size."
	::= { snPortCAREntry 15 }

-- end of snPortCARTable


END
-- *****************************************************************
-- Foundry Commited Access Rate MIB file.
-- *****************************************************************
HP-VLAN-CAR-MIB DEFINITIONS ::= BEGIN

IMPORTS
	OBJECT-TYPE,
	Gauge
		FROM RFC1155-SMI

        Counter64
		FROM SNMPv2-SMI

        PacketSource, RateLimitType, RateLimitAction
		FROM HP-CAR-MIB  

  	snVLanCAR
  		FROM HP-SN-SWITCH-GROUP-MIB;
	


snVLanCARs	OBJECT IDENTIFIER ::= { snVLanCAR 1 }



snVLanCARTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnVLanCAREntry
	ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        "A table of rate limit configuration entries for a vlan.
	Rate Limit is a method of traffic control.  It allows a set
	of rate limits to be configured and applied to packets flowing
	into/out of an interface to regulate network traffic."

        ::= { snVLanCARs 1 }


snVLanCAREntry OBJECT-TYPE
        SYNTAX SnVLanCAREntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        	"A collection of rate-limit configuration objects on this 
		vlan."
        INDEX { snVLanCARVLanId, snVLanCARDirection, snVLanCARRowIndex }
        ::= { snVLanCARTable 1 }

SnVLanCAREntry ::=
	SEQUENCE {
		snVLanCARDirection
               		PacketSource,
		snVLanCARVLanId
                        INTEGER,
		snVLanCARRowIndex
                        INTEGER,
		snVLanCARType
                        RateLimitType,
		snVLanCARAccIdx
                        INTEGER,
		snVLanCARRate
                        INTEGER,
		snVLanCARLimit
                        INTEGER,
		snVLanCARExtLimit
                        INTEGER,
		snVLanCARConformAction
			RateLimitAction,
		snVLanCARExceedAction
       			RateLimitAction,
		snVLanCARStatSwitchedPkts
                        Counter64,
		snVLanCARStatSwitchedBytes
                        Counter64,
		snVLanCARStatFilteredPkts
                        Counter64,
		snVLanCARStatFilteredBytes
                        Counter64,
		snVLanCARStatCurBurst
       			Gauge
	}

--need to refer to the vlan table
--index once it is changed to single
--vlan id as the row index

snVLanCARVLanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4095)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The VLAN ID as one of the indices of this table .
		 Each VLAN ID can have a membership of multiple 
		 ports."
	::= { snVLanCAREntry 1 }

snVLanCARDirection OBJECT-TYPE
	SYNTAX  PacketSource
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       		"The input or output transmission direction for the 
                Rate Limit object."
        ::= { snVLanCAREntry 2 }

snVLanCARRowIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..2147483647)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The table index for rate limit objects.
		It increases as the rate limit entries are added.
		Skips the number when a row is deleted."

        ::= { snVLanCAREntry 3 }

snVLanCARType OBJECT-TYPE
	SYNTAX  RateLimitType
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The type of traffic rate-limited against."

	::= { snVLanCAREntry 4 }

snVLanCARAccIdx OBJECT-TYPE
	SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The index to the access list if RateLimitType is either
		quickAcc or standardAcc."

	::= { snVLanCAREntry 5 }

snVLanCARRate OBJECT-TYPE
	SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The comitted access rate. This determines the long term
		average transmission rate. Traffic that falls under this
		rate always conforms. This is average rate in bits per 
		second."

	::= { snVLanCAREntry 6 }

snVLanCARLimit OBJECT-TYPE
	SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"This is the normal burst size that determines how large traffic
		bursts can be before some traffic exceeds the rate limit. This
		specifies the number of bytes that are guaranteed to be transported
		by the network at the average rate under normal conditions during
		committed time interval. This normal burst size is in bytes."

	::= { snVLanCAREntry 7 }

snVLanCARExtLimit OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"This is the extended burst limit that determines how large traffic
		bursts can be before all the traffic exceeds the rate limit. This
		burst size is in bytes. "

	::= { snVLanCAREntry 8 }

snVLanCARConformAction OBJECT-TYPE
	SYNTAX	RateLimitAction
	ACCESS  read-only
	STATUS	mandatory
	DESCRIPTION
		"Action to be taken when the traffic is within
		the Rate Limit.
		drop		drop the packet.
		xmit		transmit the packet.
		continue	continue to evaluate to the subsequent
					rate limits.
		precedXmit	rewrite the IP precedence and transmit
					the packet.
		precedCont	rewrite the IP precedence and allow it
					evaluated by subsequent rate limits."

	::= { snVLanCAREntry 9 }

snVLanCARExceedAction OBJECT-TYPE
	SYNTAX	RateLimitAction
	ACCESS  read-only
	STATUS	mandatory
	DESCRIPTION
		"Action to be taken when the traffic exceeds
		the Rate Limit.
   		drop		drop the packet.
		xmit		transmit the packet.
		continue	continue to evaluate to the subsequent
					rate limits.
		precedXmit	rewrite the IP precedence and transmit
					the packet.
		precedCont	rewrite the IP precedence and allow it
					evaluated by subsequent rate limits."

	::= { snVLanCAREntry 10 }

snVLanCARStatSwitchedPkts OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of packets permitted by this rate limit."

	::= { snVLanCAREntry 11 }

snVLanCARStatSwitchedBytes OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of bytes permitted by this interface."

	::= { snVLanCAREntry 12 }

snVLanCARStatFilteredPkts OBJECT-TYPE
	SYNTAX  Counter64
	--UNITS	"packets"
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of packets which exceeded this rate limit."

	::= { snVLanCAREntry 13 }

snVLanCARStatFilteredBytes OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The counter of bytes which exceeded this rate limit."

	::= { snVLanCAREntry 14 }

snVLanCARStatCurBurst OBJECT-TYPE
	SYNTAX  Gauge
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The current received burst size."
	::= { snVLanCAREntry 15 }

-- end of snVLanCARTable


END
HP-SN-IP-ACL-MIB DEFINITIONS ::= BEGIN

-- Imports

IMPORTS
	IpAddress		
		FROM RFC1155-SMI
	OBJECT-TYPE     
		FROM RFC-1212
	Counter64		
		FROM SNMPv2-SMI
	snIp			
		FROM HP-SN-ROOT-MIB;

	--  textual conventions
		DisplayString ::= OCTET STRING

	--  RtrStatus Values
		RtrStatus ::= INTEGER { disabled(0), enabled (1) }

	--  Row Status
	    SnRowStatus ::= INTEGER { 
							    other(1),
							    valid(2),
							    delete(3),
							    create(4)
						      }

	--  Action 
		Action ::= INTEGER { deny(0), permit(1) }

    --  Boolean Values
         TruthVal ::= INTEGER { false (0), true (1)  }

	--  ACL number
		AclNumber ::= INTEGER (1..199)

	--  Operator
		Operator ::= INTEGER { eq(0), neq(1), lt(2), gt(3), range(4), undefined(7) }

	--  IP Protocol
		IpProtocol ::= INTEGER (0..255)

	-- Precedence Value
		PrecedenceValue ::= INTEGER { critical(5), flash(3), flashoverride(4),
									  immediate(2), internet(6), network(7),
									  priority(1), routine(0), undefined(8) }
									
	-- Tos Value
		TosValue ::= INTEGER {
						normal(0),
						minMonetaryCost(1),
						maxReliability(2),
						tosValue3(3),
						maxThroughput(4),
						tosValue5(5),
						tosValue6(6),
						tosValue7(7),
						minDelay(8),
						tosValue9(9),
						tosValue10(10),
						tosValue11(11),
						tosValue12(12),
						tosValue13(13),
						tosValue14(14),
						tosValue15(15),
						undefined(16)
							}

	--  Direction 
		Direction ::= INTEGER { inbound(0), outbound(1) }
		
------Access Control List

snAgAcl		OBJECT IDENTIFIER ::= { snIp 15 }

snAgAclGlobal	OBJECT IDENTIFIER ::= { snAgAcl 1 }

snAgAclGblCurRowIndex OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current row index of the ACL table entry."
	::= { snAgAclGlobal 1 }

--
-- ACL Table
--

snAgAclTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnAgAclEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Table of Access Control List"
	::= { snAgAcl 2 }

snAgAclEntry       OBJECT-TYPE
	SYNTAX  SnAgAclEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the IP access control list table."
	INDEX   { snAgAclIndex }
	::= { snAgAclTable 1 }

SnAgAclEntry ::= SEQUENCE {
	snAgAclIndex
		INTEGER,
	snAgAclNumber
		AclNumber,
	snAgAclName
		DisplayString,
	snAgAclAction              
		Action,
	snAgAclProtocol            
		IpProtocol,
	snAgAclSourceIp
		IpAddress,
	snAgAclSourceMask
		IpAddress,
	snAgAclSourceOperator
		Operator,
	snAgAclSourceOperand1
		INTEGER,
	snAgAclSourceOperand2
		INTEGER,
	snAgAclDestinationIp
		IpAddress,
	snAgAclDestinationMask
		IpAddress,
	snAgAclDestinationOperator
		Operator,
	snAgAclDestinationOperand1
		INTEGER,
	snAgAclDestinationOperand2
		INTEGER,
	snAgAclPrecedence
		PrecedenceValue,
	snAgAclTos
		TosValue,
	snAgAclEstablished
		RtrStatus,
	snAgAclLogOption
		TruthVal,
	snAgAclStandardFlag
		TruthVal,
	snAgAclRowStatus
		SnRowStatus,
	snAgAclFlowCounter
		Counter64,
	snAgAclPacketCounter
		Counter64,
	snAgAclComments
		DisplayString,
	snAgAclIpPriority
		INTEGER,
	snAgAclPriorityForce
		INTEGER,
	snAgAclPriorityMapping
		INTEGER,
	snAgAclDscpMarking
		INTEGER,
	snAgAclDscpMapping
		INTEGER
	}

snAgAclIndex       OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The access control list item number for an entry.
		This is a unique number that identifies different
		Access list entries combined with the access list
		name and access list number. This one has to be 
		unique even though the name and number are not unique
		for a give access list with same or different source
		address, subnet mask, destination address and destination
		mask, protocol type, action (permit/deny) type and the
		operator (neq, eq, gt and , lt) which makes the index a 
		unique tuple (name, number, itemnumber)."
	::= { snAgAclEntry 1 }

snAgAclNumber       OBJECT-TYPE
	SYNTAX  AclNumber
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"The access control list number for an entry.
		The standard access list is in the range <1..99>.
		The extended access list is in the range <100-199>."
	::= { snAgAclEntry 2 }

snAgAclName		OBJECT-TYPE
	SYNTAX  DisplayString
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"ACL name for an entry."
	::= { snAgAclEntry 3 }

snAgAclAction      OBJECT-TYPE
	SYNTAX  Action 
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Action to take if the ip packet matches
		with this access control list."
	::= { snAgAclEntry 4 }

snAgAclProtocol    OBJECT-TYPE
	SYNTAX  IpProtocol
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Transport protocol. 0 means any protocol."
	::= { snAgAclEntry 5 }

snAgAclSourceIp    OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source IP address."
	::= { snAgAclEntry 6 }

snAgAclSourceMask  OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Source IP subnet mask."
	::= { snAgAclEntry 7 }

snAgAclSourceOperator    OBJECT-TYPE
	SYNTAX  Operator
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Type of comparison to perform.
		for now, this only applys to tcp or udp
		to compare the port number"
	::= { snAgAclEntry 8 }

snAgAclSourceOperand1     OBJECT-TYPE
	SYNTAX  INTEGER(0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"For now this only refers to transport 
		protocol port number. 0 means NA"
	::= { snAgAclEntry 9 }

snAgAclSourceOperand2     OBJECT-TYPE
	SYNTAX  INTEGER(0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"For now this only refers to transport 
		protocol port number. 0 means NA"
	::= { snAgAclEntry 10 }

snAgAclDestinationIp      OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination IP address."
	::= { snAgAclEntry 11 }

snAgAclDestinationMask    OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Destination IP subnet mask."
	::= { snAgAclEntry 12 }

snAgAclDestinationOperator    OBJECT-TYPE
	SYNTAX  Operator
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Type of comparison to perform.
		for now, this only applys to tcp or udp
		to compare the port number"
	::= { snAgAclEntry 13 }

snAgAclDestinationOperand1     OBJECT-TYPE
	SYNTAX  INTEGER(0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"For now this only refers to transport 
		protocol port number. 0 means NA"
	::= { snAgAclEntry 14 }

snAgAclDestinationOperand2     OBJECT-TYPE
	SYNTAX  INTEGER(0..65535)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"For now this only refers to transport 
		protocol port number. 0 means NA"
	::= { snAgAclEntry 15 }

snAgAclPrecedence OBJECT-TYPE
	SYNTAX  PrecedenceValue
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"This refers to IP precedence value in the range <0-7>
		critical(5), 
		flash(3), 
		flash-override(4), 
		immediate(2), 
		internet(6), 
		network(7), 
		priority(1), 
		routine(0)"
		::= { snAgAclEntry 16 }

snAgAclTos OBJECT-TYPE
	  SYNTAX  TosValue
	  ACCESS  read-write
	  STATUS  mandatory
	  DESCRIPTION
		"This refers to the IP type of service value in range
		<0-15> which is the sum of numeric vlaues of the 
		following options -
		match packets with maximum reliability TOS (2)
		match packets with maximum throughput TOS (4)
		match packets with minimum delay (8)
		match packets with minimum monetary cost TOS (1)
		match packets with normal TOS  (0)"
		::= { snAgAclEntry 17 }

snAgAclEstablished OBJECT-TYPE
	SYNTAX  RtrStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Enable/Disable the filtering of established TCP
		packets of which the ACK or RESET flag is on. This
		additional filter only applies to TCP transport
		protocol."
	::= { snAgAclEntry 18 }

snAgAclLogOption OBJECT-TYPE
	SYNTAX  TruthVal
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Log flag"
	::= { snAgAclEntry 19 }

snAgAclStandardFlag OBJECT-TYPE
	SYNTAX  TruthVal
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Return whether the ACL is standard or extended, 1 for standard ACL"
	::= { snAgAclEntry 20 }

snAgAclRowStatus   OBJECT-TYPE
	SYNTAX  SnRowStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a access list
		entry."
	::= { snAgAclEntry 21 }

snAgAclFlowCounter   OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Approximate count of flows matching individual ACL entry."
	::= { snAgAclEntry 22 }

snAgAclPacketCounter   OBJECT-TYPE
	SYNTAX  Counter64
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Accurate count of packets matching individual ACL entry."
	::= { snAgAclEntry 23 }

snAgAclComments   OBJECT-TYPE
	SYNTAX  DisplayString
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Remark description of individual ACL entry."
	::= { snAgAclEntry 24 }

snAgAclIpPriority   OBJECT-TYPE
	SYNTAX  INTEGER(0..3)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"QoS priority option for IP ACL entry."
	::= { snAgAclEntry 25 }

snAgAclPriorityForce   OBJECT-TYPE
	SYNTAX  INTEGER(0..4)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Force packet outgoing priority.  Not defined(4)"
	::= { snAgAclEntry 26 }

snAgAclPriorityMapping   OBJECT-TYPE
	SYNTAX  INTEGER(0..8)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Map incoming packet priority. Not defined(8)"
	::= { snAgAclEntry 27 }

snAgAclDscpMarking   OBJECT-TYPE
	SYNTAX  INTEGER(0..64)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Mark packets with given DSCP value.  Not defined(64)"
	::= { snAgAclEntry 28 }

snAgAclDscpMapping   OBJECT-TYPE
	SYNTAX  INTEGER(0..64)
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Map incoming DSCP value.  Not defined(64)"
	::= { snAgAclEntry 29 }

--
-- Acl Port Table

snAgAclBindToPortTable   OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnAgAclBindToPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"Table of ACL binding to port for router"
	::= { snAgAcl 3 }

snAgAclBindToPortEntry       OBJECT-TYPE
	SYNTAX  SnAgAclBindToPortEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION
		"An entry in the ACL-binding-to-port table."
	INDEX   { 
			   snAgAclPortNum, 
			   snAgAclPortBindDirection
			}
	::= { snAgAclBindToPortTable 1 }

SnAgAclBindToPortEntry ::= SEQUENCE {
	snAgAclPortNum
		INTEGER,
	snAgAclPortBindDirection
		Direction,
	snAgAclNum
		INTEGER,
	snAgAclNameString
		DisplayString,
	snAgBindPortListInVirtualInterface
		OCTET STRING,
	snAgAclPortRowStatus
		SnRowStatus
	}

snAgAclPortNum      OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"Binding-to port num, either physical port or virtual interface."
	::= { snAgAclBindToPortEntry 1 }

snAgAclPortBindDirection   OBJECT-TYPE
	SYNTAX  Direction
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"ACL port direction, inbound or outbound"
	::= { snAgAclBindToPortEntry 2 }

snAgAclNum      OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Defined ACL number"
	::= { snAgAclBindToPortEntry 3 }

snAgAclNameString      OBJECT-TYPE
	SYNTAX  DisplayString
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Defined ACL name"
	::= { snAgAclBindToPortEntry 4 }

snAgBindPortListInVirtualInterface   OBJECT-TYPE
	SYNTAX  OCTET STRING
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"Port list for binding virtual interface"
	::= { snAgAclBindToPortEntry 5 }

snAgAclPortRowStatus   OBJECT-TYPE
	SYNTAX  SnRowStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
		"To create or delete a ACL port entry."
	::= { snAgAclBindToPortEntry 6 }

END
HP-SN-MPLS-TC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, Unsigned32, Integer32
	FROM SNMPv2-SMI
    transmission
        FROM RFC1213-MIB
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    snMpls
        FROM HP-SN-ROOT-MIB;

    mplsTCMIB MODULE-IDENTITY
    LAST-UPDATED "200101041200Z"  -- 4 January 2002 12:00:00 GMT

    ORGANIZATION
    "Multiprotocol Label Switching (MPLS) Working Group"
CONTACT-INFO
        "        Thomas D. Nadeau
                 Cisco Systems, Inc.
                 tnadeau@cisco.com
        
                 Joan Cucchiara
                 Crescent Networks
                 jcucchiara@crescentnetworks.com
        
                 Cheenu Srinivasan
                 Parama Networks, Inc.
                 cheenu@paramanet.com
        
                 Arun Viswanathan
                 Force10 Networks, Inc.
                 arun@force10networks.com
        
                 Hans Sjostrand
                 ipUnplugged
                 hans@ipunplugged.com
        
        Email comments to the MPLS WG Mailing List at
          mpls@uu.net."

      DESCRIPTION
        "This MIB module defines Textual Conventions and
          OBJECT-IDENTITIES for use in documents defining
          management information bases (MIBs) for managing
          MPLS networks."
        
     -- Revision history.
        
      REVISION
      "200101041200Z"  -- 4 January 2002 12:00:00 GMT
      DESCRIPTION
	  "Initial version published as part of RFC XXXX."
      ::= { mplsMIB 1 }

  -- This object identifier needs to be assigned by IANA.
  -- Since mpls has been assigned an ifType of 166 we recommend
  -- that this OID be 166 as well.

  mplsMIB OBJECT IDENTIFIER
  ::= { snMpls 15 }

-- Textual Conventions (sorted alphabetically).

MplsAtmVcIdentifier ::= TEXTUAL-CONVENTION

    STATUS  current
    DESCRIPTION
        "The VCI value for a VCL. The maximum VCI value
          cannot exceed the value allowable by
          atmInterfaceMaxVciBits defined in ATM-MIB. The
          minimum value is 32, values 0 to 31 are reserved
          for other uses by the ITU and ATM Forum.  32 is
          typically the  default value for the Control VC."
      REFERENCE
        "Definitions of Textual Conventions and OBJECT-
          IDENTITIES for ATM Management, RFC 2514, Feb.
          1999."
      SYNTAX  Integer32 (32..65535)

MplsBitRate ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS      current
   DESCRIPTION
        "An estimate of bandwidth in units of 1,000 bits per
          second.  If this object reports a value of 'n' then
          the rate of the object is somewhere in the range of
          'n-500' to 'n+499'. For objects which do not vary
          in bit rate, or for those where no accurate
          estimation can be made, this object should contain
          the nominal bit rate."
   SYNTAX  Integer32 (1..2147483647)

MplsBurstSize ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
   DESCRIPTION
        "The number of octets of MPLS data that the stream
          may send back-to-back without concern for
          policing."
   SYNTAX  Unsigned32 (1..4294967295)

MplsExtendedTunnelId ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "A unique identifier for an MPLS Tunnel. This MAY
          represent an IpV4 address of the ingress or egress
          LSR for the tunnel. This value is derived from the
          Extended Tunnel Id in RSVP or the Ingress Router ID
          for CR-LDP."
   REFERENCE
        "1. Awduche, D., et al., RSVP-TE: Extensions to RSVP
          for LSP Tunnels,  RFC 3209, December 2001.
         2. Constraint-Based LSP Setup using LDP, Jamoussi,
          B., et al., draft-ietf-mpls-cr-ldp-06.txt, November
          2001."
   SYNTAX  Unsigned32

MplsInitialCreationSource ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The entity that originally created the object in
          question. The values of this enumeration are
          defined as follows:
        
         other(1) - This is used when an entity which has not
          been enumerated in this textual convention but
          which is known by the agent.
        
         snmp(2) - The Simple Network Management Protocol was
          used to configure this object initially.
        
         ldp(3 - The Label Distribution Protocol was used to
          configure this object initially.
        
         rsvp(4) - The Resource Reservation Protocol was used
          to configure this object initially.
        
         crldp(5) - The Constraint-Based Label Distribution
          Protocol was used to configure this object
          initially.
        
         policyAgent(6) - A policy agent (perhaps in
          combination with one of the above protocols) was
          used to configure this object initially.
        
         unknown(7) - the agent cannot discern which
          component created the object."
   SYNTAX  INTEGER {
             other(1),
             snmp(2),
             ldp(3),
             rsvp(4),
             crldp(5),
             policyAgent(6),
             unknown (7)
         }



MplsLSPID ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "An identifier that is assigned to each LSP and is
          used to uniquely identify it.  This is assigned at
          the head end of the LSP and can be used by all LSRs
          to identify this LSP.  This value is piggybacked by
          the signaling protocol when this LSP is signaled
          within the network.  This identifier can then be
          used at each LSR to identify which labels are being
          swapped to other labels for this LSP.  For IPv4
          addresses this results in a 6-octet long cookie."
   SYNTAX  OCTET STRING (SIZE (0..31))

MplsLabel ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "This value represents an MPLS label as defined in
          [RFC3031],  [RFC3032], [RFC3034] and [RFC3035]."
   REFERENCE
        "1. Multiprotocol Label Switching Architecture, Rosen
          et al, RFC 3031, August 1999.
         2. MPLS Label Stack Encoding, Rosen et al, RFC 3032,
          January 2001.
         3. Use of Label Switching on Frame Relay Networks,
          Conta et al, RFC 3034, January 2001.
         4. MPLS using LDP and ATM VC switching, Davie et al,
          RFC 3035, January 2001."
   SYNTAX  Unsigned32 (0..4294967295)

MplsLdpGenAddr ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The value of an network layer or data link layer
          address."
   SYNTAX  OCTET STRING (SIZE (0..64))

MplsLdpIdentifier ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The LDP identifier is a six octet quantity which is
          used to identify an Label Switch Router (LSR) label
          space.
        
         The first four octets identify the LSR and must be a
          globally unique value, such as a 32-bit router ID
          assigned to the LSR, and the last two octets
          identify a specific label space within the LSR."
   SYNTAX  OCTET STRING (SIZE (6))

MplsLdpLabelTypes ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The Layer 2 label types which are defined for MPLS
          LDP/CRLDP are generic(1), atm(2), or
          frameRelay(3)."
   SYNTAX  INTEGER {
             generic(1),
             atm(2),
             frameRelay(3)
         }

MplsLsrIdentifier ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The Label Switch Router (LSR) identifier is the
          first 4 bytes of the Label Distribution Protocol
          (LDP) identifier."
   SYNTAX  OCTET STRING (SIZE (4))

MplsPathIndex ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "A unique identifier used to identify a specific path
          used by a tunnel."
   SYNTAX  Unsigned32

MplsPathIndexOrZero ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "A unique identifier used to identify a specific path
          used by a tunnel. If this value is set to 0, it
          indicates that no path is in use."
   SYNTAX  Unsigned32

MplsPortNumber ::= TEXTUAL-CONVENTION
   STATUS              current
   DESCRIPTION
        "A TCP or UDP port number. Along with an IP address
          identifies a stream of IP traffic uniquely."
   SYNTAX              Integer32 (0..65535)

MplsTunnelAffinity ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "Include-any, include-all, or exclude-all constraint
          for link selection."
   SYNTAX  Unsigned32

MplsTunnelIndex ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "Index into mplsTunnelTable."
   SYNTAX  Integer32 (1..65535)

MplsTunnelInstanceIndex ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
        "Instance index into mplsTunnelTable."
   SYNTAX  Unsigned32 (0..65535)

END








      
HP-SN-MPLS-LSR-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Integer32, Counter32, Unsigned32, Counter64, Gauge32
      FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF
   TruthValue, RowStatus, StorageType, RowPointer,
   TimeStamp
      FROM SNMPv2-TC
   InterfaceIndex, InterfaceIndexOrZero
      FROM IF-MIB
   mplsMIB, MplsLSPID, MplsLabel, MplsBitRate, MplsBurstSize,
   MplsInitialCreationSource
      FROM HP-SN-MPLS-TC-MIB
   AddressFamilyNumbers
      FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
   InetAddressIPv4, InetAddressIPv6, InetAddressType
      FROM INET-ADDRESS-MIB
   snMpls
        FROM HP-SN-ROOT-MIB;

mplsLsrMIB MODULE-IDENTITY
   LAST-UPDATED "200201041200Z"  -- 4 January 2002 12:00:00 GMT
   ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
   CONTACT-INFO
       "
                Cheenu Srinivasan
        Postal: Parama Networks, Inc.
                1030 Broad Street
                Shrewsbury, NJ 07702
        Tel:    +1-732-544-9120 x731
        Email:  cheenu@paramanet.com
       
                Arun Viswanathan
        Postal: Force10 Networks, Inc.
                1440 McCarthy Blvd
                Milpitas, CA 95035
        Tel:    +1-408-571-3516
        Email:  arun@force10networks.com
       
                Thomas D. Nadeau
        Postal: Cisco Systems, Inc.
                250 Apollo Drive
                Chelmsford, MA 01824
        Tel:    +1-978-244-3051
        Email:  tnadeau@cisco.com
       "
   DESCRIPTION
       "This MIB contains managed object definitions for the
        Multiprotocol Label Switching (MPLS) Router as
        defined in: Rosen, E., Viswanathan, A., and R.
        Callon, Multiprotocol Label Switching Architecture,
        RFC 3031, January 2001."
   
   -- Revision history.
   REVISION
       "200201041200Z"  -- 4 January 2002 12:00:00 GMT
   DESCRIPTION
       "Initial revision, published as part of RFC XXXX."
   ::= { mplsMIB 2 }

-- Top level components of this MIB.

-- Tables, Scalars
mplsLsrObjects       OBJECT IDENTIFIER ::= { mplsLsrMIB 1 }
-- Notifications
mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrMIB 2 }
mplsLsrNotifyPrefix OBJECT IDENTIFIER ::= { mplsLsrNotifications 0 }
-- conformance
mplsLsrConformance   OBJECT IDENTIFIER ::= { mplsLsrMIB 3 }


-- MPLS Interface Configuration Table.

mplsInterfaceConfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInterfaceConfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies per-interface MPLS capability
        and associated information."
   ::= { mplsLsrObjects 1 }

mplsInterfaceConfEntry OBJECT-TYPE
   SYNTAX        MplsInterfaceConfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by an LSR for
        every interface capable of supporting MPLS. Each
        entry in this table will exist only if a
        corresponding entry in ifTable exists. If the
        associated entry in ifTable is deleted, the
        corresponding entry in this table must also be
        deleted shortly thereafter. The entry with index 0
        represents the per-platform label space and contains
        parameters that apply to all interfaces that
        participate in the per-platform label space. Other
        entries defined in this table represent additional
        MPLS interfaces that may participate in either the
        per-platform or per-interface label spaces, or both.
        Additional information about label space
        participation of an interface is provided in the
        description clause of
        mplsInterfaceLabelParticipationType."
   INDEX { mplsInterfaceConfIndex }
   ::= { mplsInterfaceConfTable 1 }

MplsInterfaceConfEntry ::= SEQUENCE {
  mplsInterfaceConfIndex              InterfaceIndexOrZero,
  mplsInterfaceLabelMinIn             MplsLabel,
  mplsInterfaceLabelMaxIn             MplsLabel,
  mplsInterfaceLabelMinOut            MplsLabel,
  mplsInterfaceLabelMaxOut            MplsLabel,
  mplsInterfaceTotalBandwidth         MplsBitRate,
  mplsInterfaceAvailableBandwidth     MplsBitRate,
  mplsInterfaceLabelParticipationType BITS
}

mplsInterfaceConfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This is a unique index for an entry in the
        MplsInterfaceConfTable.  A non-zero index for an
        entry indicates the ifIndex for the corresponding
        interface entry in of the MPLS-layer in the ifTable.
        Note that the per-platform label space may apply to
        several interfaces, and therefore the configuration
        of the per-platform label space interface parameters
        will apply to all of the interfaces that are
        participating in the per-platform label space."
   REFERENCE
       "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
        and F. Kastenholtz, June 2000"
   ::= { mplsInterfaceConfEntry 1 }

mplsInterfaceLabelMinIn OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the minimum value of an MPLS label that this
        LSR is willing to receive on this interface."
   ::= { mplsInterfaceConfEntry 2 }

mplsInterfaceLabelMaxIn OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the maximum value of an MPLS label that this
        LSR is willing to receive on this interface."
   ::= { mplsInterfaceConfEntry 3 }

mplsInterfaceLabelMinOut OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the minimum value of an MPLS label that this
        LSR is willing to send on this interface."
   ::= { mplsInterfaceConfEntry 4 }

mplsInterfaceLabelMaxOut OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the maximum value of an MPLS label that this
        LSR is willing to send on this interface."
   ::= { mplsInterfaceConfEntry 5 }

mplsInterfaceTotalBandwidth OBJECT-TYPE
   SYNTAX        MplsBitRate
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value indicates the total amount of usable
        bandwidth on this interface and is specified in
        kilobits per second (Kbps).  This variable is not
        applicable when applied to the interface with index
        0. When this value cannot be measured, this value
        should contain the nominal bandwidth."
::= { mplsInterfaceConfEntry 6 }

mplsInterfaceAvailableBandwidth OBJECT-TYPE
   SYNTAX        MplsBitRate
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value indicates the total amount of available
        bandwidth available on this interface and is
        specified in kilobits per second (Kbps).  This value
        is calculated as the difference between the amount
        of bandwidth currently in use and that specified in
        mplsInterfaceTotalBandwidth.  This variable is not
        applicable when applied to the interface with index
        0. When this value cannot be measured, this value
        should contain the nominal bandwidth."
::= { mplsInterfaceConfEntry 7 }

mplsInterfaceLabelParticipationType OBJECT-TYPE
   SYNTAX  BITS {
                  perPlatform (0),
                  perInterface (1)
              }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Either the perPlatform(0) or perInterface(1) bit
        MUST be set. If the value of the
        mplsInterfaceConfIndex for this entry is zero, then
        only the perPlatform(0) bit MUST be set and the
        perInterface(1) bit is meaningless. If the
        perInterface(1) bit is set then the value of
        mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
        mplsInterfaceLabelMinOut, and
        mplsInterfaceLabelMaxOut for this entry reflect the
        label ranges for this interface.  If only the
        perPlatform(0) bit is set, then the value of
        mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
        mplsInterfaceLabelMinOut, and
        mplsInterfaceLabelMaxOut for this entry must be
        identical to the instance of these objects with
        index 0."
   REFERENCE
       "Rosen, E., Viswanathan, A., and R. Callon,
        Multiprotocol Label Switching Architecture, RFC
        3031, January 2001."
::= { mplsInterfaceConfEntry 8 }

-- End of mplsInterfaceConfTable


-- MPLS Interface Performance Table.

mplsInterfacePerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInterfacePerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table provides MPLS performance information on
        a per-interface basis."
   ::= { mplsLsrObjects 2 }

mplsInterfacePerfEntry OBJECT-TYPE
   SYNTAX        MplsInterfacePerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by the LSR for
        every interface capable of supporting MPLS.  Its is
        an extension to the mplsInterfaceConfEntry table."
   AUGMENTS      { mplsInterfaceConfEntry }
      ::= { mplsInterfacePerfTable 1 }

MplsInterfacePerfEntry ::= SEQUENCE {
      -- incoming direction
      mplsInterfaceInLabelsUsed          Gauge32,
      mplsInterfaceFailedLabelLookup     Counter32,
      
      -- outgoing direction
      mplsInterfaceOutLabelsUsed         Gauge32,
      mplsInterfaceOutFragments          Counter32
   }

mplsInterfaceInLabelsUsed OBJECT-TYPE
   SYNTAX        Gauge32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of labels that are in
        use at this point in time on this interface in the
        incoming direction. If the interface participates in
        the per-platform label space only, then this
        instance of this object MUST be identical with the
        instance with index 0. If the interface participates
        in the per-interface label space, then this instance
        of this object MUST represent the number of of per-
        interface labels that are in use at this point in
        time on this interface."
   ::= { mplsInterfacePerfEntry 1 }

mplsInterfaceFailedLabelLookup OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of labeled packets
        that have been received on this interface and were
        discarded because there was no matching cross-
        connect entry. This object MUST count on a per-
        interface basis regardless of which label space the
        interface participates in."
   ::= { mplsInterfacePerfEntry 2 }

mplsInterfaceOutLabelsUsed OBJECT-TYPE
   SYNTAX        Gauge32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of top-most labels in
        the outgoing label stacks that are in use at this
        point in time on this interface. This object MUST
        count on a per-interface basis regardless of which
        label space the interface participates in."
   ::= { mplsInterfacePerfEntry 3 }

mplsInterfaceOutFragments OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of outgoing MPLS
        packets that required fragmentation before
        transmission on this interface. This object MUST
        count on a per-interface basis regardless of which
        label space the interface participates in."
::= { mplsInterfacePerfEntry 4 }

-- In-segment table.

mplsInSegmentTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains a collection of incoming
        segments to an LSR."
   ::= { mplsLsrObjects 3 }

mplsInSegmentEntry  OBJECT-TYPE
   SYNTAX        MplsInSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents one incoming
        segment.  An entry can be created by a network
        administrator or an SNMP agent, or an MPLS signaling
        protocol.  The creator of the entry is denoted by
        mplsInSegmentOwner.  An entry in this table is
        indexed by the ifIndex of the incoming interface and
        the (top) label. The value of mplsInSegmentRowStatus
        cannot be active(1)unless the ifTable entry
        corresponding to mplsInSegmentIfIndex exists."
   INDEX { mplsInSegmentIfIndex, mplsInSegmentLabel }
   ::= { mplsInSegmentTable 1 }

MplsInSegmentEntry ::= SEQUENCE {
  mplsInSegmentIfIndex              InterfaceIndexOrZero,
  mplsInSegmentLabel                MplsLabel,
  mplsInSegmentNPop                 Integer32,
  mplsInSegmentAddrFamily           AddressFamilyNumbers,
  mplsInSegmentXCIndex              Unsigned32,
  mplsInSegmentOwner                MplsInitialCreationSource ,
  mplsInSegmentTrafficParamPtr      RowPointer,
  mplsInSegmentRowStatus            RowStatus,
  mplsInSegmentStorageType          StorageType
}

mplsInSegmentIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This is a unique index for an entry in the
        MplsInSegmentTable.  This value represents the
        interface index for the incoming MPLS interface.  A
        value of zero represents an incoming label from the
        per-platform label space.  In this case, the
        mplsInSegmentLabel is interpreted to be an MPLS-type
        label."
   ::= { mplsInSegmentEntry 1 }

mplsInSegmentLabel OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "The incoming label for this segment."
   ::= { mplsInSegmentEntry 2 }

mplsInSegmentNPop OBJECT-TYPE
   SYNTAX        Integer32 (1..2147483647)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The number of labels to pop from the incoming
        packet.  Normally only the top label is popped from
        the packet and used for all switching decisions for
        that packet.  Note that technologies which do not
        support label popping should set this value to its
        default value of 1. This object cannot be modified
        if mplsInSegmentRowStatus is active(1)."
   DEFVAL        { 1 }
   ::= { mplsInSegmentEntry 3 }

mplsInSegmentAddrFamily OBJECT-TYPE
   SYNTAX        AddressFamilyNumbers
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The IANA address family [IANAFamily] of the incoming
        packet.  A value of other(0) indicates that the
        family type is either unknown or undefined. This
        object cannot be modified if mplsInSegmentRowStatus
        is active(1)."
   DEFVAL        { other }
   ::= { mplsInSegmentEntry 4 }

mplsInSegmentXCIndex OBJECT-TYPE
SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Index into mplsXCTable which identifies which cross-
        connect entry this segment is part of.  A value of
        zero indicates that this entry is not referred to by
        any cross-connect entry.  When a cross-connect entry
        is created which this in-segment is a part of, this
        object is automatically updated to reflect the value
        of mplsXCIndex of that cross-connect entry."
   DEFVAL        { 0 }
   ::= { mplsInSegmentEntry 5 }
   
mplsInSegmentOwner OBJECT-TYPE
   SYNTAX        MplsInitialCreationSource
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes the entity that created and is responsible
        for managing this segment. This object cannot be
        modified if mplsInSegmentRowStatus is active(1)."
   DEFVAL { unknown }
   ::= { mplsInSegmentEntry 6 }

mplsInSegmentTrafficParamPtr OBJECT-TYPE
   SYNTAX            RowPointer
   MAX-ACCESS        read-create
   STATUS            current
   DESCRIPTION
     "This variable represents a pointer to the traffic
     parameter specification for this in-segment.  This
     value may point at an entry in the
     mplsTrafficParamTable to indicate which
     mplsTrafficParamEntry is to be assigned to this
     segment.  This value may optionally point at an
     externally defined traffic parameter specification
     table.  A value of zero-dot-zero indicates best-effort
     treatment.  By having the same value of this object,
     two or more segments can indicate resource sharing.
     This object cannot be modified if
     mplsInSegmentRowStatus is active(1)."
   ::= { mplsInSegmentEntry 7 }

mplsInSegmentRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table."
   ::= { mplsInSegmentEntry 8 }
   
mplsInSegmentStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable indicates the storage type for this
        object. This object cannot be modified if
        mplsInSegmentRowStatus is active(1). If this
        variable is set to readOnly(5), and the
        corresponding TFIB entry is removed, then the agent
        must remove this row shortly thereafter."
   ::= { mplsInSegmentEntry 9 }

-- End of mplsInSegmentTable


-- In-segment performance table.

mplsInSegmentPerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains statistical information for
        incoming MPLS segments to an LSR."
   ::= { mplsLsrObjects 4 }

mplsInSegmentPerfEntry  OBJECT-TYPE
   SYNTAX        MplsInSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains statistical
        information about one incoming segment which was
        configured in the mplsInSegmentTable. The counters
        in this entry should behave in a manner similar to
        that of the interface."
   AUGMENTS      { mplsInSegmentEntry }
   ::= { mplsInSegmentPerfTable 1 }

MplsInSegmentPerfEntry ::= SEQUENCE {
    mplsInSegmentOctets                 Counter32,
    mplsInSegmentPackets                Counter32,
    mplsInSegmentErrors                 Counter32,
    mplsInSegmentDiscards               Counter32,
    
    -- high capacity counter
    mplsInSegmentHCOctets               Counter64,
    
    mplsInSegmentPerfDiscontinuityTime  TimeStamp
   }

mplsInSegmentOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value represents the total number of octets
        received by this segment."
   ::= { mplsInSegmentPerfEntry 1 }

mplsInSegmentPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of packets received by this segment."
   ::= { mplsInSegmentPerfEntry 2 }

mplsInSegmentErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of errored packets received on this
        segment."
   ::= { mplsInSegmentPerfEntry 3 }

mplsInSegmentDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of labeled packets received on this in-
        segment, which were chosen to be discarded even
        though no errors had been detected to prevent their
        being transmitted.  One possible reason for
        discarding such a labeled packet could be to free up
        buffer space."
   ::= { mplsInSegmentPerfEntry 4 }

mplsInSegmentHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The total number of octets received.  This is the 64
        bit version of mplsInSegmentOctets."
   ::= { mplsInSegmentPerfEntry 5 }
   
mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE
   SYNTAX              TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of sysUpTime on the most recent occasion
        at which any one or more of this segment's Counter32
        or Counter64 suffered a discontinuity. If no such
        discontinuities have occurred since the last re-
        initialization of the local management subsystem,
        then this object contains a zero value."
   ::= { mplsInSegmentPerfEntry 6 }

-- End of mplsInSegmentPerfTable.


-- Out-segment table.

mplsOutSegmentIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains the next appropriate value to
        be used for mplsOutSegmentIndex when creating
        entries in the mplsOutSegmentTable.  If the number
        of unassigned entries is exhausted, this object will
        take on the value of 0.  To obtain the
        mplsOutSegmentIndex value for a new entry, the
        manager must first issue a management protocol
        retrieval operation to obtain the current value of
        this object.  The agent should modify the value to
        reflect the next unassigned index after each
        retrieval operation.  After a manager retrieves a
        value the agent will determine through its local
        policy when this index value will be made available
        for reuse."
   ::= { mplsLsrObjects 5 }


mplsOutSegmentTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsOutSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains a representation of the outgoing
        segments from an LSR."
   ::= { mplsLsrObjects 6 }

mplsOutSegmentEntry  OBJECT-TYPE
   SYNTAX        MplsOutSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents one outgoing
        segment.  An entry can be created by a network
        administrator or an SNMP agent, or an MPLS signaling
        protocol.  The object mplsOutSegmentOwner indicates
        the creator of this entry. The value of
        mplsOutSegmentRowStatus cannot be active(1)unless
        the ifTable entry corresponding to
        mplsOutSegmentIfIndex exists."
   INDEX { mplsOutSegmentIndex }
   ::= { mplsOutSegmentTable 1 }

MplsOutSegmentEntry ::= SEQUENCE {
  mplsOutSegmentIndex                Unsigned32,
  mplsOutSegmentIfIndex              InterfaceIndexOrZero,
  mplsOutSegmentPushTopLabel         TruthValue,
  mplsOutSegmentTopLabel             MplsLabel,
  mplsOutSegmentNextHopIpAddrType    InetAddressType,
  mplsOutSegmentNextHopIpv4Addr      InetAddressIPv4,
  mplsOutSegmentNextHopIpv6Addr      InetAddressIPv6,
  mplsOutSegmentXCIndex              Unsigned32,
  mplsOutSegmentOwner                MplsInitialCreationSource ,
  mplsOutSegmentTrafficParamPtr      RowPointer,
  mplsOutSegmentRowStatus            RowStatus,
  mplsOutSegmentStorageType          StorageType
}

mplsOutSegmentIndex OBJECT-TYPE
   SYNTAX        Unsigned32(0..2147483647)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This value contains a unique index for this row.
        While a value of 0 is not valid as an index for this
        row it can be supplied as a valid value to index
        mplsXCTable to access entries for which no out-
        segment has been configured."
   ::= { mplsOutSegmentEntry 1 }

mplsOutSegmentIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value must contain the interface index of the
        outgoing interface. This object may only take the
        value of 0 during the create-and-wait row creation
        operation if the management station has not yet set
        the value of this object. This object cannot be
        modified if mplsOutSegmentRowStatus is active(1).
        The mplsOutSegmentRowStatus cannot be set to
        active(1) until this object is set to a value
        corresponding to a valid ifEntry."
   DEFVAL { 0 }
   ::= { mplsOutSegmentEntry 2 }

mplsOutSegmentPushTopLabel OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value indicates whether or not a top label
        should be pushed onto the outgoing packet's label
        stack.  The value of this variable MUST be set to
        true if the outgoing interface does not support pop-
        and-go (for example an ATM interface) or if it is a
        tunnel origination.  Note that it is considered an
        error in the case that mplsOutSegmentPushTopLabel is
        set to false, but the cross-connect entry which
        refers to this out-segment has a non-zero
        mplsLabelStackIndex.  The LSR MUST ensure that this
        situation does not happen. This object cannot be
        modified if mplsOutSegmentRowStatus is active(1)."
   ::= { mplsOutSegmentEntry 3 }

mplsOutSegmentTopLabel OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If mplsOutSegmentPushTopLabel is true then this
        represents the label that should be pushed onto the
        top of the outgoing packet's label stack. Otherwise
        this value SHOULD be set to 0 by the management
        station and MUST be ignored by the agent. This
        object cannot be modified if mplsOutSegmentRowStatus
        is active(1)."
   DEFVAL { 0 }
   ::= { mplsOutSegmentEntry 4 }

mplsOutSegmentNextHopIpAddrType OBJECT-TYPE
   SYNTAX        InetAddressType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Indicates whether the next hop address is IPv4 or
        IPv6.  Note that a value of unknown (0) is valid
        only when the outgoing interface is of type point-to-
        point. This object cannot be modified if
        mplsOutSegmentRowStatus is active(1)."
   DEFVAL        { unknown }
   ::= { mplsOutSegmentEntry 5 }

mplsOutSegmentNextHopIpv4Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv4
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "IPv4 Address of the next hop.  Its value is
        significant only when
        mplsOutSegmentNextHopIpAddrType is ipV4 (1),
        otherwise it SHOULD return a value of 0. This object
        cannot be modified if mplsOutSegmentRowStatus is
        active(1)."
   ::= { mplsOutSegmentEntry 6 }

mplsOutSegmentNextHopIpv6Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv6
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "IPv6 address of the next hop.  Its value is
        significant only when
        mplsOutSegmentNextHopIpAddrType is ipV6 (2),
        otherwise it SHOULD return a value of 0. This object
        cannot be modified if mplsOutSegmentRowStatus is
        active(1)."
   ::= { mplsOutSegmentEntry 7 }

mplsOutSegmentXCIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Index into mplsXCTable which identifies which cross-
        connect entry this segment is part of.  A value of
        zero indicates that this entry is not referred to by
        any cross-connect entry.  When a cross-connect entry
        is created which this out-segment is a part of, this
        object is automatically updated to reflect the value
        of mplsXCIndex of that cross-connect entry."
   DEFVAL        { 0 }
   ::= { mplsOutSegmentEntry 8 }

mplsOutSegmentOwner OBJECT-TYPE
   SYNTAX        MplsInitialCreationSource
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes the entity which created and is responsible
        for managing this segment. This object cannot be
        modified if mplsOutSegmentRowStatus is active(1)."
   DEFVAL { unknown }
   ::= { mplsOutSegmentEntry 9 }

mplsOutSegmentTrafficParamPtr OBJECT-TYPE
   SYNTAX        RowPointer
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
     "This variable represents a pointer to the traffic
      parameter specification for this out-segment.  This
      value may point at an entry in the
      mplsTrafficParamTable to indicate which
      mplsTrafficParamEntry is to be assigned to this
      segment.  This value may optionally point at an
      externally defined traffic parameter specification
      table.  A value of zero-dot-zero indicates best-
      effort treatment.  By having the same value of this
      object, two or more segments can indicate resource
      sharing. This object cannot be modified if
      mplsOutSegmentRowStatus is active(1)."
   ::= { mplsOutSegmentEntry 10 }

mplsOutSegmentRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this row."
   ::= { mplsOutSegmentEntry 11 }

mplsOutSegmentStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable indicates the storage type for this
        object. This object cannot be modified if
        mplsOutSegmentRowStatus is active(1). If this
        variable is set to readOnly(5), and the
        corresponding TFIB entry is removed, then the agent
        must remove this row shortly thereafter."
   ::= { mplsOutSegmentEntry 12 }

-- End of mplsOutSegmentTable


-- Out-segment performance table.

mplsOutSegmentPerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsOutSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains statistical information about
        outgoing segments from an LSR. The counters in this
        entry should behave in a manner similar to that of
        the interface."
   ::= { mplsLsrObjects 7 }

mplsOutSegmentPerfEntry  OBJECT-TYPE
   SYNTAX        MplsOutSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains statistical
        information about one outgoing segment configured in
        mplsOutSegmentTable."
   AUGMENTS      { mplsOutSegmentEntry }
      ::= { mplsOutSegmentPerfTable 1 }

MplsOutSegmentPerfEntry ::= SEQUENCE {
      mplsOutSegmentOctets                Counter32,
      mplsOutSegmentPackets               Counter32,
      mplsOutSegmentErrors                Counter32,
      mplsOutSegmentDiscards              Counter32,
      
      -- HC counter
      mplsOutSegmentHCOctets              Counter64,
      
      mplsOutSegmentPerfDiscontinuityTime  TimeStamp
   }

mplsOutSegmentOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value contains the total number of octets sent
        on this segment."
   ::= { mplsOutSegmentPerfEntry 1 }

mplsOutSegmentPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value contains the total number of packets sent
        on this segment."
   ::= { mplsOutSegmentPerfEntry 2 }

mplsOutSegmentErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Number of packets that could not be sent due to
        errors on this segment."
   ::= { mplsOutSegmentPerfEntry 3 }

mplsOutSegmentDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of labeled packets received on this out-
        segment, which were chosen to be discarded even
        though no errors had been detected to prevent their
        being transmitted.  One possible reason for
        discarding such a labeled packet could be to free up
        buffer space."
   ::= { mplsOutSegmentPerfEntry 4 }

mplsOutSegmentHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of octets sent.  This is the 64 bit
        version of mplsOutSegmentOctets."
   ::= { mplsOutSegmentPerfEntry 5 }
   
mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE
   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of sysUpTime on the most recent occasion
        at which any one or more of this segment's Counter32
        or Counter64 suffered a discontinuity. If no such
        discontinuities have occurred since the last re-
        initialization of the local management subsystem,
        then this object contains a zero value."
   ::= { mplsOutSegmentPerfEntry 6 }
   

-- End of mplsOutSegmentPerfTable.

-- Cross-connect table.

mplsXCIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an appropriate value to be used
        for mplsXCIndex when creating entries in the
        mplsXCTable.  The value 0 indicates that no
        unassigned entries are available.  To obtain the
        value of mplsXCIndex for a new entry in the
        mplsXCTable, the manager issues a management
        protocol retrieval operation to obtain the current
        value of mplsXCIndex.  After each retrieval
        operation, the agent should modify the value to
        reflect the next unassigned index.  After a manager
        retrieves a value the agent will determine through
        its local policy when this index value will be made
        available for reuse."
   ::= { mplsLsrObjects 8 }

mplsXCTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsXCEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies information for switching
        between LSP segments.  It supports point-to-point,
        point-to-multipoint and multipoint-to-point
        connections.  mplsLabelStackTable specifies the
        label stack information for a cross-connect LSR and
        is referred to from mplsXCTable."
   ::= { mplsLsrObjects 9 }

mplsXCEntry  OBJECT-TYPE
   SYNTAX        MplsXCEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "A row in this table represents one cross-connect
        entry.  The following objects index it:
       
        - cross-connect index mplsXCIndex that uniquely
          identifies a group of cross-connect entries
        - interface index of the in-segment,
          mplsInSegmentIfIndex
        - incoming label(s), mplsInSegmentLabel
        - out-segment index, mplsOutSegmentIndex
       
       Originating LSPs:
        These are represented by using the special
        combination of values mplsInSegmentIfIndex=0 and
        mplsInSegmentLabel=0 as indexes.  In this case the
        mplsOutSegmentIndex MUST be non-zero.
       
       Terminating LSPs:
       These are represented by using the special value
        mplsOutSegmentIndex=0 as index.
       
       Special labels:
        Entries indexed by reserved MPLS label values 0
        through 15 imply terminating LSPs and MUST have
        mplsOutSegmentIfIndex = 0.  Note that situations
        where LSPs are terminated with incoming label equal
        to 0, should have mplsInSegmentIfIndex = 0 as well,
        but can be distinguished from originating LSPs
        because the mplsOutSegmentIfIndex = 0.  The
        mplsOutSegmentIfIndex MUST only be set to 0 in
        cases of terminating LSPs.
       
        An entry can be created by a network administrator
        or by an SNMP agent as instructed by an MPLS
        signaling protocol."
   INDEX {
      mplsXCIndex,
      mplsInSegmentIfIndex,
      mplsInSegmentLabel,
      mplsOutSegmentIndex
   }
   ::= { mplsXCTable 1 }

MplsXCEntry ::= SEQUENCE {
      mplsXCIndex                 Unsigned32,
      mplsXCLspId                 MplsLSPID,
      mplsXCLabelStackIndex       Unsigned32,
      mplsXCIsPersistent          TruthValue,
      mplsXCOwner                 MplsInitialCreationSource ,
      mplsXCRowStatus             RowStatus,
      mplsXCStorageType           StorageType,
      mplsXCAdminStatus           INTEGER,
      mplsXCOperStatus            INTEGER
   }

mplsXCIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..2147483647)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Primary index for the conceptual row identifying a
        group of cross-connect segments."
   ::= { mplsXCEntry 1 }

mplsXCLspId OBJECT-TYPE
   SYNTAX        MplsLSPID
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value identifies the label switched path that
        this cross-connect entry belongs to. This object
        cannot be modified if mplsXCRowStatus is active(1)."
   ::= { mplsXCEntry 2 }

mplsXCLabelStackIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Primary index into mplsLabelStackTable identifying a
        stack of labels to be pushed beneath the top label.
        Note that the top label identified by the out-
        segment ensures that all the components of a
        multipoint-to-point connection have the same
        outgoing label.  A value of 0 indicates that no
        labels are to be stacked beneath the top label. This
        object cannot be modified if mplsXCRowStatus is
        active(1)."
   ::= { mplsXCEntry 3 }

mplsXCIsPersistent OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes whether or not this cross-connect entry and
        associated in- and out-segments should be restored
        automatically after failures.  This value MUST be
        set to false in cases where this cross-connect entry
        was created by a signaling protocol. This object
        cannot be modified if mplsXCRowStatus is active(1)."
   DEFVAL        { false }
   ::= { mplsXCEntry 4 }
   
mplsXCOwner OBJECT-TYPE
   SYNTAX    MplsInitialCreationSource
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes the entity that created and is responsible
        for managing this cross-connect. This object cannot
        be modified if mplsXCRowStatus is active(1)."
   ::= { mplsXCEntry 5 }

mplsXCRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this row."
   ::= { mplsXCEntry 6 }
   
mplsXCStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Defines the storage type for this object. This
        object cannot be modified if mplsXCRowStatus is
        active(1). If this variable is set to readOnly(5),
        and the corresponding TFIB entry is removed, then
        the agent must remove this row shortly thereafter."
   ::= { mplsXCEntry 7 }

mplsXCAdminStatus OBJECT-TYPE
   SYNTAX   INTEGER {
         up(1),     -- ready to pass packets
         down(2),
         testing(3) -- in some test mode
      }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The desired operational status of this segment."
   ::= { mplsXCEntry 8 }

mplsXCOperStatus OBJECT-TYPE
   SYNTAX   INTEGER {
         up(1),            -- ready to pass packets
         down(2),
         testing(3),       -- in some test mode
         unknown(4),       -- status cannot be determined
                           -- for some reason.
         dormant(5),
         notPresent(6),    -- some component is missing
         lowerLayerDown(7) -- down due to the state of
                           -- lower layer interfaces
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The actual operational status of this cross-
        connect."
   ::= { mplsXCEntry 9 }

-- End of mplsXCTable


-- Label stack table.
mplsMaxLabelStackDepth  OBJECT-TYPE
   SYNTAX        Integer32 (1..2147483647)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The maximum stack depth supported by this LSR."
::= { mplsLsrObjects 10 }

mplsLabelStackIndexNext  OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an appropriate value to be used
        for mplsLabelStackIndex when creating entries in the
        mplsLabelStackTable.  The value 0 indicates that no
        unassigned entries are available.  To obtain an
        mplsLabelStackIndex value for a new entry, the
        manager issues a management protocol retrieval
        operation to obtain the current value of this
        object.  After each retrieval operation, the agent
        should modify the value to reflect the next
        unassigned index.  After a manager retrieves a value
        the agent will determine through its local policy
        when this index value will be made available for
        reuse."
::= { mplsLsrObjects 11 }

mplsLabelStackTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsLabelStackEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the label stack to be pushed
        onto a packet, beneath the top label.  Entries into
        this table are referred to from mplsXCTable."
   ::= { mplsLsrObjects 12 }

mplsLabelStackEntry OBJECT-TYPE
   SYNTAX        MplsLabelStackEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents one label which is
        to be pushed onto an outgoing packet, beneath the
        top label.  An entry can be created by a network
        administrator or by an SNMP agent as instructed by
        an MPLS signaling protocol."
   INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex }
   ::= { mplsLabelStackTable 1 }

MplsLabelStackEntry ::= SEQUENCE {
      mplsLabelStackIndex             Unsigned32,
      mplsLabelStackLabelIndex        Unsigned32,
      mplsLabelStackLabel             MplsLabel,
      mplsLabelStackRowStatus         RowStatus,
      mplsLabelStackStorageType       StorageType
   }

mplsLabelStackIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..2147483647)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Primary index for this row identifying a stack of
        labels to be pushed on an outgoing packet, beneath
        the top label."
   ::= { mplsLabelStackEntry 1 }

mplsLabelStackLabelIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..2147483647)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Secondary index for this row identifying one label
        of the stack.  Note that an entry with a smaller
        mplsLabelStackLabelIndex would refer to a label
        higher up the label stack and would be popped at a
        downstream LSR before a label represented by a
        higher mplsLabelStackLabelIndex at a downstream
        LSR."
   ::= { mplsLabelStackEntry 2 }

mplsLabelStackLabel OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The label to pushed."
   ::= { mplsLabelStackEntry 3 }

mplsLabelStackRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this row."
   ::= { mplsLabelStackEntry 4 }
   
mplsLabelStackStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Defines the storage type for this object. If this
        variable is set to readOnly(5), and the
        corresponding TFIB entry is removed, then the agent
        must remove this row shortly thereafter."
   ::= { mplsLabelStackEntry 5 }

-- End of mplsLabelStackTable

-- Traffic Parameter table.

mplsTrafficParamIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an appropriate value which will
        be used for mplsTrafficParamIndex when creating
        entries in the mplsTrafficParamTable.  The value 0
        indicates that no unassigned entries are available.
        To obtain the mplsTrafficParamIndex value for a new
        entry, the manager issues a management protocol
        retrieval operation to obtain the current value of
        this object.  After each retrieval operation, the
        agent should modify the value to reflect the next
        unassigned index.  After a manager retrieves a value
        the agent will determine through its local policy
        when this index value will be made available for
        reuse."
   ::= { mplsLsrObjects 13 }

mplsTrafficParamTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTrafficParamEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the Traffic Parameter objects
        for in and out-segments."
   ::= { mplsLsrObjects 14 }

mplsTrafficParamEntry OBJECT-TYPE
   SYNTAX        MplsTrafficParamEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents the TrafficParam
        objects for one or more in or out segments.  A
        single entry can be pointed to by multiple segments
        indicating resource sharing."
   INDEX { mplsTrafficParamIndex }
   ::= { mplsTrafficParamTable 1 }

MplsTrafficParamEntry ::= SEQUENCE {
      mplsTrafficParamIndex           Unsigned32,
      mplsTrafficParamMaxRate         MplsBitRate,
      mplsTrafficParamMeanRate        MplsBitRate,
      mplsTrafficParamMaxBurstSize    MplsBurstSize,
      mplsTrafficParamRowStatus       RowStatus,
      mplsTrafficParamStorageType     StorageType
   }

mplsTrafficParamIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..2147483647)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Uniquely identifies this row of the table.  Note
        that zero represents an invalid index."
   ::= { mplsTrafficParamEntry 1 }

mplsTrafficParamMaxRate OBJECT-TYPE
   SYNTAX        MplsBitRate
   UNITS         "kilobits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum rate in kilobits/second."
   ::= { mplsTrafficParamEntry 2 }

mplsTrafficParamMeanRate OBJECT-TYPE
   SYNTAX        MplsBitRate
   UNITS         "kilobits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Mean rate in kilobits/second."
   ::= { mplsTrafficParamEntry 3 }

mplsTrafficParamMaxBurstSize OBJECT-TYPE
   SYNTAX        MplsBurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum burst size in bytes."
   ::= { mplsTrafficParamEntry 4 }

mplsTrafficParamRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this row."
   ::= { mplsTrafficParamEntry 5 }
   
mplsTrafficParamStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The storage type for this object. If this variable
        is set to readOnly(5), and the corresponding TFIB
        entry is removed, then the agent must remove this
        row shortly thereafter."
   ::= { mplsTrafficParamEntry 6 }

-- End of mplsTrafficParamTable

-- Notification Configuration

mplsXCTrapEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "If this object is set to true(1), then it enables
        the emission of mplsXCUp and mplsXCDown
        notifications; otherwise these notifications are not
        emitted."
   DEFVAL { false }
   ::= { mplsLsrObjects 15 }

-- Cross-connect.

mplsXCUp NOTIFICATION-TYPE
   OBJECTS     {
      mplsXCOperStatus,  -- start of range
      mplsXCOperStatus   -- end of range
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when the
        mplsXCOperStatus object for one or more contiguous
        entries in mplsXCTable are about to enter the up(1)
        state from some other.  The included values of
        mplsXCOperStatus MUST both be set equal to this
        other state.  The two instances of mplsXCOperStatus
        in this notification indicate the range of indexes
        that are affected.  Note that all the indexes of the
        two ends of the range can be derived from the
        instance identifiers of these two objects.  For
        cases where a contiguous range of cross-connects
        have transitioned into the up(1) state at roughly
        the same time, the device SHOULD issue a single
        notification for each range of contiguous indexes in
        an effort to minimize the emission of a large number
        of notifications.  If a notification has to be
        issued for just a single cross-connect entry, then
        the instance identifier (and values) of the two
        mplsXCOperStatus objects MUST be the identical."
   ::= { mplsLsrNotifyPrefix 1 }

mplsXCDown NOTIFICATION-TYPE
   OBJECTS     {
      mplsXCOperStatus,  -- start of range
      mplsXCOperStatus   -- end of range
   }
   STATUS      current
   DESCRIPTION
       " This notification is generated when the
        mplsXCOperStatus object for one or more contiguous
        entries in mplsXCTable are about to enter the
        down(2) state from some other.  The included values
        of mplsXCOperStatus MUST both be set equal to this
        other state.  The two instances of mplsXCOperStatus
        in this notification indicate the range of indexes
        that are affected.  Note that all the indexes of the
        two ends of the range can be derived from the
        instance identifiers of these two objects.  For
        cases where a contiguous range of cross-connects
        have transitioned into the down(2) state at roughly
        the same time, the device SHOULD issue a single
        notification for each range of contiguous indexes in
        an effort to minimize the emission of a large number
        of notifications.  If a notification has to be
        issued for just a single cross-connect entry, then
        the instance identifier (and values) of the two
        mplsXCOperStatus objects MUST be the identical."
   ::= { mplsLsrNotifyPrefix 2 }

-- End of notifications.


-- Module compliance.

mplsLsrGroups
   OBJECT IDENTIFIER ::= { mplsLsrConformance 1 }

mplsLsrCompliances
   OBJECT IDENTIFIER ::= { mplsLsrConformance 2 }

mplsLsrModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
       "Compliance statement for agents that support the
        MPLS LSR MIB."
   MODULE -- this module

      -- The mandatory groups have to be implemented
      -- by all LSRs.  However, they may all be supported
      -- as read-only objects in the case where manual
      -- configuration is unsupported.

      MANDATORY-GROUPS {
         mplsInSegmentGroup,
         mplsOutSegmentGroup,
         mplsXCGroup,
         mplsInterfaceGroup,
         mplsPerfGroup,
         mplsSegmentDiscontinuityGroup
      }

      GROUP mplsHCInSegmentPerfGroup
      DESCRIPTION
          "This group is mandatory for those in-segment
           entries for which the object
           mplsInSegmentOutOctets wraps around too
           quickly."

      GROUP mplsHCOutSegmentPerfGroup
      DESCRIPTION
          "This group is mandatory for those out-segment
           entries for which the object
           mplsOutSegmentOctets wraps around too quickly."
          
      GROUP mplsTrafficParamGroup
      DESCRIPTION
          "This group is mandatory for those LSRs that
           support QoS resource reservation."

      -- Depending on whether the device implements
      -- persistent cross-connects or not one of the
      -- following two groups is mandatory.

      GROUP mplsXCIsPersistentGroup
      DESCRIPTION
          "This group is mandatory for devices which
           support persistent cross-connects.  The
           following constraints apply: mplsXCIsPersistent
           must at least be read-only returning true(2)."
      GROUP mplsXCIsNotPersistentGroup
      DESCRIPTION
          "This group is mandatory for devices which
           support non-persistent cross-connects.  The
           following constraints apply: mplsXCIsPersistent
           must at least be read-only returning false(1)."


      -- mplsInSegmentTable
          
      OBJECT     mplsInSegmentXCIndex
      DESCRIPTION
          "Write access is not required."

      OBJECT      mplsInSegmentNPop
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required.  This object
           should be set to 1 if it is read-only."

      OBJECT      mplsInSegmentAddrFamily
      DESCRIPTION
          "Write access is not required.  A <value of
           other(0) should be supported because there may
           be cases where the agent may not know about or
           support any address types."

      OBJECT      mplsInSegmentStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- mplsOutSegmentTable

      OBJECT      mplsOutSegmentIfIndex
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsOutSegmentPushTopLabel
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      mplsOutSegmentTopLabel
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      OBJECT      mplsOutSegmentNextHopIpAddrType
      MIN-ACCESS  read-only
      DESCRIPTION
          "ipV6(3) need not be supported."

      OBJECT      mplsOutSegmentNextHopIpv4Addr
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      mplsOutSegmentNextHopIpv6Addr
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      mplsOutSegmentRowStatus
      SYNTAX      INTEGER {
         active(1),
         notInService(2),
         createAndGo(4),
         destroy(6)
      }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."
      OBJECT      mplsOutSegmentStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- mplsXCTable

      OBJECT      mplsXCLabelStackIndex
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      mplsXCIsPersistent
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      mplsXCAdminStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "A value of testing(3) need not be supported."
      OBJECT      mplsXCOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      DESCRIPTION
          "Only up(1) and down(2) need to be supported."
      
      OBJECT      mplsXCRowStatus
      SYNTAX      INTEGER {
         active(1),
         notInService(2),
         createAndGo(4),
         destroy(6)
      }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."
      
      OBJECT      mplsXCStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

   ::= { mplsLsrCompliances 1 }


-- Units of conformance.

mplsInterfaceGroup OBJECT-GROUP
   OBJECTS {
      mplsInterfaceLabelMinIn,
      mplsInterfaceLabelMaxIn,
      mplsInterfaceLabelMinOut,
      mplsInterfaceLabelMaxOut,
      mplsInterfaceTotalBandwidth,
      mplsInterfaceAvailableBandwidth,
      mplsInterfaceLabelParticipationType
   }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed for MPLS interface
           configuration and performance information."
   ::= { mplsLsrGroups 1 }

mplsInSegmentGroup  OBJECT-GROUP
   OBJECTS {
      mplsInSegmentNPop,
      mplsInSegmentAddrFamily,
      mplsInSegmentXCIndex,
      mplsInSegmentOctets,
      mplsInSegmentDiscards,
      mplsInSegmentOwner,
      mplsInSegmentRowStatus,
      mplsInSegmentStorageType,
      mplsInSegmentTrafficParamPtr
   }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed to implement an in-
           segment."
   ::= { mplsLsrGroups 2 }

mplsOutSegmentGroup  OBJECT-GROUP
   OBJECTS {
      mplsOutSegmentIndexNext,
      mplsOutSegmentIfIndex,
      mplsOutSegmentPushTopLabel,
      mplsOutSegmentTopLabel,
      mplsOutSegmentNextHopIpAddrType,
      mplsOutSegmentNextHopIpv4Addr,
      mplsOutSegmentNextHopIpv6Addr,
      mplsOutSegmentXCIndex,
      mplsOutSegmentOwner,
      mplsOutSegmentOctets,
      mplsOutSegmentDiscards,
      mplsOutSegmentErrors,
      mplsOutSegmentRowStatus,
      mplsOutSegmentStorageType,
      mplsOutSegmentTrafficParamPtr
   }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed to implement an out-
           segment."
   ::= { mplsLsrGroups 3 }

mplsXCGroup  OBJECT-GROUP
   OBJECTS {
      mplsXCIndexNext,
      mplsXCLabelStackIndex,
      mplsXCOwner,
      mplsXCAdminStatus,
      mplsXCOperStatus,
      mplsXCRowStatus,
      mplsXCTrapEnable,
      mplsXCStorageType
   }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed to implement a
           cross-connect entry."
   ::= { mplsLsrGroups 4 }

mplsXCOptionalGroup  OBJECT-GROUP
   OBJECTS { mplsXCLspId }
   STATUS  current
   DESCRIPTION
          "Collection of optional objects for implementing
           a cross-connect entry."
   ::= { mplsLsrGroups 5 }

mplsPerfGroup OBJECT-GROUP
   OBJECTS {
      mplsInSegmentOctets,
      mplsInSegmentPackets,
      mplsInSegmentErrors,
      mplsInSegmentDiscards,
      mplsOutSegmentOctets,
      mplsOutSegmentPackets,
      mplsOutSegmentDiscards,
      mplsInterfaceInLabelsUsed,
      mplsInterfaceFailedLabelLookup,
      mplsInterfaceOutFragments,
      mplsInterfaceOutLabelsUsed
   }
   
   STATUS  current
   DESCRIPTION
          "Collection of objects providing performance
           information
        about an LSR."
   ::= { mplsLsrGroups 6 }

mplsHCInSegmentPerfGroup OBJECT-GROUP
   OBJECTS { mplsInSegmentHCOctets }
   STATUS  current
   DESCRIPTION
          "Object(s) providing performance information
           specific to out-segments for which the object
           mplsInterfaceInOctets wraps around too quickly."
   ::= { mplsLsrGroups 7 }

mplsHCOutSegmentPerfGroup OBJECT-GROUP
   OBJECTS { mplsOutSegmentHCOctets }
   STATUS  current
   DESCRIPTION
          "Object(s) providing performance information
           specific to out-segments for which the object
           mplsInterfaceOutOctets wraps around too
           quickly."
   ::= { mplsLsrGroups 8 }
   
mplsTrafficParamGroup OBJECT-GROUP
   OBJECTS {
      mplsTrafficParamIndexNext,
      mplsTrafficParamMaxRate,
      mplsTrafficParamMeanRate,
      mplsTrafficParamMaxBurstSize,
      mplsTrafficParamRowStatus,
      mplsTrafficParamStorageType
   }
   STATUS  current
   DESCRIPTION
          "Object(s) required for supporting QoS resource
           reservation."
   ::= { mplsLsrGroups 9 }

mplsXCIsPersistentGroup OBJECT-GROUP
   OBJECTS { mplsXCIsPersistent }
   STATUS  current
   DESCRIPTION
          "Objects needed to support persistent cross-
           connects."
   ::= { mplsLsrGroups 10 }

mplsXCIsNotPersistentGroup OBJECT-GROUP
   OBJECTS { mplsXCIsPersistent }
   STATUS  current
   DESCRIPTION
          "Objects needed to support non-persistent cross-
           connects."
   ::= { mplsLsrGroups 11 }
   
mplsLabelStackGroup OBJECT-GROUP
   OBJECTS {
      mplsLabelStackLabel,
      mplsLabelStackRowStatus,
      mplsLabelStackStorageType,
      mplsMaxLabelStackDepth,
      mplsLabelStackIndexNext
   }
   STATUS current
   DESCRIPTION
          "Objects needed to support label stacking."
      ::= { mplsLsrGroups 12 }
      
mplsSegmentDiscontinuityGroup OBJECT-GROUP
   OBJECTS {
      mplsInSegmentPerfDiscontinuityTime,
      mplsOutSegmentPerfDiscontinuityTime
   }
   STATUS  current
   DESCRIPTION
       " A collection of objects providing information
        specific to segment discontinuities.."
   ::= { mplsLsrGroups 13 }

mplsLsrNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
      mplsXCUp,
      mplsXCDown
   }
   STATUS  current
   DESCRIPTION
          "Set of notifications implemented in this module.
           None is mandatory."
   ::= { mplsLsrGroups 14 }

END


HP-SN-MPLS-TE-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Integer32, Unsigned32, Counter32, Counter64, TimeTicks
      FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF
   TruthValue, RowStatus, RowPointer, StorageType,
   DisplayString, TimeStamp
      FROM SNMPv2-TC
   InterfaceIndexOrZero
      FROM IF-MIB
   mplsMIB, MplsBitRate, MplsBurstSize, MplsLSPID,
   MplsTunnelIndex, MplsTunnelInstanceIndex,
   MplsTunnelAffinity, MplsLsrIdentifier, MplsPathIndex,
   MplsPathIndexOrZero
      FROM HP-SN-MPLS-TC-MIB
   InetAddressIPv4, InetAddressIPv6
      FROM INET-ADDRESS-MIB
   snMpls
        FROM HP-SN-ROOT-MIB;

mplsTeMIB MODULE-IDENTITY
   LAST-UPDATED
      "200201041200Z" -- 4 January 2002 12:00:00 GMT
   ORGANIZATION
      "Multiprotocol Label Switching (MPLS) Working Group"
   CONTACT-INFO
        "
                 Cheenu Srinivasan
         Postal: Parama Networks, Inc.
                 1030 Broad Street
                 Shrewsbury, NJ 07702
         Tel:    +1-732-544-9120 x731
         Email:  cheenu@paramanet.com
        
                 Arun Viswanathan
         Postal: Force10 Networks, Inc.
                 1440 McCarthy Blvd
                 Milpitas, CA 95035
         Tel:    +1-408-571-3516
         Email:  arun@force10networks.com
        
                 Thomas D. Nadeau
         Postal: Cisco Systems, Inc.
                 250 Apollo Drive
                 Chelmsford, MA 01824
         Tel:    +1-978-244-3051
         Email:  tnadeau@cisco.com
        
        "
   DESCRIPTION
        "This MIB module contains managed object definitions
          for MPLS Traffic Engineering (TE) as defined in:
         1. Extensions to RSVP for LSP Tunnels, Awduche et
          al, RFC 3209, December 2001
         2. Constraint-Based LSP Setup using LDP, Jamoussi
          (Editor), Internet Draft <draft-ietf-mpls-cr-ldp-
          06.txt>, November 2001
         3. Requirements for Traffic Engineering Over MPLS,
          Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M.,
          and J. McManus, RFC 2702, September 1999"
        
   
   -- Revision history.
   
   REVISION
        "200201041200Z"  -- 4 January 2002 12:00:00 GMT
   DESCRIPTION
        "Initial draft version issues as part of RFC XXXX."
   
   ::= { mplsMIB 3 }

-- Top level components of this MIB.

-- tables, scalars
mplsTeScalars       OBJECT IDENTIFIER ::= { mplsTeMIB 1 }
mplsTeObjects       OBJECT IDENTIFIER ::= { mplsTeMIB 2 }

-- traps
mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeMIB 3 }
mplsTeNotifyPrefix  OBJECT IDENTIFIER ::= { mplsTeNotifications 0 }

-- conformance
mplsTeConformance   OBJECT IDENTIFIER ::= { mplsTeMIB 4 }


-- MPLS Tunnel scalars.
mplsTunnelConfigured OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "The number of tunnels configured on this device. A
          tunnel is considered configured if the
          mplsTunnelRowStatus is active(1)."
   ::= { mplsTeScalars 1 }

mplsTunnelActive OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "The number of tunnels active on this device. A
          tunnel is considered active if the
          mplsTunnelOperStatus is up(1)."
   ::= { mplsTeScalars 2 }

mplsTunnelTEDistProto OBJECT-TYPE
   SYNTAX        BITS {
          other (0),
          ospf (1),
          isis (2)
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "The traffic engineering distribution protocol(s)
          used by this LSR. Note that an LSR may support more
          than one distribution protocol simultaneously."
   ::= { mplsTeScalars 3 }

mplsTunnelMaxHops OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "The maximum number of hops that can be specified for
          a tunnel on this device."
   ::= { mplsTeScalars 4 }

-- End of MPLS Tunnel scalars.


-- MPLS tunnel table.

mplsTunnelIndexNext OBJECT-TYPE
   SYNTAX        Integer32 (0..65535)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "This object contains the next appropriate value to
          be used for mplsTunnelIndex when creating entries
          in  mplsTunnelTable. If the number of unassigned
          entries is exhausted, a retrival operation will
          return a value of 0.  This object may also return a
          value of 0 when the LSR is unable to accept
          conceptual row creation, for example, if the
          mplsTunnelTable is implemented as read-only. To
          obtain the value of mplsTunnelIndex for a new
          entry, the manager must first issue a management
          protocol retrieval operation to obtain the current
          value of this object. The agent should modify the
          value to reflect the next unassigned index after
          each retrieval operation. After a manager retrieves
          a value the agent will determine through its local
          policy when this index value will be made available
          for reuse."
   ::= { mplsTeObjects 1 }

mplsTunnelTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The mplsTunnelTable allows new MPLS tunnels to be
          created between an LSR and a remote endpoint, and
          existing tunnels to be reconfigured or removed.
          Note that only point-to-point tunnel segments are
          supported, although multi-point-to-point and point-
          to-multi-point connections are supported by an LSR
          acting as a cross-connect.  Each MPLS tunnel can
          thus have one out-segment originating at this LSR
          and/or one in-segment terminating at this LSR."
   ::= { mplsTeObjects 2 }

mplsTunnelEntry OBJECT-TYPE
   SYNTAX        MplsTunnelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table represents an MPLS tunnel.
          An entry can be created by a network administrator
          or by an SNMP agent as instructed by an MPLS
          signaling protocol. Whenever a new entry is created
          with mplsTunnelIsIf set to true(1), then a
          corresponding entry is created in ifTable as well
          (see RFC 2863). The ifType of this entry is
          mplsTunnel(150)."
   REFERENCE
        "1. RFC 2863 - The Interfaces Group MIB, McCloghrie,
          K., and F. Kastenholtz, June 2000
         2. RFC 1700 - Assigned Numbers, Reynolds, J. and J.
          Postel, Oct. 1994"
   INDEX {
      mplsTunnelIndex,
      mplsTunnelInstance,
      mplsTunnelIngressLSRId,
      mplsTunnelEgressLSRId
   }
   ::= { mplsTunnelTable 1 }

MplsTunnelEntry ::= SEQUENCE {
      mplsTunnelIndex              MplsTunnelIndex,
      mplsTunnelInstance           MplsTunnelInstanceIndex,
      mplsTunnelIngressLSRId       MplsLsrIdentifier,
      mplsTunnelEgressLSRId        MplsLsrIdentifier,
      mplsTunnelName               DisplayString,
      mplsTunnelDescr              DisplayString,
      mplsTunnelIsIf               TruthValue,
      mplsTunnelIfIndex            InterfaceIndexOrZero,
      mplsTunnelXCPointer          RowPointer,
      mplsTunnelSignallingProto    INTEGER,
      mplsTunnelSetupPrio          Integer32,
      mplsTunnelHoldingPrio        Integer32,
      mplsTunnelSessionAttributes  BITS,
      mplsTunnelOwner              INTEGER,
      mplsTunnelLocalProtectInUse  TruthValue,
      mplsTunnelResourcePointer    RowPointer,
      mplsTunnelInstancePriority   Unsigned32,
      mplsTunnelHopTableIndex      MplsPathIndexOrZero,
      mplsTunnelARHopTableIndex    MplsPathIndexOrZero,
      mplsTunnelCHopTableIndex     MplsPathIndexOrZero,
      mplsTunnelPrimaryInstance    MplsTunnelInstanceIndex,
      mplsTunnelPrimaryTimeUp      TimeTicks,
      mplsTunnelPathChanges        Counter32,
      mplsTunnelLastPathChange     TimeTicks,
      mplsTunnelCreationTime       TimeStamp,
      mplsTunnelStateTransitions   Counter32,
      mplsTunnelIncludeAnyAffinity MplsTunnelAffinity,
      mplsTunnelIncludeAllAffinity MplsTunnelAffinity,
      mplsTunnelExcludeAllAffinity MplsTunnelAffinity,
      mplsTunnelPathInUse          MplsPathIndexOrZero,
      mplsTunnelRole               INTEGER,
      mplsTunnelTotalUpTime        TimeTicks,
      mplsTunnelInstanceUpTime     TimeTicks,
      mplsTunnelAdminStatus        INTEGER,
      mplsTunnelOperStatus         INTEGER,
      mplsTunnelRowStatus          RowStatus,
      mplsTunnelStorageType        StorageType
   }

mplsTunnelIndex OBJECT-TYPE
   SYNTAX        MplsTunnelIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Uniquely identifies this row."
   ::= { mplsTunnelEntry 1 }

mplsTunnelInstance OBJECT-TYPE
   SYNTAX        MplsTunnelInstanceIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Uniquely identifies an instance of a tunnel. It is
          useful to identify multiple instances of tunnels
          for the purposes of backup and parallel tunnels."
   ::= { mplsTunnelEntry 2 }

mplsTunnelIngressLSRId OBJECT-TYPE
   SYNTAX        MplsLsrIdentifier
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The purpose of this object is to uniquely identity a
          tunnel within a network. When the MPLS signalling
          protoocol is rsvp(2) this value SHOULD mimic the
          Extended Tunnel Id field in the SESSION object.
          When the MPLS signalling protoocol is crldp(3) this
          value SHOULD mimic the Ingress LSR Router ID field
          in the LSPID TLV object."
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001
         2. Constraint-Based LSP Setup using LDP, Jamoussi
          (Editor), Internet Draft <draft-ietf-mpls-cr-ldp-
          06.txt>, November 2001"
   ::= { mplsTunnelEntry 3 }

mplsTunnelEgressLSRId OBJECT-TYPE
   SYNTAX        MplsLsrIdentifier
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Specifies the egress LSR ID."
   ::= { mplsTunnelEntry 4 }

mplsTunnelName OBJECT-TYPE
   SYNTAX        DisplayString
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The canonical name assigned to the tunnel. This name
          can be used to refer to the tunnel on the LSR's
          console port.  If mplsTunnelIsIf is set to true
          then the ifName of the interface corresponding to
          this tunnel should have a value equal to
          mplsTunnelName.  Also see the description of ifName
          in RFC 2863."
   REFERENCE
        "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
          and F. Kastenholtz, June 2000"
   ::= { mplsTunnelEntry 5 }

mplsTunnelDescr OBJECT-TYPE
   SYNTAX        DisplayString
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "A textual string containing information about the
          tunnel.  If there is no description this object
          contains a zero length string."
   ::= { mplsTunnelEntry 6 }

mplsTunnelIsIf OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Denotes whether or not this tunnel corresponds to an
          interface represented in the interfaces group
          table. Note that if this variable is set to true
          then the ifName of the interface corresponding to
          this tunnel should have a value equal to
          mplsTunnelName.  Also see the description of ifName
          in RFC 2863."
   REFERENCE
        "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
          and F. Kastenholtz, June 2000"
   DEFVAL        { false }
   ::= { mplsTunnelEntry 7 }

mplsTunnelIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelIsIf is set to true, then this value
          contains the LSR-assigned ifIndex which corresponds
          to an entry in the interfaces table.  Otherwise
          this variable should contain the value of zero
          indicating that a valid ifIndex was not assigned to
          this tunnel interface."
   REFERENCE
        "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
          and F. Kastenholtz, June 2000"
   ::= { mplsTunnelEntry 8 }

mplsTunnelXCPointer OBJECT-TYPE
   SYNTAX        RowPointer
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable points to a row in the mplsXCTable.
          This table identifies the segments that compose
          this tunnel, their characteristics, and
          relationships to each other. A value of zeroDotZero
          indicates that no LSP has been associated with this
          tunnel yet."
   REFERENCE
        "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS
          Label Switch Router Management Information Base,
          Internet Draft <draft-ietf-mpls-lsr-mib-08.txt>,
          December 2001."
   ::= { mplsTunnelEntry 9 }

mplsTunnelSignallingProto OBJECT-TYPE
   SYNTAX       INTEGER {
                     none(1),
                     rsvp(2),
                     crldp(3),
                     other(4)
                     }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The signaling protocol, if any, which was used to
          setup this tunnel."
   DEFVAL        { none }
   ::= { mplsTunnelEntry 10 }

mplsTunnelSetupPrio OBJECT-TYPE
   SYNTAX        Integer32 (0..7)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
      "Indicates the setup priority of this tunnel."
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001
         2. Constraint-Based LSP Setup using LDP, Jamoussi
          (Editor), Internet Draft <draft-ietf-mpls-cr-ldp-
          06.txt>, November 2001"
   ::= { mplsTunnelEntry 11 }

mplsTunnelHoldingPrio OBJECT-TYPE
   SYNTAX        Integer32 (0..7)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Indicates the holding priority for this tunnel."
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC3209, December 2001
         2. Constraint-Based LSP Setup using LDP, Jamoussi
          (Editor), Internet Draft <draft-ietf-mpls-cr-ldp-
          06.txt>, November 2001"
   ::= { mplsTunnelEntry 12 }

mplsTunnelSessionAttributes OBJECT-TYPE
   SYNTAX      BITS {
                  fastReroute (0),
                  mergingPermitted (1),
                  isPersistent (2),
                  isPinned (3),
                  recordRoute(4)
                 }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This bitmask indicates optional session values for
          this tunnel. The following describes these
          bitfields:
        
        fastRerouteThis flag indicates that the any tunnel
          hop may choose to reroute this tunnel without
          tearing it down.  This flag permits transit routers
          to use a local repair mechanism which may result in
          violation of the explicit routing of this tunnel.
          When a fault is detected on an adjacent downstream
          link or node, a transit router can reroute traffic
          for fast service restoration.
        
        mergingPermitted This flag permits transit routers
          to merge this session with other RSVP sessions for
          the purpose of reducing resource overhead on
          downstream transit routers, thereby providing
          better network scalability.
        
        isPersistent  Indicates whether this tunnel should
          be restored automatically after a failure occurs.
        
        isPinned   This flag indicates whether the loose-
          routed hops of this tunnel are to be pinned.
        
        recordRouteThis flag indicates whether or not the
          signaling protocol should remember the tunnel path
          after it has been signaled."
        
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001."

   ::= { mplsTunnelEntry 13 }

mplsTunnelOwner OBJECT-TYPE
   SYNTAX        INTEGER {
      admin(1), -- represents all management entities
      rsvp(2),
      crldp(3),
      policyAgent(4),
      other(5)
   }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Indicates which protocol created and is responsible
          for managing this tunnel. Values rsvp(2) and
          crldp(3) should not be used at the head-end of a
          MPLS tunnel."
   ::= { mplsTunnelEntry 14 }

mplsTunnelLocalProtectInUse  OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Indicates that the local repair mechanism is in use
          to maintain this tunnel (usually in the face of an
          outage of the link it was previously routed over)."
   ::= { mplsTunnelEntry 15 }

mplsTunnelResourcePointer OBJECT-TYPE
   SYNTAX        RowPointer
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable represents a pointer to the traffic
          parameter specification for this tunnel.  This
          value may point at an entry in the
          mplsTunnelResourceEntry to indicate which
          mplsTunnelResourceEntry is to be assigned to this
          segment.  This value may optionally point at an
          externally defined traffic parameter specification
          table.  A value of zeroDotZero indicates best-
          effort treatment.  By having the same value of this
          object, two or more segments can indicate resource
          sharing."
   ::= { mplsTunnelEntry 16 }

mplsTunnelInstancePriority OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This value indicates which priority, in descending
          order, with 0 indicating the lowest priority,
          within a group of tunnel instances. A group of
          tunnel instances is defined as a set of tunnels
          with the same mplsTunnelIndex in this table, but
          with a different mplsTunnelInstance. Tunnel group
          priorities are used to denote the priority at which
          a particular tunnel instance will supercede
          another. Instances of tunnels containing the same
          mplsTunnelInstancePriority will be used for load
          sharing."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 17 }

mplsTunnelHopTableIndex OBJECT-TYPE
   SYNTAX         MplsPathIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Index into the mplsTunnelHopTable entry that
          specifies the explicit route hops for this tunnel."
   ::= { mplsTunnelEntry 18 }

mplsTunnelARHopTableIndex OBJECT-TYPE
   SYNTAX        MplsPathIndexOrZero
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Index into the mplsTunnelARHopTable entry that
          specifies the actual hops traversed by the tunnel."
   ::= { mplsTunnelEntry 19 }

mplsTunnelCHopTableIndex OBJECT-TYPE
   SYNTAX        MplsPathIndexOrZero
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Index into the mplsTunnelCHopTable entry that
          specifies the computed hops traversed by the
          tunnel."
   ::= { mplsTunnelEntry 20 }

mplsTunnelPrimaryInstance OBJECT-TYPE
   SYNTAX         MplsTunnelInstanceIndex
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Specifies the instance index of the primary instance
          of this tunnel."
   ::= { mplsTunnelEntry 21 }

mplsTunnelPrimaryTimeUp OBJECT-TYPE
   SYNTAX        TimeTicks
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Specifies the total time the primary instance of
          this tunnel has been active. The primary instance
          of this tunnel is defined in
          mplsTunnelPrimaryInstance."
   ::= { mplsTunnelEntry 22 }

mplsTunnelPathChanges OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Specifies the number of times the paths has changed
          for this tunnel."
   ::= { mplsTunnelEntry 23 }

mplsTunnelLastPathChange OBJECT-TYPE
   SYNTAX        TimeTicks
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Specifies the time since the last path change for
          this tunnel."
   ::= { mplsTunnelEntry 24 }

mplsTunnelCreationTime OBJECT-TYPE
   SYNTAX        TimeStamp
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Specifies the value of SysUpTime when the first
          instance of this tunnel came into existence."
   ::= { mplsTunnelEntry 25 }

mplsTunnelStateTransitions OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Specifies the number of times the state of this
          tunnel instance has changed."
   ::= { mplsTunnelEntry 26 }

mplsTunnelIncludeAnyAffinity OBJECT-TYPE
   SYNTAX        MplsTunnelAffinity
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "A link satisfies the include-any constraint if and
          only if the constraint is zero, or the link and the
          constraint have a resource class in common."
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001."
   ::= { mplsTunnelEntry 27 }

mplsTunnelIncludeAllAffinity OBJECT-TYPE
   SYNTAX        MplsTunnelAffinity
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "A link satisfies the include-all constraint if and
          only if the link contains all of the adminstrative
          groups specified in the constraint."
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001."
   ::= { mplsTunnelEntry 28 }

mplsTunnelExcludeAllAffinity OBJECT-TYPE
   SYNTAX        MplsTunnelAffinity
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "A link satisfies the exclude-all constraint if and
          only if the link contains none of the adminstrative
          groups specifie in the constraint."
   REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001."
   ::= { mplsTunnelEntry 29 }

mplsTunnelPathInUse OBJECT-TYPE
   SYNTAX        MplsPathIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This value denotes the configured path that was
          chosen for this tunnel. This value reflects the
          secondary index into mplsTunnelHopTable. This path
          may not exactly match the one in
          mplsTunnelARHopTable due to the fact that some CSPF
          modification may have taken place. See
          mplsTunnelARHopTable for the actual path being
          taken by the tunnel. A value of zero denotes that
          no path is currently in use or available."
   ::= { mplsTunnelEntry 30 }

mplsTunnelRole OBJECT-TYPE
   SYNTAX        INTEGER { head(1), transit(2), tail(3) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This value signifies the role that this tunnel
          entry/instance represents. This value MUST be set
          to head(1) at the originating point of the tunnel.
          This value MUST be set to transit(2) at transit
          points along the tunnel, if transit points are
          supported. This value MUST be set to tail(3) at the
          terminating point of the tunnel if tunnel tails are
          supported."
      ::= { mplsTunnelEntry 31 }

mplsTunnelTotalUpTime OBJECT-TYPE
   SYNTAX        TimeTicks
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This value represents the aggregate up time for all
          instances of this tunnel, if available. If this
          value is unavailable, it MUST return a value of 0."
      ::= { mplsTunnelEntry 32 }

mplsTunnelInstanceUpTime OBJECT-TYPE
   SYNTAX        TimeTicks
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This value identifies the total time that this
          tunnel instance's operStatus has been Up(1)."
      ::= { mplsTunnelEntry 33 }

mplsTunnelAdminStatus OBJECT-TYPE
   SYNTAX     INTEGER {
                   -- ready to pass packets
                   up(1),
                   down(2),
                   -- in some test mode
                   testing(3)
             }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Indicates the desired operational status of this
          tunnel."
   ::= { mplsTunnelEntry 34 }

mplsTunnelOperStatus OBJECT-TYPE
   SYNTAX     INTEGER {
               -- ready to pass packets
               up(1),
               down(2),
               -- in some test mode
               testing(3),
               -- status cannot be determined
               unknown(4),
               dormant(5),
               -- some component is missing
               notPresent(6),
               -- down due to the state of
               -- lower layer interfaces
               lowerLayerDown(7)
             }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Indicates the actual operational status of this
          tunnel, which is typically but not limited to, a
          function of the state of individual segments of
          this tunnel."
   ::= { mplsTunnelEntry 35 }

mplsTunnelRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable is used to create, modify, and/or
          delete a row in this table."
   ::= { mplsTunnelEntry 36 }

mplsTunnelStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable indicates the storage type for this
          object."
   ::= { mplsTunnelEntry 37 }

-- End of mplsTunnelTable


mplsTunnelHopListIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..2147483647)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "This object contains an appropriate value to be used
          for mplsTunnelHopListIndex when creating entries in
          the mplsTunnelHopTable.  If the number of
          unassigned entries is exhausted, a retrival
          operation will return a value of 0.  This object
          may also return a value of 0 when the LSR is unable
          to accept conceptual row creation, for example, if
          the mplsTunnelHopTable is implemented as read-only.
          To obtain the value of mplsTunnelHopListIndex for a
          new entry in the mplsTunnelHopTable, the manager
          issues a management protocol retrieval operation to
          obtain the current value of mplsTunnelHopIndex.
          After each retrieval operation, the agent should
          modify the value to reflect the next unassigned
          index.  After a manager retrieves a value the agent
          will determine through its local policy when this
          index value will be made available for reuse."
   ::= { mplsTeObjects 3 }

mplsTunnelHopTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The mplsTunnelHopTable is used to indicate the hops,
          strict or loose, for an MPLS tunnel defined in
          mplsTunnelTable, when it is established via
          signaling, for the outgoing direction of the
          tunnel.  Each row in this table is indexed by
          mplsTunnelHopListIndex.  Each row also has a
          secondary index mplsTunnelHopIndex corresponding to
          the next hop that this row corresponds to.  The
          first row in the table is the first hop after the
          origination point of the tunnel.  In case we want
          to specify a particular interface on the
          originating LSR of an outgoing tunnel by which we
          want packets to exit the LSR, we specify this as
          the first hop for this tunnel in
          mplsTunnelHopTable."
   ::= { mplsTeObjects 4 }

mplsTunnelHopEntry  OBJECT-TYPE
   SYNTAX        MplsTunnelHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table represents a tunnel hop.  An
          entry is created by a network administrator for
          signaled ERLSP set up by an MPLS signaling
          protocol."
   INDEX {
      mplsTunnelHopListIndex,
      mplsTunnelHopPathOptionIndex,
      mplsTunnelHopIndex
   }
   ::= { mplsTunnelHopTable 1 }

MplsTunnelHopEntry ::= SEQUENCE {
      mplsTunnelHopListIndex          MplsPathIndex,
      mplsTunnelHopPathOptionIndex    MplsPathIndex,
      mplsTunnelHopIndex              MplsPathIndex,
      mplsTunnelHopAddrType           INTEGER,
      mplsTunnelHopIpv4Addr           InetAddressIPv4,
      mplsTunnelHopIpv4PrefixLen      Unsigned32,
      mplsTunnelHopIpv6Addr           InetAddressIPv6,
      mplsTunnelHopIpv6PrefixLen      Unsigned32,
      mplsTunnelHopAsNumber           Unsigned32,
      mplsTunnelHopLspId              MplsLSPID,
      mplsTunnelHopType               INTEGER,
      mplsTunnelHopIncludeExclude     INTEGER,
      mplsTunnelHopPathOptionName     DisplayString,
      mplsTunnelHopEntryPathComp      INTEGER,
      mplsTunnelHopRowStatus          RowStatus,
      mplsTunnelHopStorageType        StorageType
   }

mplsTunnelHopListIndex OBJECT-TYPE
   SYNTAX         MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Primary index into this table identifying a
          particular explicit route object."
   ::= { mplsTunnelHopEntry 1 }

mplsTunnelHopPathOptionIndex OBJECT-TYPE
   SYNTAX        MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Secondary index into this table identifying a
          particular group of hops representing a particular
          configured path. This is otherwise known as a path
          option."
   ::= { mplsTunnelHopEntry 2 }

mplsTunnelHopIndex OBJECT-TYPE
   SYNTAX        MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Secondary index into this table identifying a
          particular hop."
   ::= { mplsTunnelHopEntry 3 }

mplsTunnelHopAddrType OBJECT-TYPE
   SYNTAX        INTEGER {
                       ipV4(1),
                       ipV6(2),
                       asNumber(3),
                       lspid(4)
                     }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Denotes the address type of this tunnel hop.  Note
          that lspId(4) is a valid option only for tunnels
          signaled via CRLDP."
   DEFVAL        { ipV4 }
   ::= { mplsTunnelHopEntry 4 }

mplsTunnelHopIpv4Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv4
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If mplsTunnelHopAddrType is set to ipV4(1), then
          this value will contain the IPv4 address of this

hop. If mplsTunnelHopAddrType is set to lspid(4),
          then this value will contain the Ingress LSR Router
          ID of the Tunnel. This object is otherwise
          insignificant and should contain a value of 0."
   ::= { mplsTunnelHopEntry 5 }

mplsTunnelHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX        Unsigned32 (0..32)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If mplsTunnelHopAddrType is ipV4(1), then the prefix
          length for this hop's IPv4 address is contained
          herein. This object is otherwise insignificant and
          should contain a value of 0."
   ::= { mplsTunnelHopEntry 6 }

mplsTunnelHopIpv6Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv6
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If the mplsTunnelHopAddrType is set to ipV6(2), then
          this variable contains the IPv6 address of this
          hop.  This object is otherwise insignificant and
          should contain a value of 0."
   ::= { mplsTunnelHopEntry 7 }

mplsTunnelHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX        Unsigned32 (0..128)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If mplsTunnelHopAddrType is set to ipV6(2), this
          value will contain the prefix length for this hop's
          IPv6 address. This object is otherwise
          insignificant and should contain a value of 0."
   ::= { mplsTunnelHopEntry 8 }

mplsTunnelHopAsNumber OBJECT-TYPE
   SYNTAX        Unsigned32 (0..65535)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If mplsTunnelHopAddrType is set to asNumber(3), then
          this value will contain the AS number of this hop.
          This object is otherwise insignificant and should
          contain a value of 0 to indicate this fact."
   ::= { mplsTunnelHopEntry 9 }

mplsTunnelHopLspId OBJECT-TYPE
   SYNTAX        MplsLSPID
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If mplsTunnelHopAddrType is set to lspid(4), then
          this value will contain the LSPID of a tunnel of
          this hop. The present tunnel being configured is
          tunneled through this hop (using label stacking).
          This object is otherwise insignificant and should
          contain a value of 0 to indicate this fact."
   ::= { mplsTunnelHopEntry 10 }

mplsTunnelHopType OBJECT-TYPE
   SYNTAX        INTEGER {
                      strict(1),
                      loose(2)
                     }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "Denotes whether this tunnel hop is routed in a
          strict or loose fashion."
   ::= { mplsTunnelHopEntry 11 }

mplsTunnelHopIncludeExclude OBJECT-TYPE
   SYNTAX        INTEGER {
                      include(1),
                      exclude(2)
                 }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If this value is set to include(1), then this
          indicates that this hop must be included in the
          tunnel's path. If this value is set to exclude(2),
          then this hop must be avoided when calculating the
          path for this tunnel. The default value of this
          object is include(1), so that by default all
          indicated hops are included in the CSPF path
          computation."
   DEFVAL { include }
   ::= { mplsTunnelHopEntry 12 }

mplsTunnelHopPathOptionName OBJECT-TYPE
   SYNTAX        DisplayString
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The description of this series of hops as they
          relate to the specified path option."
   ::= { mplsTunnelHopEntry 13 }

mplsTunnelHopEntryPathComp OBJECT-TYPE
   SYNTAX        INTEGER {
                      dynamic(1),    -- CSPF computed
                      explicit(2)    -- strict hop
                  }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "If this value is set to dynamic, then the user
          should only specify the source and destination of
          the path and expect that the CSPF will calculate
          the remainder of the path.  If this value is set to
          explicit, the user should specify the entire path
          for the tunnel to take.  This path may contain
          strict or loose hops.  Each hop along a specific
          path should have this object set to the same value"
   ::= { mplsTunnelHopEntry 14 }

mplsTunnelHopRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable is used to create, modify, and/or
          delete a row in this table."
   ::= { mplsTunnelHopEntry 15 }

mplsTunnelHopStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable indicates the storage type for this
          object."
   ::= { mplsTunnelHopEntry 16 }

-- End of mplsTunnelHopTable

-- Begin of mplsTunnelResourceTable

mplsTunnelResourceIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0.. 2147483647)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "This object contains the next appropriate value to
          be used for mplsTunnelResourceIndex when creating
          entries in the mplsTunnelResourceTable. If the
          number of unassigned entries is exhausted, a
          retrival operation will return a value of 0.  This
          object may also return a value of 0 when the LSR is
          unable to accept conceptual row creation, for
          example, if the mplsTunnelTable is implemented as
          read-only.  To obtain the mplsTunnelResourceIndex
          value for a new entry, the manager must first issue
          a management protocol retrieval operation to obtain
          the current value of this object. The agent should
          modify the value to reflect the next unassigned
          index after each retrieval operation. After a
          manager retrieves a value the agent will determine
          through its local policy when this index value will
          be made available for reuse."
   ::= { mplsTeObjects 5 }

mplsTunnelResourceTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelResourceEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The mplsTunnelResourceTable allows a manager to
          specify which resources are desired for an MPLS
          tunnel.  This table also allows several tunnels to
          point to a single entry in this table, implying
          that these tunnels should share resources."
   ::= { mplsTeObjects 6 }

mplsTunnelResourceEntry OBJECT-TYPE
   SYNTAX        MplsTunnelResourceEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table represents a set of resources
          for an MPLS tunnel.  An entry can be created by a
          network administrator or by an SNMP agent as
          instructed by any MPLS signaling protocol."
   INDEX         { mplsTunnelResourceIndex }
   ::= { mplsTunnelResourceTable 1 }

MplsTunnelResourceEntry ::= SEQUENCE {
      mplsTunnelResourceIndex                Unsigned32,
      mplsTunnelResourceMaxRate              MplsBitRate,
      mplsTunnelResourceMeanRate             MplsBitRate,
      mplsTunnelResourceMaxBurstSize         MplsBurstSize,
      mplsTunnelResourceMeanBurstSize        MplsBurstSize,
      mplsTunnelResourceExcessBurstSize      MplsBurstSize,
      mplsTunnelResourceFrequency            INTEGER,
      mplsTunnelResourceWeight               Unsigned32,
      mplsTunnelResourceRowStatus            RowStatus,
      mplsTunnelResourceStorageType          StorageType
   }

mplsTunnelResourceIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..2147483647)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Uniquely identifies this row."
   ::= { mplsTunnelResourceEntry 1 }

mplsTunnelResourceMaxRate OBJECT-TYPE
   SYNTAX        MplsBitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The maximum rate in bits/second.  Note that setting
          mplsTunnelResourceMaxRate,
          mplsTunnelResourceMeanRate, and
          mplsTunnelResourceMaxBurstSize to 0 indicates best-
          effort treatment.
         This object is copied to an instance of
          mplsTrafficParamMaxRate in mplsTrafficParamTable
          the OID of which is copied into the corresponding
          mplsInSegmentTrafficParamPtr."
   REFERENCE
        "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS
          Label Switch Router Management Information Base,
          Internet Draft <draft-ietf-mpls-lsr-mib-08.txt>,
          December 2001."
   ::= { mplsTunnelResourceEntry 2 }

mplsTunnelResourceMeanRate OBJECT-TYPE
   SYNTAX        MplsBitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This object is copied into an instance of
          mplsTrafficParamMeanRate in the
          mplsTrafficParamTable. The OID of this table entry
          is then copied into the corresponding
          mplsInSegmentTrafficParamPtr.
        
         When resource allocation is performed as requested
          by this TSpec object, it is copied into an entry in
          mplsTrafficParamTable [LSRMIB]:
          mplsTunnelInMeanRate to mplsTrafficParamMeanRate.
          The OID of this entry is copied to
          mplsInSegmentTrafficParamPtr of the corresponding
          in-segment entry."
   REFERENCE
        "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS
          Label Switch Router Management Information Base,
          Internet Draft <draft-ietf-mpls-lsr-mib-08.txt>,
          December 2001."
   ::= { mplsTunnelResourceEntry 3 }

mplsTunnelResourceMaxBurstSize OBJECT-TYPE
   SYNTAX        MplsBurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The maximum burst size in bytes.  This object is
          copied to mplsInSegmentMaxBurstSize of the
          corresponding in-segment.
        
         When resource allocation is performed as requested
          by this TSpec object, it is copied into an entry in
          mplsTrafficParamTable [LSRMIB]:
          mplsTunnelInMaxBurstSize to
          mplsTrafficParamMaxBurstSize. The OID of this entry
          is copied to mplsInSegmentTrafficParamPtr of the
          corresponding in-segment entry."
   REFERENCE
        "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS
          Label Switch Router Management Information Base,
          Internet Draft <draft-ietf-mpls-lsr-mib-08.txt>,
          December 2001."
   ::= { mplsTunnelResourceEntry 4 }

mplsTunnelResourceMeanBurstSize OBJECT-TYPE
   SYNTAX       MplsBurstSize
   UNITS        "bytes"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
        "The mean burst size in bytes.  The implementations
          which do not implement this variable must return 0
          for this value and must not allow a user to set
          this value."
   ::= { mplsTunnelResourceEntry 5 }

mplsTunnelResourceExcessBurstSize OBJECT-TYPE
   SYNTAX       MplsBurstSize
   UNITS        "bytes"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
        "The Excess burst size in bytes.  The implementations
          which do not implement this variable must return 0
          for this value and must not allow a user to set
          this value."
   REFERENCE
        "CR-LDP Specification, Section 4.3."
   ::= { mplsTunnelResourceEntry 6 }

mplsTunnelResourceFrequency  OBJECT-TYPE
   SYNTAX       INTEGER {
                     unspecified(1),
                     frequent(2),
                     veryFrequent(3)
                 }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
        "The granularity of the availability of committed
          rate.  The implementations which do not implement
          this variable must return unspecified(1) for this
          value and must not allow a user to set this value."
   REFERENCE
        "CR-LDP Specification, Section 4.3."
   ::= { mplsTunnelResourceEntry 7 }

mplsTunnelResourceWeight    OBJECT-TYPE
   SYNTAX       Unsigned32(0..255)
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
        "The relative weight for using excess bandwidth above
          its committed rate.  The value of 0 means that
          weight is not applicable for the CR-LSP."
   REFERENCE
        "CR-LDP Specification, Section 4.3."
   ::= { mplsTunnelResourceEntry 8 }

mplsTunnelResourceRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable is used to create, modify, and/or
          delete a row in this table."
   ::= { mplsTunnelResourceEntry 9 }

mplsTunnelResourceStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable indicates the storage type for this
          object."
   ::= { mplsTunnelResourceEntry 10 }


-- End mplsTunnelResourceTable

-- Tunnel Actual Route Hop table.

mplsTunnelARHopTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelARHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The mplsTunnelARHopTable is used to indicate the
          hops, strict or loose, for an MPLS tunnel defined
          in mplsTunnelTable, as reported by the MPLS
          signaling protocol, for the outgoing direction of
          the tunnel.  Each row in this table is indexed by
          mplsTunnelARHopListIndex.  Each row also has a
          secondary index mplsTunnelARHopIndex, corresponding
          to the next hop that this row corresponds to.  The
          first row in the table is the first hop after the
          origination point of the tunnel.  In case we want
          to specify a particular interface on the
          originating LSR of an outgoing tunnel by which we
          want packets to exit the LSR, we specify this as
          the first hop for this tunnel in
          mplsTunnelARHopTable.
        
         Please note that since the information necessary to
          build entries within this table are not provided by
          some MPLS signaling protocols, implementation of
          this table is optional. Furthermore, since the
          information in this table is actually provided by
          the MPLS signaling protocol after the path has been
          set-up, the entries in this table are provided only
          for observation, and hence, all variables in this
          table are accessible exclusively as read-only."
   ::= { mplsTeObjects 7 }

mplsTunnelARHopEntry  OBJECT-TYPE
   SYNTAX        MplsTunnelARHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table represents a tunnel hop.  An
          entry is created by a network administrator for
          signaled ERLSP set up by an MPLS signaling
          protocol."
   INDEX { mplsTunnelARHopListIndex, mplsTunnelARHopIndex }
   ::= { mplsTunnelARHopTable 1 }

MplsTunnelARHopEntry ::= SEQUENCE {
      mplsTunnelARHopListIndex          MplsPathIndex,
      mplsTunnelARHopIndex              MplsPathIndex,
      mplsTunnelARHopAddrType           INTEGER,
      mplsTunnelARHopIpv4Addr           InetAddressIPv4,
      mplsTunnelARHopIpv4PrefixLen      Unsigned32,
      mplsTunnelARHopIpv6Addr           InetAddressIPv6,
      mplsTunnelARHopIpv6PrefixLen      Unsigned32,
      mplsTunnelARHopAsNumber           Unsigned32,
      mplsTunnelARHopLspId              MplsLSPID
   }

mplsTunnelARHopListIndex OBJECT-TYPE
   SYNTAX        MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Primary index into this table identifying a
          particular recorded hop list."
   ::= { mplsTunnelARHopEntry 1 }

mplsTunnelARHopIndex OBJECT-TYPE
   SYNTAX        MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Secondary index into this table identifying the
          particular hop."
   ::= { mplsTunnelARHopEntry 2 }

mplsTunnelARHopAddrType OBJECT-TYPE
   SYNTAX        INTEGER {
                      ipV4(1),
                      ipV6(2),
                      asNumber(3),
                      lspId(4)
                   }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Denotes the address type of this tunnel hop."
   DEFVAL        { ipV4 }
   ::= { mplsTunnelARHopEntry 3 }

mplsTunnelARHopIpv4Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv4
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelARHopAddrType is set to ipV4(1), then
          this value will contain the IPv4 address of this
          hop. This object is otherwise insignificant and
          should contain a value of 0."
   ::= { mplsTunnelARHopEntry 4 }

mplsTunnelARHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX        Unsigned32 (0..32)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelARHopAddrType is ipV4(1), then the
          prefix length for this hop's IPv4 address is
          contained herein. This object is otherwise
          insignificant and should contain a value of 0."
   ::= { mplsTunnelARHopEntry 5 }

mplsTunnelARHopIpv6Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv6
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If the mplsTunnelARHopAddrType is set to ipV6(2),
          then this variable contains the IPv6 address of
          this hop.  This object is otherwise insignificant
          and should contain a value of 0."
   ::= { mplsTunnelARHopEntry 6 }

mplsTunnelARHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX        Unsigned32 (0..128)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelARHopAddrType is set to ipV6(2), this
          value will contain the prefix length for this hop's
          IPv6 address. This object is otherwise
          insignificant and should contain a value of 0."
   ::= { mplsTunnelARHopEntry 7 }

mplsTunnelARHopAsNumber OBJECT-TYPE
   SYNTAX        Unsigned32 (0..65535)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelARHopAddrType is set to asNumber(3),
          then this value will contain the AS number of this
          hop. This object is otherwise insignificant and
          should contain a value of 0 to indicate this fact."
   ::= { mplsTunnelARHopEntry 8 }

mplsTunnelARHopLspId OBJECT-TYPE
   SYNTAX        MplsLSPID
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelARHopAddrType is set to lspid(4), then
          this value will contain the LSP ID of this hop.
          This object is otherwise insignificant and should
          contain a value of 0 to indicate this fact."
   ::= { mplsTunnelARHopEntry 9 }


-- End of mplsTunnelARHopTable


-- Tunnel Computed Hop table.

mplsTunnelCHopTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelCHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The mplsTunnelCHopTable is used to indicate the
          hops, strict or loose, for an MPLS tunnel defined
          in mplsTunnelTable, as computed by a constraint-
          based routing protocol, based on the
          mplsTunnelHopTable for the outgoing direction of
          the tunnel.  Each row in this table is indexed by
          mplsTunnelCHopListIndex.  Each row also has a
          secondary index mplsTunnelCHopIndex, corresponding
          to the next hop that this row corresponds to.  The
          first row in the table is the first hop after the
          origination point of the tunnel.  In case we want
          to specify a particular interface on the
          originating LSR of an outgoing tunnel by which we
          want packets to exit the LSR, we specify this as
          the first hop for this tunnel in
          mplsTunnelCHopTable.
        
         Please note that since the information necessary to
          build entries within this table may not be
          supported by some LSRs, implementation of this
          table is optional. Furthermore, since the
          information in this table is actually provided by
          routing protocol after the path has been computed,
          the entries in this table are provided only for
          observation, and hence, all variables in this table
          are accessible exclusively as read-only."
   ::= { mplsTeObjects 8 }

mplsTunnelCHopEntry  OBJECT-TYPE
   SYNTAX        MplsTunnelCHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table represents a tunnel hop.  An
          entry in this table is created by a constraint-
          based routing protocol based on the hops specified
          in the corresponding mplsTunnelHopTable."
   INDEX { mplsTunnelCHopListIndex, mplsTunnelCHopIndex }
   ::= { mplsTunnelCHopTable 1 }

MplsTunnelCHopEntry ::= SEQUENCE {
      mplsTunnelCHopListIndex          MplsPathIndex,
      mplsTunnelCHopIndex              MplsPathIndex,
      mplsTunnelCHopAddrType           INTEGER,
      mplsTunnelCHopIpv4Addr           InetAddressIPv4,
      mplsTunnelCHopIpv4PrefixLen      Unsigned32,
      mplsTunnelCHopIpv6Addr           InetAddressIPv6,
      mplsTunnelCHopIpv6PrefixLen      Unsigned32,
      mplsTunnelCHopAsNumber           Unsigned32,
      mplsTunnelCHopLspId              MplsLSPID,
      mplsTunnelCHopType               INTEGER
   }

mplsTunnelCHopListIndex OBJECT-TYPE
   SYNTAX        MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Primary index into this table identifying a
          particular computed hop list."
   ::= { mplsTunnelCHopEntry 1 }

mplsTunnelCHopIndex OBJECT-TYPE
   SYNTAX        MplsPathIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "Secondary index into this table identifying the
          particular hop."
   ::= { mplsTunnelCHopEntry 2 }

mplsTunnelCHopAddrType OBJECT-TYPE
   SYNTAX        INTEGER {
                     ipV4(1),
                     ipV6(2),
                     asNumber(3),
                     lspId(4)
                  }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Denotes the address type of this tunnel hop.  Note
          that lspId(4) is a valid option only for tunnels
          signaled via CRLDP."
   DEFVAL        { ipV4 }
   ::= { mplsTunnelCHopEntry 3 }

mplsTunnelCHopIpv4Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv4
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelCHopAddrType is set to ipV4(1), then
          this value will contain the IPv4 address of this
          hop. This object is otherwise insignificant and
          should contain a value of 0."
   ::= { mplsTunnelCHopEntry 4 }

mplsTunnelCHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX        Unsigned32 (0..32)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelCHopAddrType is ipV4(1), then the
          prefix length for this hop's IPv4 address is
          contained herein. This object is otherwise
          insignificant and should contain a value of 0."
   ::= { mplsTunnelCHopEntry 5 }

mplsTunnelCHopIpv6Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv6
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If the mplsTunnelCHopAddrType is set to ipV6(2),
          then this variable contains the IPv6 address of
          this hop.  This object is otherwise insignificant
          and should contain a value of 0."
   ::= { mplsTunnelCHopEntry 6 }

mplsTunnelCHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX        Unsigned32 (0..128)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelCHopAddrType is set to ipV6(2), this
          value will contain the prefix length for this hop's
          IPv6 address. This object is otherwise
          insignificant and should contain a value of 0."
   ::= { mplsTunnelCHopEntry 7 }

mplsTunnelCHopAsNumber OBJECT-TYPE
   SYNTAX        Unsigned32 (0..65535)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelCHopAddrType is set to asNumber(3),
          then this value will contain the AS number of this
          hop. This object is otherwise insignificant and
          should contain a value of 0 to indicate this fact."
   ::= { mplsTunnelCHopEntry 8 }

mplsTunnelCHopLspId OBJECT-TYPE
   SYNTAX        MplsLSPID
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "If mplsTunnelCHopAddrType is set to lspid(4), then
          this value will contain the LSP ID of this hop.
          This object is otherwise insignificant and should
          contain a value of 0 to indicate this fact."
   ::= { mplsTunnelCHopEntry 9 }

mplsTunnelCHopType OBJECT-TYPE
   SYNTAX        INTEGER {
          strict(1),
          loose(2)
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Denotes whether this is tunnel hop is routed in a
          strict or loose fashion."
   ::= { mplsTunnelCHopEntry 10 }
   
-- End of mplsTunnelCHopTable


-- MPLS Tunnel Performance Table.

mplsTunnelPerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "This table provides per-tunnel MPLS performance
          information."
   ::= { mplsTeObjects 9 }

mplsTunnelPerfEntry OBJECT-TYPE
   SYNTAX        MplsTunnelPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table is created by the LSR for
          every tunnel.  Its is an extension to
          mplsTunnelEntry."
   AUGMENTS { mplsTunnelEntry }
   ::= { mplsTunnelPerfTable 1 }
   
MplsTunnelPerfEntry ::= SEQUENCE {
      mplsTunnelPerfPackets           Counter32,
      mplsTunnelPerfHCPackets         Counter64,
      mplsTunnelPerfErrors            Counter32,
      mplsTunnelPerfBytes             Counter32,
      mplsTunnelPerfHCBytes           Counter64
   }

mplsTunnelPerfPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Number of packets forwarded by the tunnel."
   ::= { mplsTunnelPerfEntry 1 }

mplsTunnelPerfHCPackets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "High capacity counter for number of packets
          forwarded by the tunnel."
   ::= { mplsTunnelPerfEntry 2 }

mplsTunnelPerfErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Number of errored packets."
   ::= { mplsTunnelPerfEntry 3 }

mplsTunnelPerfBytes OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "Number of bytes forwarded by the tunnel."
   ::= { mplsTunnelPerfEntry 4 }

mplsTunnelPerfHCBytes OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
        "High capacity counter for number of bytes forwarded
          by the tunnel."
   ::= { mplsTunnelPerfEntry 5 }

-- End of mplsTunnelPerfTable


-- CR-LDP Tunnel Resource Table

mplsTunnelCRLDPResTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelCRLDPResEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "The mplsTunnelCRLDPResTable allows a manager to
          specify which CR-LDP-specific resources are desired
          for an MPLS tunnel if that tunnel is signaled using
          CR-LDP. Note that these attributes are in addition
          to those specified in mplsTunnelResourceTable. This
          table also allows several tunnels to point to a
          single entry in this table, implying that these
          tunnels should share resources."
   ::= { mplsTeObjects 10 }

mplsTunnelCRLDPResEntry OBJECT-TYPE
   SYNTAX        MplsTunnelCRLDPResEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
        "An entry in this table represents a set of resources
          for an MPLS tunnel established using CRLDP
          (mplsTunnelSignallingProto equal to crldp (3)). An
          entry can be created by a network administrator or
          by an SNMP agent as instructed by any MPLS
          signaling protocol."
   INDEX { mplsTunnelResourceIndex }
   ::= { mplsTunnelCRLDPResTable 1 }
MplsTunnelCRLDPResEntry ::= SEQUENCE {
      mplsTunnelCRLDPResMeanBurstSize   MplsBurstSize,
      mplsTunnelCRLDPResExcessBurstSize MplsBurstSize,
      mplsTunnelCRLDPResFrequency       INTEGER,
      mplsTunnelCRLDPResWeight          Unsigned32,
      mplsTunnelCRLDPResFlags           Unsigned32,
      mplsTunnelCRLDPResRowStatus       RowStatus,
      mplsTunnelCRLDPResStorageType     StorageType
   }

mplsTunnelCRLDPResMeanBurstSize OBJECT-TYPE
   SYNTAX        MplsBurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The mean burst size in bytes."
   ::= { mplsTunnelCRLDPResEntry 2 }

mplsTunnelCRLDPResExcessBurstSize OBJECT-TYPE
   SYNTAX        MplsBurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
     "The Excess burst size in bytes."
   REFERENCE
     "CR-LDP Specification, Section 4.3."
   ::= { mplsTunnelCRLDPResEntry 3 }

mplsTunnelCRLDPResFrequency OBJECT-TYPE
   SYNTAX  INTEGER {
         unspecified(1),
         frequent(2),
         veryFrequent(3)
      }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The granularity of the availability of committed
          rate."
   REFERENCE
        "CR-LDP Specification, Section 4.3."
   ::= { mplsTunnelCRLDPResEntry 4 }

mplsTunnelCRLDPResWeight OBJECT-TYPE
   SYNTAX        Unsigned32(0..255)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The relative weight for using excess bandwidth above
          its committed rate.  The value of 0 means that
          weight is not applicable for the CR-LSP."
   REFERENCE
        "CR-LDP Specification, Section 4.3."
   DEFVAL { 0 }
   ::= { mplsTunnelCRLDPResEntry 5 }

mplsTunnelCRLDPResFlags OBJECT-TYPE
   SYNTAX        Unsigned32 (0..63)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The value of the 1 byte Flags conveyed as part of
          the traffic parameters during the establishment of
          the CRLSP. The bits in this object are to be
          interpreted as follows.
        
          +--+--+--+--+--+--+--+--+
          | Res |F6|F5|F4|F3|F2|F1|
          +--+--+--+--+--+--+--+--+
        
        Res - These bits are reserved. Zero on transmission.
          Ignored on receipt.
        F1 - Corresponds to the PDR.
        F2 - Corresponds to the PBS.
        F3 - Corresponds to the CDR.
        F4 - Corresponds to the CBS.
        F5 - Corresponds to the EBS.
        F6 - Corresponds to the Weight.
        
        Each flag if is a Negotiable Flag corresponding to a
          Traffic Parameter. The Negotiable Flag value zero
          denotes Not Negotiable and value one denotes
          Negotiable."
    REFERENCE
        "1. Section 4.3, Constraint-Based LSP Setup using
          LDP, Jamoussi (Editor), Internet Draft <draft-ietf-
          mpls-crldp-06.txt>, November 2001"
    DEFVAL { 0 }
    ::= { mplsTunnelCRLDPResEntry 6 }

mplsTunnelCRLDPResRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable is used to create, modify, and/or
          delete a row in this table."
   ::= { mplsTunnelCRLDPResEntry 7 }

mplsTunnelCRLDPResStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "This variable indicates the storage type for this
          object."
   ::= { mplsTunnelCRLDPResEntry 8 }


-- Notifications.

mplsTunnelTrapEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
        "If this object is true, then it enables the
          generation of mplsTunnelUp and mplsTunnelDown
          traps, otherwise these traps are not emitted."
   DEFVAL { false }
   ::= { mplsTeObjects 11 }

mplsTunnelUp NOTIFICATION-TYPE
   OBJECTS     {
      mplsTunnelAdminStatus,
      mplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
        "This notification is generated when a
          mplsTunnelOperStatus object for one of the
          configured tunnels is about to leave the down state
          and transition into some other state (but not into
          the notPresent state).  This other state is
          indicated by the included value of
          mplsTunnelOperStatus."
   ::= { mplsTeNotifyPrefix 1 }

mplsTunnelDown NOTIFICATION-TYPE
   OBJECTS     {
      mplsTunnelAdminStatus,
      mplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
        "This notification is generated when a
          mplsTunnelOperStatus object for one of the
          configured tunnels is about to enter the down state
          from some other state (but not from the notPresent
          state).  This other state is indicated by the
          included value of mplsTunnelOperStatus."
   ::= { mplsTeNotifyPrefix 2 }

mplsTunnelRerouted NOTIFICATION-TYPE
   OBJECTS     {
      mplsTunnelAdminStatus,
      mplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
        "This notification is generated when a tunnel is
          rerouted. If the actual path is used, then this
          tunnel's entry MAY contain the new path for this
          tunnel some time after this trap is issued by the
          agent."
    ::= { mplsTeNotifyPrefix 3 }

mplsTunnelReoptimized NOTIFICATION-TYPE
   OBJECTS     {
      mplsTunnelAdminStatus,
      mplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
        "This notification is generated when a tunnel is
          reoptimized. If the actual path is used, then this
          tunnel's entry MAY contain the new path for this
          tunnel some time after this trap is issued by the
          agent."
    ::= { mplsTeNotifyPrefix 4 }

-- End of notifications.


-- Module compliance.

mplsTeGroups
   OBJECT IDENTIFIER ::= { mplsTeConformance 1 }

mplsTeCompliances
   OBJECT IDENTIFIER ::= { mplsTeConformance 2 }

mplsTeModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
        "Compliance statement for agents that support the
          MPLS TE MIB."
   MODULE -- this module

      -- The mandatory group has to be implemented by all
      -- LSRs that originate/terminate ESLSPs/tunnels.
      -- In addition, depending on the type of tunnels
      -- supported, other groups become mandatory as
      -- explained below.

      MANDATORY-GROUPS    {
         mplsTunnelGroup,
         mplsTunnelScalarGroup
      }

      GROUP mplsTunnelManualGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           manual configuration of tunnels, in addition to
           mplsTunnelGroup.  The following constraints apply:
           mplsTunnelSignallingProto should be at least read-
           only with a value of none(1)."

      GROUP mplsTunnelSignaledGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           signaled tunnel set up, in addition to
           mplsTunnelGroup.  The following constraints apply:
           mplsTunnelSignallingProto should be at least read-
           only returning a value of ldp(2), or rsvp(3)."

      GROUP mplsTunnelIsNotIntfcGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           tunnels that are not interfaces, in addition to
           mplsTunnelGroup.  The following constraints apply:
           mplsTunnelIsIf must at least be read-only
           returning false(1)."

      GROUP mplsTunnelIsIntfcGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           tunnels that are interfaces, in addition to
           mplsTunnelGroup.  The following constraints apply:
           mplsTunnelIsIf must at least be read-only
           returning true(2)."

      GROUP mplsTunnelOptionalGroup
      DESCRIPTION
          "Objects in this group are optional."

      -- mplsTunnelTable
      OBJECT      mplsTunnelName
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelDescr
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelIsIf
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelIfIndex
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelXCPointer
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelSignallingProto
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelSetupPrio
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHoldingPrio
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelSessionAttributes
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelOwner
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      OBJECT      mplsTunnelLocalProtectInUse
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourcePointer
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
          
      OBJECT      mplsTunnelInstancePriority
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
          
      OBJECT      mplsTunnelHopTableIndex
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT   mplsTunnelPrimaryInstance
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelPrimaryTimeUp
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelPathChanges
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelLastPathChange
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelCreationTime
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelStateTransitions
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      OBJECT      mplsTunnelARHopTableIndex
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelCHopTableIndex
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelAdminStatus
      SYNTAX      INTEGER { up (1), down (2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only up and down states must be supported. Write
           access is not required."
      
      OBJECT      mplsTunnelOperStatus
      SYNTAX      INTEGER { up (1), down (2) }
      DESCRIPTION
          "Only up and down states must be supported. Write
           access is not required."
      
      OBJECT      mplsTunnelRowStatus
      SYNTAX      INTEGER {
         active(1),
         notInService(2),
         createAndGo(4),
         destroy(6)
      }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported. Write access is not required."
      
      OBJECT      mplsTunnelStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other (1) needs to be supported."
          
      OBJECT      mplsTunnelPathInUse
      MIN-ACCESS  read-only
      DESCRIPTION
          "Read-only support is required."
          
      OBJECT      mplsTunnelRole
      SYNTAX      INTEGER { head(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only support for head is required."
      OBJECT       mplsTunnelTotalUpTime
      MIN-ACCESS  read-only
      DESCRIPTION
          "Read-only support is required."
          
      OBJECT       mplsTunnelInstanceUpTime
      MIN-ACCESS  read-only
      DESCRIPTION
          "Read-only support is required."
          
      -- mplsTunnelHopTable
      
      OBJECT      mplsTunnelHopAddrType
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopIpv4Addr
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopIpv4PrefixLen
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopIpv6Addr
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopIpv6PrefixLen
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopAsNumber
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopLspId
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopType
      SYNTAX      INTEGER { strict(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "loose(2) need not be supported. Write access is
           not required."
      
      OBJECT      mplsTunnelHopIncludeExclude
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopPathOptionName
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopEntryPathComp
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelHopRowStatus
      SYNTAX      INTEGER {
         active(1),
         notInService(2),
         createAndGo(4),
         destroy(6)
      }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported. Write access is not required."
      
      OBJECT      mplsTunnelHopStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other (1) needs to be supported."

      -- mplsTunnelResourceTable
      
      OBJECT      mplsTunnelResourceMaxRate
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceMeanRate
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceMaxBurstSize
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceMeanBurstSize
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceExcessBurstSize
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceFrequency
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceWeight
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelResourceRowStatus
      SYNTAX      INTEGER {
         active(1),
         notInService(2),
         createAndGo(4),
         destroy(6)
      }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported. Write access is not required."
      
      OBJECT      mplsTunnelResourceStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other (1) needs to be supported."

      -- mplsTunnelPerfTable
      
      OBJECT      mplsTunnelPerfPackets
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelPerfHCPackets
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelPerfErrors
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelPerfBytes
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
      OBJECT      mplsTunnelPerfHCBytes
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."
      
   ::= { mplsTeCompliances 1 }


-- Units of conformance.

mplsTunnelGroup OBJECT-GROUP
   OBJECTS {
      mplsTunnelIndexNext,
      mplsTunnelName,
      mplsTunnelDescr,
      mplsTunnelOwner,
      mplsTunnelXCPointer,
      mplsTunnelIfIndex,
      mplsTunnelHopTableIndex,
      mplsTunnelARHopTableIndex,
      mplsTunnelCHopTableIndex,
      mplsTunnelAdminStatus,
      mplsTunnelOperStatus,
      mplsTunnelRowStatus,
      mplsTunnelTrapEnable,
      mplsTunnelStorageType,
      mplsTunnelConfigured,
      mplsTunnelActive,
      mplsTunnelPrimaryInstance,
      mplsTunnelPrimaryTimeUp,
      mplsTunnelPathChanges,
      mplsTunnelLastPathChange,
      mplsTunnelCreationTime,
      mplsTunnelStateTransitions,
      mplsTunnelIncludeAnyAffinity,
      mplsTunnelIncludeAllAffinity,
      mplsTunnelExcludeAllAffinity,
      mplsTunnelPerfPackets,
      mplsTunnelPerfHCPackets,
      mplsTunnelPerfErrors,
      mplsTunnelPerfBytes,
      mplsTunnelPerfHCBytes,
      mplsTunnelResourcePointer,
      mplsTunnelInstancePriority,
      mplsTunnelPathInUse,
      mplsTunnelRole,
      mplsTunnelTotalUpTime,
      mplsTunnelInstanceUpTime
   }
   STATUS  current
   DESCRIPTION
        "Necessary, but not sufficient, set of objects to
          implement tunnels.  In addition, depending on the
          type of the tunnels supported (for example,
          manually configured or signaled, persistent or non-
          persistent, etc.), the following other groups
          defined below are mandatory: mplsTunnelManualGroup
          and/or mplsTunnelSignaledGroup,
          mplsTunnelIsNotIntfcGroup and/or
          mplsTunnelIsIntfcGroup."
   ::= { mplsTeGroups 1 }

mplsTunnelManualGroup  OBJECT-GROUP
   OBJECTS { mplsTunnelSignallingProto }
   STATUS  current
   DESCRIPTION
        "Object(s) needed to implement manually configured
          tunnels."
   ::= { mplsTeGroups 2 }

mplsTunnelSignaledGroup OBJECT-GROUP
   OBJECTS {
      mplsTunnelSetupPrio,
      mplsTunnelHoldingPrio,
      mplsTunnelSignallingProto,
      mplsTunnelLocalProtectInUse,
      mplsTunnelSessionAttributes,
      mplsTunnelHopListIndexNext,
      mplsTunnelHopAddrType,
      mplsTunnelHopIpv4Addr,
      mplsTunnelHopIpv4PrefixLen,
      mplsTunnelHopIpv6Addr,
      mplsTunnelHopIpv6PrefixLen,
      mplsTunnelHopAsNumber,
      mplsTunnelHopLspId,
      mplsTunnelHopType,
      mplsTunnelHopIncludeExclude,
      mplsTunnelHopPathOptionName,
      mplsTunnelHopEntryPathComp,
      mplsTunnelHopRowStatus,
      mplsTunnelHopStorageType
   }
   STATUS  current
   DESCRIPTION
        "Object needed to implement signaled tunnels."
   ::= { mplsTeGroups 3 }

mplsTunnelScalarGroup OBJECT-GROUP
   OBJECTS {
      mplsTunnelConfigured,
      mplsTunnelActive,
      mplsTunnelTEDistProto,
      mplsTunnelMaxHops
   }
   STATUS  current
   DESCRIPTION
        "Scalar object needed to implement MPLS tunnels."
   ::= { mplsTeGroups 4 }

mplsTunnelIsIntfcGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIsIf }
   STATUS  current
   DESCRIPTION
        "Objects needed to implement tunnels that are
          interfaces."
   ::= { mplsTeGroups 5 }

mplsTunnelIsNotIntfcGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIsIf }
   STATUS  current
   DESCRIPTION
        "Objects needed to implement tunnels that are not
          interfaces."
   ::= { mplsTeGroups 6 }

mplsTunnelOptionalGroup OBJECT-GROUP
   OBJECTS {
      mplsTunnelResourceIndexNext,
      mplsTunnelResourceMaxRate,
      mplsTunnelResourceMeanRate,
      mplsTunnelResourceMaxBurstSize,
      mplsTunnelResourceMeanBurstSize,
      mplsTunnelResourceExcessBurstSize,
      mplsTunnelResourceFrequency,
      mplsTunnelResourceWeight,
      mplsTunnelResourceRowStatus,
      mplsTunnelResourceStorageType,
      mplsTunnelARHopAddrType,
      mplsTunnelARHopIpv4Addr,
      mplsTunnelARHopIpv4PrefixLen,
      mplsTunnelARHopIpv6Addr,
      mplsTunnelARHopIpv6PrefixLen,
      mplsTunnelARHopAsNumber,
      mplsTunnelARHopLspId,
      mplsTunnelCHopAddrType,
      mplsTunnelCHopIpv4Addr,
      mplsTunnelCHopIpv4PrefixLen,
      mplsTunnelCHopIpv6Addr,
      mplsTunnelCHopIpv6PrefixLen,
      mplsTunnelCHopAsNumber,
      mplsTunnelCHopLspId,
      mplsTunnelCHopType
   }
   STATUS  current
   DESCRIPTION
        "The objects in this group are optional."
   ::= { mplsTeGroups 7 }
   
mplsTunnelCRLDPResOptionalGroup OBJECT-GROUP
   OBJECTS {
      mplsTunnelCRLDPResMeanBurstSize,
      mplsTunnelCRLDPResExcessBurstSize,
      mplsTunnelCRLDPResFrequency,
      mplsTunnelCRLDPResWeight,
      mplsTunnelCRLDPResFlags,
      mplsTunnelCRLDPResRowStatus,
      mplsTunnelCRLDPResStorageType
   }
   STATUS  current
   DESCRIPTION
        "Set of objects implemented for resources applicable
          for tunnels signaled using CR-LDP."
   ::= { mplsTeGroups 8 }

mplsTeNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
      mplsTunnelUp,
      mplsTunnelDown,
      mplsTunnelRerouted,
      mplsTunnelReoptimized
   }
   STATUS  current
   DESCRIPTION
        "Set of notifications implemented in this module.
          None is mandatory."
   ::= { mplsTeGroups 9 }


END

























HP-SN-TRAP-MIB DEFINITIONS ::= BEGIN

-- Router Switch Trap MIB Release 1.0.0
-- Revision 06/02/97

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

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

-- SECTION 1: Top Level Definitions


-- Imports


IMPORTS
   TRAP-TYPE              FROM RFC-1215
   hp                FROM HP-SN-ROOT-MIB
   snChasPwrSupplyStatus,
   snAgGblTrapMessage,
   snAgentBrdIndex,
   snChasPwrSupplyIndex,
   snChasPwrSupplyDescription,
   snChasFanIndex,
   snChasFanDescription   FROM HP-SN-AGENT-MIB
   snSwViolatorPortNumber,
   snSwViolatorMacAddress FROM HP-SN-SWITCH-GROUP-MIB
   snL4MaxSessionLimit,
   snL4TcpSynLimit,
   snL4TrapRealServerIP, 
   snL4TrapRealServerName,
   snL4TrapRealServerPort,
   snL4TrapRealServerCurConnections FROM HP-SN-SW-L4-SWITCH-GROUP-MIB;


-- Textual Conventions

-- Groups

-- SECTION 2: MIB Objects


-- Trap Information

-- These definitions use the TRAP-TYPE macro as defined in RFC 1215.

-- Foundry Networks, Inc. Specific Traps

snTrapChasPwrSupply TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snChasPwrSupplyStatus }
   DESCRIPTION
       "The SNMP trap that is generated when a power supply fails
        to operate normally. The value is a packed bit string;
        the 2 power supplies status are encoded into 4 bits
        (a nibble). 
        The following shows the meaning of each bit:
        (bit 0 is the least significant bit).

        bit position   meaning
        ------------   -------
        4-31	 reserved
        3		 Power  Supply 2 DC (0=bad, 1=good).
        2		 Power  Supply 1 DC (0=bad, 1=good).
        1		 Power  Supply 2 present status (0=present, 1=not-present).
        0		 Power  Supply 1 present status (0=present, 1=not-present)."
	--#TYPE "Foundry Trap: Power Supply Failure"
	--#SUMMARY "Power supply fails, error status %d."
	--#ARGUMENTS { 0 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 1

snTrapLockedAddressViolation TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snSwViolatorPortNumber, snSwViolatorMacAddress }
   DESCRIPTION
       "The SNMP trap that is generated when more source MAC addresses
        are received from a port than the maximum number of addresses
        configured to that port."
	--#TYPE "Foundry Trap: MAC Addresses Violation"
	--#SUMMARY "Lock address violation on Port %d with MAC Address %s."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 2

-- Trap IDs from 3 through 18 are used by OSPF. See Router Trap mib for definitions.

snTrapL4MaxSessionLimitReached TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4MaxSessionLimit }
   DESCRIPTION
       "The SNMP trap that is generated when the maximum number
       of connections reached."
	--#TYPE "Foundry Trap: L4 Session Limit"
	--#SUMMARY "SLB maximum number of connections  %d has been reached."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 19


snTrapL4TcpSynLimitReached TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4TcpSynLimit }
   DESCRIPTION
       "The SNMP trap that is generated when the number of TCP
       SYN limits reached."
	--#TYPE "Foundry Trap: L4 TCP Syn Limit"
	--#SUMMARY "SLB TCP Syn limits %d has been reached."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 20


snTrapL4RealServerUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4TrapRealServerIP, snL4TrapRealServerName }
   DESCRIPTION
       "The SNMP trap that is generated when the load balancing
       real server is up."
	--#TYPE "Foundry Trap: L4 Real Server Up"
	--#SUMMARY "SLB real server %s %s is up."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 21


snTrapL4RealServerDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4TrapRealServerIP, snL4TrapRealServerName }
   DESCRIPTION
       "The SNMP trap that is generated when the load balancing
       real server is down."
	--#TYPE "Foundry Trap: L4 Real Server Down"
	--#SUMMARY "SLB real server %s %s is down."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 22


snTrapL4RealServerPortUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4TrapRealServerIP, snL4TrapRealServerName, snL4TrapRealServerPort }
   DESCRIPTION
       "The SNMP trap that is generated when the load balancing
       real server TCP port is up."
	--#TYPE "Foundry Trap: L4 Real Server Port Up"
	--#SUMMARY "SLB real server port %s %s %d is up."
	--#ARGUMENTS { 0, 1, 2 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 23


snTrapL4RealServerPortDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4TrapRealServerIP, snL4TrapRealServerName, snL4TrapRealServerPort }
   DESCRIPTION
       "The SNMP trap that is generated when the load balancing
       real server TCP port is down."
	--#TYPE "Foundry Trap: L4 Real Server Port Down"
	--#SUMMARY "SLB real server port %s %s %d is down."
	--#ARGUMENTS { 0, 1, 2 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 24


snTrapL4RealServerMaxConnectionLimitReached TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snL4TrapRealServerIP, snL4TrapRealServerName, snL4TrapRealServerCurConnections }
   DESCRIPTION
       "The SNMP trap that is generated when the real server reaches
       maximum number of connections."
	--#TYPE "Foundry Trap: L4 Real Server Max Connection Limit"
	--#SUMMARY "SLB real server %s %s maximum connection %d has been reached."
	--#ARGUMENTS { 0, 1, 2 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 25


snTrapL4BecomeStandby TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the server load
       balancing switch changes state from active to standby."
	--#TYPE "Foundry Trap: L4 Server On Standby"
	--#SUMMARY "SLB changes state from active to standby."
	--#ARGUMENTS { }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 26


snTrapL4BecomeActive TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the server load
       balancing switch changes state from standby to active."
	--#TYPE "Foundry Trap: L4 Server Active"
	--#SUMMARY "SLB changes state from standby to active."
	--#ARGUMENTS { }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 27


snTrapModuleInserted TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgentBrdIndex }
   DESCRIPTION
       "The SNMP trap that is generated when a module was inserted
       to the chassis during system running."
	--#TYPE "Foundry Trap: Module Inserted"
	--#SUMMARY "Module %d was inserted to the chassis during system running."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 28


snTrapModuleRemoved TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgentBrdIndex }
   DESCRIPTION
       "The SNMP trap that is generated when a module was removed
       from the chassis during system running."
	--#TYPE "Foundry Trap: Module Removed"
	--#SUMMARY "Module %d was removed from the chassis during system running."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 29


snTrapChasPwrSupplyFailed TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snChasPwrSupplyIndex, snChasPwrSupplyDescription }
   DESCRIPTION
       "The SNMP trap that is generated when a power supply operational
        status changed from normal to failure."
	--#TYPE "Foundry Trap: Power Supply Failure"
	--#SUMMARY "Power supply %d (%s)  failed."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 30


snTrapChasFanFailed TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snChasFanIndex, snChasFanDescription }
   DESCRIPTION
       "The SNMP trap that is generated when a fan fails
        to operate normally."
	--#TYPE "Foundry Trap: Fan Failure"
	--#SUMMARY "Fan  %d (%s)  failed."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 31


snTrapLockedAddressViolation2 TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when more source MAC addresses
        are received from a port than the maximum number of addresses
        configured to that port."
	--#TYPE "Foundry Trap: Lock Address Violation"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 32


snTrapFsrpIfStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a FSRP routing device
       changed state from active to standby or vice-versa."
	--#TYPE "Foundry Trap: FSRP Interface Change"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 33

snTrapVrrpIfStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a VRRP routing device
       switched between states master, backup, intialized or uknown."
	--#TYPE "Foundry Trap: VRRP Interface Change"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 34


snTrapMgmtModuleRedunStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the management module
       changes redundancy state."
	--#TYPE "Foundry Trap: Management Module Change State"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 35


snTrapTemperatureWarning TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the actual temperature
       reading is above the warning temperature threshold."
	--#TYPE "Foundry Trap: Temperature Warning"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY CRITICAL
	--#STATE OPERATIONAL
   ::= 36

snTrapAccessListDeny TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a packet was denied
       by an access list."
	--#TYPE "Foundry Trap: Deny from ACL"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 37

snTrapMacFilterDeny TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a packet was denied
       by a MAC address filter."
	--#TYPE "Foundry Trap: Deny from MAC Filter"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 38

snTrapL4GslbRemoteUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the connection to the remote SI is established."
	--#TYPE "Foundry Trap: Remote SI Up"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 39

snTrapL4GslbRemoteDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the connection to the remote SI is down."
	--#TYPE "Foundry Trap: Remote SI Down"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 40

snTrapL4GslbRemoteControllerUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the connection to the GSLB SI is established."
	--#TYPE "Foundry Trap: Remote GSLB SI Up"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 41

snTrapL4GslbRemoteControllerDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the connection to the GSLB SI is down."
	--#TYPE "Foundry Trap: Remote GSLB SI Down"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 42

snTrapL4GslbHealthCheckIpUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when GSLB health check for an address transitions
	   from down to active state."
	--#TYPE "Foundry Trap: GSLB HealtCheck Up"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 43

snTrapL4GslbHealthCheckIpDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when GSLB health check for an address transitions
	   from active to down state."
	--#TYPE "Foundry Trap: GSLB HealthCheck Down"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 44

snTrapL4GslbHealthCheckIpPortUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a given port for a health check address is up."
	--#TYPE "Foundry Trap: GSLB HealthCheck Port Up"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 45

snTrapL4GslbHealthCheckIpPortDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a given port for a health check address is down."
	--#TYPE "Foundry Trap: GSLB HealthCheck Port Down"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 46

snTrapL4FirewallBecomeStandby TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the server load
       balancing switch Firewall changes state from active to standby."
	--#TYPE "Foundry Trap: Firewall Standby"
	--#SUMMARY "Firewall changes state from active to standby."
	--#ARGUMENTS { }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 47


snTrapL4FirewallBecomeActive TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the server load
       balancing switch Firewall changes state from standby to active."
	--#TYPE "Foundry Trap: Firewall Active"
	--#SUMMARY "Firewall changes state from standby to active."
	--#ARGUMENTS { }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 48

snTrapL4FirewallPathUp TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the server load
       balancing switch Firewall path is up."
	--#TYPE "Foundry Trap: Firewall Path Up"
	--#SUMMARY "Firewall path is up."
	--#ARGUMENTS { }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 49


snTrapL4FirewallPathDown TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the server load
       balancing switch Firewall path is down."
	--#TYPE "Foundry Trap: Firewall Path Down"
	--#SUMMARY "Firewall path is down."
	--#ARGUMENTS { }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 50

snTrapIcmpLocalExceedBurst TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when incoming ICMP exceeds burst-MAX."
	--#TYPE "Foundry Trap: ICMP Burst Exceeded"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 51

snTrapIcmpTransitExceedBurst TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when transit ICMP exceeds burst-MAX."
	--#TYPE "Foundry Trap: Transit ICMP Burst Exceeded"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 52

snTrapTcpLocalExceedBurst TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when incoming TCP SYN exceeds burst-MAX."
	--#TYPE "Foundry Trap: TCP SYN Burst Exceeded"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 53

snTrapTcpTransitExceedBurst TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when transit TCP exceeds burst-MAX."
	--#TYPE "Foundry Trap: Transit TCP SYN Burst Exceeded"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 54

snTrapL4ContentVerification TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "The SNMP trap that is generated when the HTTP match-list pattern
       is found."
	--#TYPE "Foundry Trap: HTTP Match"
	--#SUMMARY "HTTP match-list pattern is found."
	--#ARGUMENTS { }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 55

snTrapDuplicateIp TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "Duplicate IP address detected."
	--#TYPE "Foundry Trap: Duplicate IP"
	--#SUMMARY "Duplicate IP address detect."
	--#ARGUMENTS { }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 56

snTrapMplsProblem TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "MPLS Problem Detected."
	--#TYPE "Foundry Trap: MPLS Problem"
	--#SUMMARY "MPLS Problem detect."
	--#ARGUMENTS { }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 57

snTrapMplsException TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "MPLS Exception Detected."
	--#TYPE "Foundry Trap: MPLS Exception"
	--#SUMMARY "MPLS Exception detect."
	--#ARGUMENTS { }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 58
   
snTrapMplsAudit TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "MPLS Audit Trap."
	--#TYPE "Foundry Trap: MPLS Audit"
	--#SUMMARY "MPLS Audit Trap."
	--#ARGUMENTS { }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 59
   
snTrapMplsDeveloper TRAP-TYPE
   ENTERPRISE hp
   DESCRIPTION
       "MPLS Developer Trap."
	--#TYPE "Foundry Trap: MPLS Developer"
	--#SUMMARY "MPLS Developer Trap."
	--#ARGUMENTS { }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 60

snTrapNoBmFreeQueue TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when no free queue is available in buffer manager."
	--#TYPE "Foundry Trap: No BM Free Queue"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 61

snTrapSmcDmaDrop TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when SMC DMA packet is dropped."
	--#TYPE "Foundry Trap: SMC DMA Packet Dropped"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 62

snTrapSmcBpDrop TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when SMC BackPlane packet is dropped."
	--#TYPE "Foundry Trap: SMC BP Packet Dropped"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 63

snTrapBmWriteSeqDrop TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when BM write sequence packet is dropped."
	--#TYPE "Foundry Trap: BM Write Sequence Packet Dropped"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 64

snTrapBgpPeerUp TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the bgp peer is up."
	--#TYPE "Foundry Trap: BGP Peer Up"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 65

snTrapBgpPeerDown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the bgp peer is down."
	--#TYPE "Foundry Trap: BGP Peer Down"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 66

snTrapL4RealServerResponseTimeLowerLimit TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the real server average response time exceeds lower threshold."
	--#TYPE "Foundry Trap: L4 Real Server Response Exceeds Lower Threshold"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 67

snTrapL4RealServerResponseTimeUpperLimit TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the real server average response time exceeds upper threshold."
	--#TYPE "Foundry Trap: L4 Real Server Response Exceeds Upper Threshold"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 68

snTrapL4TcpAttackRateExceedMax TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the TCP attack rate exceeds configured maximum."
	--#TYPE "Foundry Trap: L4 TCP Attack Rate Exceed Max"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY CRITICAL
	--#STATE OPERATIONAL
   ::= 69

snTrapL4TcpAttackRateExceedThreshold TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the TCP attack rate exceeds 80% of configured maximum."
	--#TYPE "Foundry Trap: L4 TCP Attack Rate Exceed Threshold"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 70

snTrapL4ConnectionRateExceedMax TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the L4 connection rate exceeds configured maximum."
	--#TYPE "Foundry Trap: L4 Connection Rate Exceed Max"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY CRITICAL
	--#STATE OPERATIONAL
   ::= 71

snTrapL4ConnectionRateExceedThreshold TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the L4 connection rate exceeds 80% of configured maximum"
	--#TYPE "Foundry Trap: L4 Connection Rate Exceed Threshold"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 72

snTrapRunningConfigChanged TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the running configuration
        was changed."
	--#TYPE "Foundry Trap: Running Configuration Changed"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 73

snTrapStartupConfigChanged TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when the startup configuration
        was changed."
	--#TYPE "Foundry Trap: Startup Configuration Changed"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 74

snTrapUserLogin TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when user login."
	--#TYPE "Foundry Trap: User Login"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 75

snTrapUserLogout TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when user logout."
	--#TYPE "Foundry Trap: User Logout"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 76

snTrapPortSecurityViolation TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when insecure MAC addresses
        are received from a port with MAC security feature enabled."
	--#TYPE "Foundry Trap: Port Security Violation"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 77

snTrapPortSecurityShutdown TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when insecure MAC addresses
        are received from a port caused the port to shutdown."
	--#TYPE "Foundry Trap: Port Security Violation Cause Shutdown"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 78

snTrapMrpStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a MRP switching and routing device
       changed state to  disabled, blocking, preforwarding, forwarding, uknown."
	--#TYPE "Foundry Trap: MRP Interface Change"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 79

snTrapMrpCamError TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a MRP Cam Error occurs."
	--#TYPE "Foundry Trap: MRP Cam Error"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 80

snTrapChasPwrSupplyOK TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snChasPwrSupplyIndex, snChasPwrSupplyDescription }
   DESCRIPTION
       "The SNMP trap that is generated when a power supply operational
        status changed from failure to normal."
	--#TYPE "Foundry Trap: Power Supply OK"
	--#SUMMARY "Power supply %d (%s)  OK."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 81


snTrapVrrpeIfStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a VRRPE routing device
       switched between states master, backup, intialized or uknown."
	--#TYPE "Foundry Trap: VRRPE Interface Change"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 82

snTrapVsrpIfStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES { snAgGblTrapMessage }
   DESCRIPTION
       "The SNMP trap that is generated when a VSRP switching and routing device
       switched between states master, backup, intialized or uknown."
	--#TYPE "Foundry Trap: VSRP Interface Change"
	--#SUMMARY "%s."
	--#ARGUMENTS { 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 83


END

HP-SN-ROUTER-TRAP-MIB DEFINITIONS ::= BEGIN

-- Router Trap MIB Release 1.0.0
-- Revision 01/24/03

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

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

-- SECTION 1: Top Level Definitions


-- Imports


IMPORTS
   TRAP-TYPE              FROM RFC-1215
   hp                FROM HP-SN-ROOT-MIB
   snOspfRouterId,
   snOspfIfStatusIpAddress,
   snOspfIfStatusState,
   snOspfVirtIfStatusAreaID,
   snOspfVirtIfStatusNeighbor,
   snOspfVirtIfStatusState,
   snOspfNbrIpAddr,
   snOspfNbrRtrId,
   snOspfNbrState,
   snOspfVirtNbrArea,
   snOspfVirtNbrRtrId, 
   snOspfVirtNbrState, 
   snOspfPacketSrc,
   snOspfConfigErrorType,
   snOspfPacketType,
   snOspfLsdbAreaId,
   snOspfLsdbType,
   snOspfLsdbLsId,
   snOspfLsdbRouterId,
   snOspfExtLsdbLimit	  FROM HP-SN-OSPF-GROUP-MIB;

-- Textual Conventions

-- Groups

-- SECTION 2: MIB Objects


-- Trap Information

-- These definitions use the TRAP-TYPE macro as defined in RFC 1215.

-- Foundry Networks, Inc. Specific Traps

snTrapOspfIfStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfIfStatusIpAddress,
                snOspfIfStatusState   -- The new state
              }
   DESCRIPTION
      "An ospfIfStateChange trap signifies that there
      has been a change in the state of a non-virtual
      OSPF interface. This trap should  be  generated
      when  the interface state regresses (e.g., goes
      from Dr to Down) or progresses  to  a  terminal
      state  (i.e.,  Point-to-Point, DR Other, Dr, or
      Backup)."
	--#TYPE "Foundry Trap: OSPF Interface State Change"
	--#SUMMARY "OSPF router id %s, interface %s state changed to %d."
	--#ARGUMENTS { 0, 1, 2 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 3

snTrapOspfVirtIfStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfVirtIfStatusAreaID,
                snOspfVirtIfStatusNeighbor,
                snOspfVirtIfStatusState  -- The new state
              }
   DESCRIPTION
      "An ospfIfStateChange trap signifies that there
      has  been a change in the state of an OSPF vir-
      tual interface.
      This trap should be generated when  the  inter-
      face  state  regresses  (e.g., goes from Point-
      to-Point to Down) or progresses to  a  terminal
      state (i.e., Point-to-Point)."
	--#TYPE "Foundry Trap: OSPF Virtual Interface State Change"
	--#SUMMARY "OSPF router id %s, virtual interface area id %s  neighbor %s state changed to %d."
	--#ARGUMENTS { 0, 1, 2, 3 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 4


snOspfNbrStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfNbrIpAddr,
                snOspfNbrRtrId,
                snOspfNbrState  -- The new state
              }
    DESCRIPTION
       "An  ospfNbrStateChange  trap  signifies   that
       there  has been a change in the state of a non-
       virtual OSPF neighbor.   This  trap  should  be
       generated  when  the  neighbor  state regresses
       (e.g., goes from Attempt or Full  to  1-Way  or
       Down)  or progresses to a terminal state (e.g.,
       2-Way or Full).  When an  neighbor  transitions
       from  or  to Full on non-broadcast multi-access
       and broadcast networks, the trap should be gen-
       erated  by the designated router.  A designated
       router transitioning to Down will be  noted  by
       ospfIfStateChange."
	--#TYPE "Foundry Trap: OSPF Neighbour State Change"
	--#SUMMARY "OSPF  router id %s neighbor area %s, neighbor router id  %s state changed to %d."
	--#ARGUMENTS { 0, 1, 2, 3 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 5


snOspfVirtNbrStateChange TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfVirtNbrArea,
                snOspfVirtNbrRtrId,
                snOspfVirtNbrState  -- The new state
              }
    DESCRIPTION
       "An ospfIfStateChange trap signifies that there
       has  been a change in the state of an OSPF vir-
       tual neighbor.  This trap should  be  generated
       when  the  neighbor state regresses (e.g., goes
       from Attempt or  Full  to  1-Way  or  Down)  or
       progresses to a terminal state (e.g., Full)."
	--#TYPE "Foundry Trap: OSPF Virtual Neighbour State Change"
	--#SUMMARY "OSPF router id %s virtual neighbor area %s, virtual neighbor router id  %s state changed to %d."
	--#ARGUMENTS { 0, 1, 2, 3 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 6



snOspfIfConfigError TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfIfStatusIpAddress,
                snOspfPacketSrc,  -- The source IP address
                snOspfConfigErrorType, -- Type of error
                snOspfPacketType
              }
    DESCRIPTION
       "An ospfIfConfigError  trap  signifies  that  a
       packet  has  been received on a non-virtual in-
       terface  from  a  router  whose   configuration
       parameters  conflict  with this router's confi-
       guration parameters.  Note that the  event  op-
       tionMismatch  should  cause  a  trap only if it
       prevents an adjacency from forming."
	--#TYPE "Foundry Trap: OSPF Interface Configuration Error"
	--#SUMMARY "configuration error type %d with  packet type %d has been received on interface %s, router id %s from  %s."
	--#ARGUMENTS { 3, 4, 1, 0, 2 }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 7


snOspfVirtIfConfigError TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfVirtIfStatusAreaID,
                snOspfVirtIfStatusNeighbor,
                snOspfConfigErrorType, -- Type of error
                snOspfPacketType
              }
    DESCRIPTION
       "An ospfConfigError trap signifies that a pack-
       et  has  been  received  on a virtual interface
       from a router  whose  configuration  parameters
       conflict   with   this  router's  configuration
       parameters.  Note that the event optionMismatch
       should  cause a trap only if it prevents an ad-
       jacency from forming."
	--#TYPE "Foundry Trap: OSPF Virtual Interface Configuration Error"
	--#SUMMARY "configuration error type %d with  packet type %d has been received on virtual interface area id %s, router id %s from neighbor %s."
	--#ARGUMENTS { 3, 4, 1, 0, 2 }
	--#SEVERITY MAJOR
	--#STATE OPERATIONAL
   ::= 8


snOspfIfAuthFailure TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfIfStatusIpAddress,
                snOspfPacketSrc,  -- The source IP address
                snOspfConfigErrorType, -- authTypeMismatch or
                                     -- authFailure
                snOspfPacketType
              }
    DESCRIPTION
       "An ospfIfAuthFailure  trap  signifies  that  a
       packet  has  been received on a non-virtual in-
       terface from a router whose authentication  key
       or  authentication  type  conflicts  with  this
       router's authentication key  or  authentication
       type."
	--#TYPE "Foundry Trap: OSPF Interface Authentication Failure"
	--#SUMMARY "OSPF authentication failed. Router ID %s,Interface %s, packet src %s, error type %d and packet type %d."
	--#ARGUMENTS { 0, 1, 2, 3, 4 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 9


snOspfVirtIfAuthFailure TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfVirtIfStatusAreaID,
                snOspfVirtIfStatusNeighbor,
                snOspfConfigErrorType, -- authTypeMismatch or
                                     -- authFailure
                snOspfPacketType
              }
    DESCRIPTION
       "An ospfVirtIfAuthFailure trap signifies that a
       packet has been received on a virtual interface
       from a router whose authentication key  or  au-
       thentication  type conflicts with this router's
       authentication key or authentication type."
	--#TYPE "Foundry Trap: OSPF Virtual Interface Authentication Failure"
	--#SUMMARY "OSPF authentication failed. Router ID %s,virtual interface %s, Neigbor %s, Error type %d and packet type %d."
	--#ARGUMENTS { 0, 1, 2, 3, 4 }
	--#SEVERITY MINOR
	--#STATE OPERATIONAL
   ::= 10


snOspfIfRxBadPacket TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfIfStatusIpAddress,
                snOspfPacketSrc,  -- The source IP address
                snOspfPacketType
              }
    DESCRIPTION
       "An ospfIfRxBadPacket trap  signifies  that  an
       OSPF  packet has been received on a non-virtual
       interface that cannot be parsed."
	--#TYPE "Foundry Trap: OSPF Interface Receive Bad Packet"
	--#SUMMARY "OSPF Router Id %s, interface %s  receive bad packet (type %d) from %s."
	--#ARGUMENTS { 0, 1, 3, 2 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 11


snOspfVirtIfRxBadPacket TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfVirtIfStatusAreaID,
                snOspfVirtIfStatusNeighbor,
                snOspfPacketType
              }
    DESCRIPTION
       "An ospfRxBadPacket trap signifies that an OSPF
       packet has been received on a virtual interface
       that cannot be parsed."
	--#TYPE "Foundry Trap: OSPF Virt Interface Receive Bad Packet"
	--#SUMMARY "OSPF router id %s, virtual interface %s received bad packet (type %d) from neighbor %s."
	--#ARGUMENTS { 0, 1, 3, 2 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 12


snOspfTxRetransmit TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfIfStatusIpAddress,
                snOspfNbrRtrId, -- Destination
                snOspfPacketType,
                snOspfLsdbType,
                snOspfLsdbLsId,
                snOspfLsdbRouterId
              }
    DESCRIPTION
       "An ospfTxRetransmit  trap  signifies  than  an
       OSPF  packet  has  been retransmitted on a non-
       virtual interface.  All packets that may be re-
       transmitted  are associated with an LSDB entry.
       The LS type, LS ID, and Router ID are  used  to
       identify the LSDB entry."
	--#TYPE "Foundry Trap: OSPF Retransmit"
	--#SUMMARY "OSPF router id %s, interface %s retransmited packet type %d,LSDB type %d, LSDB LS ID %s and LSDB router id %s to neightbor router id %s."
	--#ARGUMENTS { 0, 1, 3, 4, 5, 6, 2 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 13


ospfVirtIfTxRetransmit TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfVirtIfStatusAreaID,
                snOspfVirtIfStatusNeighbor,
                snOspfPacketType,
                snOspfLsdbType,
                snOspfLsdbLsId,
                snOspfLsdbRouterId
              }

    DESCRIPTION
       "An ospfTxRetransmit  trap  signifies  than  an
       OSPF packet has been retransmitted on a virtual
       interface.  All packets that may be retransmit-
       ted  are  associated with an LSDB entry. The LS
       type, LS ID, and Router ID are used to identify
       the LSDB entry."
	--#TYPE "Foundry Trap: OSPF Virt Interface Retransmit"
	--#SUMMARY "OSPF router id %s, virtual interface area id %s retransmited packet type %d,LSDB type %d, LSDB LS ID %s and LSDB router id %s to neightbor %s."
	--#ARGUMENTS { 0, 1, 3, 4, 5, 6, 2 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 14


snOspfOriginateLsa TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfLsdbAreaId,  -- 0.0.0.0 for AS Externals
                snOspfLsdbType,
                snOspfLsdbLsId,
                snOspfLsdbRouterId
              }
    DESCRIPTION
       "An ospfOriginateLsa trap signifies that a  new
       LSA  has  been originated by this router.  This
       trap should not be invoked for simple refreshes
       of  LSAs  (which happesn every 30 minutes), but
       instead will only be invoked  when  an  LSA  is
       (re)originated due to a topology change.  Addi-
       tionally, this trap does not include LSAs  that
       are  being  flushed  because  they have reached
       MaxAge."
	--#TYPE "Foundry Trap: OSPF Originate LSA"
	--#SUMMARY "New LSA (area id %s, type %d, LS Id %s and router id %s) has been originated by router id %s."
	--#ARGUMENTS { 1, 2, 3, 4, 0 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 15


snOspfMaxAgeLsa TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfLsdbAreaId,  -- 0.0.0.0 for AS Externals
                snOspfLsdbType,
                snOspfLsdbLsId,
                snOspfLsdbRouterId
              }
    DESCRIPTION
       "An ospfMaxAgeLsa trap signifies  that  one  of
       the LSA in the router's link-state database has
       aged to MaxAge."
	--#TYPE "Foundry Trap: OSPF MaxAge LSA"
	--#SUMMARY "The LSA (area id %s, type %d, LS Id %s and router id %s) in router id %s link-state database has aged to maximum age."
	--#ARGUMENTS { 1, 2, 3, 4, 0 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 16



snOspfLsdbOverflow TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfExtLsdbLimit
              }
    DESCRIPTION
       "An ospfLsdbOverflow trap  signifies  that  the
       number of LSAs in the router's link-state data-
       base has exceeded ospfExtLsdbLimit."
	--#TYPE "Foundry Trap: OSPF LS DB Overflow"
	--#SUMMARY "The number of LSAs in the OSPF router id %s link-state database has exceeded %d."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY WARNING
	--#STATE OPERATIONAL
   ::= 17


snOspfLsdbApproachingOverflow TRAP-TYPE
   ENTERPRISE hp
   VARIABLES {
                snOspfRouterId, -- The originator of the trap
                snOspfExtLsdbLimit
              }
    DESCRIPTION
       "An ospfLsdbApproachingOverflow trap  signifies
       that  the  number of LSAs in the router's link-
       state database has exceeded ninety  percent  of
       ospfExtLsdbLimit."
	--#TYPE "Foundry Trap: OSPF LS DB Near Full"
	--#SUMMARY "The number of LSAs in the OSPF router id %s link-state database has exceeded ninety percent of  %d."
	--#ARGUMENTS { 0, 1 }
	--#SEVERITY INFORMATIONAL
	--#STATE OPERATIONAL
   ::= 18

END

