FOUNDRY-SN-IP-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE,IpAddress, Counter32, TimeTicks,Counter64,Integer32
		FROM SNMPv2-SMI

	TEXTUAL-CONVENTION
		FROM SNMPv2-TC

	router,snRip, snDvmrp, snFsrp,snGblRt, snPim, snLoopbackIf
		FROM FOUNDRY-SN-ROOT-MIB

        InterfaceIndex, ifIndex, InterfaceIndexOrZero
		FROM IF-MIB

	InetAddressType
		FROM INET-ADDRESS-MIB

	DisplayString
		FROM FOUNDRY-SN-AGENT-MIB

	PortMask
		FROM FOUNDRY-SN-SWITCH-GROUP-MIB;


snIp MODULE-IDENTITY
    LAST-UPDATED "201006020000Z"  -- 04 June 2010
    ORGANIZATION "Brocade Communications Systems, Inc."
    CONTACT-INFO
             "Technical Support Center
              130 Holger Way,
              San Jose, CA  95134
              Email:  ipsupport@brocade.com
              Phone: 1-800-752-8061
              URL:  www.brocade.com"
    DESCRIPTION
             "Copyright 1996-2010 Brocade Communications Systems, Inc.
              All rights reserved.
              This Brocade Communications Systems SNMP Management Information Base Specification
              embodies Brocade Communications Systems' confidential and proprietary
              intellectual property. Brocade Communications Systems retains all
              title and ownership in the Specification, including any revisions.

              This Specification is supplied AS IS, and Brocade Communications Systems makes
              no warranty, either express or implied, as to the use,
              operation, condition, or performance of the specification, and any unintended
              consequence it may on the user environment."

    REVISION        "201006020000Z"  -- 04 June 2010
    DESCRIPTION
        "Changed the ORGANIZATION, CONTACT-INFO and DESCRIPTION fields."

    REVISION     "200909300000Z" -- September 30, 2009
    DESCRIPTION
			"convert from SMIv1 to SMIv2"
   ::= { router 2 }

	-- textual conventions

	RtrStatus ::= TEXTUAL-CONVENTION
		STATUS	  current
		DESCRIPTION
			"
			RtrStatus Values
			"
		SYNTAX	INTEGER { disabled(0), enabled (1) }



	ClearStatus ::= TEXTUAL-CONVENTION
		STATUS	  current
		DESCRIPTION
			"
			Clear Status Values
			"
		SYNTAX	INTEGER { normal(0), clear(1) }


	RowSts ::= TEXTUAL-CONVENTION
		STATUS	  current
		DESCRIPTION
			"
			Row Creation/Deletion Values
			"
		SYNTAX	INTEGER { other(1),
						valid(2),
						delete(3),
						create(4)
						}

	PortIndex ::= TEXTUAL-CONVENTION
		STATUS	  current
		DESCRIPTION
			"
			The bits 0-7 = port number.
			The bits 8-15 = slot number (slot for chassis only).
			ve port format         bits 16-24 = 0x01, bits 0-15 = ve number
			loopback port format bits 16-24 = 0x02, bits 0-15= lb number
			"
		SYNTAX	Integer32


	Action ::= TEXTUAL-CONVENTION
		STATUS	  current
		DESCRIPTION
			"
			Represents a action value such as deny or permit.
			"
		SYNTAX	INTEGER { deny(0), permit(1) }


	Metric ::= TEXTUAL-CONVENTION
		STATUS	  current
		DESCRIPTION
			"
			The OSPF Metric is defined as an unsigned value in the range
			"
		SYNTAX	INTEGER (0..65535)


-- 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
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"clear(1) will clear arp cache table."
	::= { snRtIpGeneral 1 }

snRtClearIpCache                OBJECT-TYPE
	SYNTAX  ClearStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"clear(1) will clear ip route cache table."
	::= { snRtIpGeneral 2 }

snRtClearIpRoute                OBJECT-TYPE
	SYNTAX  ClearStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"clear(1) will clear ip route table."
	::= { snRtIpGeneral 3 }

snRtBootpServer                 OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-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)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Maximum number of hop the bootp packet
		should travel."
	::= { snRtIpGeneral 5 }

snRtArpAge                      OBJECT-TYPE
	SYNTAX  INTEGER (0..240)
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Perform router advertisement on this box."
	::= { snRtIpGeneral 7 }

snRtIpLoadShare         OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"If more than one route available,
		use them to share load."
	::= { snRtIpGeneral 8 }

snRtIpProxyArp          OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/disable proxy arp function
		in the box."
	::= { snRtIpGeneral 9 }

snRtIpRarp                      OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/disable RARP server."
	::= { snRtIpGeneral 10 }

snRtIpTtl                       OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	MAX-ACCESS  read-write
	STATUS  current
	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 Integer32
	MAX-ACCESS  read-write
	STATUS  current
	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 Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The maximum number of ip forwarding table entries."
	::= { snRtIpGeneral 13 }

snRtIpFwdCacheCurEntries        OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The current number of ip forwarding table entries."
	::= { snRtIpGeneral 14 }

snRtIpMaxStaticRouteEntries     OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The maximum number of static route entries in the static route table."
	::= { snRtIpGeneral 15 }

snRtIpDirBcastFwd               OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/Disable directed broadcast forwarding."
	DEFVAL  { enabled }
	::= { snRtIpGeneral 16 }

snRtIpLoadShareNumOfPaths	OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Number of routes are used to share load."
	::= { snRtIpGeneral 17 }

snRtIpLoadShareMaxPaths	OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"Maximum number of routes can be configured to share load."
	::= { snRtIpGeneral 18 }

snRtIpLoadShareMinPaths	OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"Minimum number of routes can be configured to share load."
	::= { snRtIpGeneral 19 }

snRtIpProtocolRouterId OBJECT-TYPE
	SYNTAX   IpAddress
	MAX-ACCESS   read-write
	STATUS   current
	DESCRIPTION
		"Router Id for all IP Protocols."
	::= { snRtIpGeneral 20 }

snRtIpSourceRoute OBJECT-TYPE
	SYNTAX   RtrStatus
	MAX-ACCESS   read-write
	STATUS   current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP static/default route table."
	::= { snIp 2 }

snRtIpStaticRouteEntry  OBJECT-TYPE
	SYNTAX  SnRtIpStaticRouteEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the IP static route table."
	INDEX   { snRtIpStaticRouteIndex }
	::= { snRtIpStaticRouteTable 1 }

SnRtIpStaticRouteEntry ::= SEQUENCE {
	snRtIpStaticRouteIndex
		Integer32,
	snRtIpStaticRouteDest
		IpAddress,
	snRtIpStaticRouteMask
		IpAddress,
	snRtIpStaticRouteNextHop
		IpAddress,
	snRtIpStaticRouteMetric
		Integer32,
	snRtIpStaticRouteRowStatus
		RowSts,
	snRtIpStaticRouteDistance
		INTEGER
	}

snRtIpStaticRouteIndex  OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a static route entry."
	::= { snRtIpStaticRouteEntry 1 }

snRtIpStaticRouteDest           OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Destination IP address.
		0.0.0.0 for default route."
	::= { snRtIpStaticRouteEntry 2 }

snRtIpStaticRouteMask           OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Subnet mask associated with
		the destination IP address.
		0.0.0.0 for default route mask."
	::= { snRtIpStaticRouteEntry 3 }

snRtIpStaticRouteNextHop        OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"IP address of next hop router that
		is located on one of the directly
		attached IP subnet."
	::= { snRtIpStaticRouteEntry 4 }

snRtIpStaticRouteMetric         OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The metrics to next hop router."
	::= { snRtIpStaticRouteEntry 5 }

snRtIpStaticRouteRowStatus      OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a static route
		entry."
	::= { snRtIpStaticRouteEntry 6 }

snRtIpStaticRouteDistance		OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Administration distance."
	::= { snRtIpStaticRouteEntry 7 }

-- ip filter table

snRtIpFilterTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtIpFilterEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP filter table."
	::= { snIp 3 }

snRtIpFilterEntry       OBJECT-TYPE
	SYNTAX  SnRtIpFilterEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the IP filter table."
	INDEX   { snRtIpFilterIndex }
	::= { snRtIpFilterTable 1 }

SnRtIpFilterEntry ::= SEQUENCE {
	snRtIpFilterIndex
		Integer32,
	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  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a filter entry."
	::= { snRtIpFilterEntry 1 }

snRtIpFilterAction      OBJECT-TYPE
	SYNTAX  INTEGER { deny(0), permit(1), qosEnabled(2) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Action to take if the ip packet match
		with this filter."
	::= { snRtIpFilterEntry 2 }

snRtIpFilterProtocol    OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Transport protocol. 0 means don't care"
	::= { snRtIpFilterEntry 3 }

snRtIpFilterSourceIp    OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Source IP address."
	::= { snRtIpFilterEntry 4 }

snRtIpFilterSourceMask  OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Source IP subnet mask."
	::= { snRtIpFilterEntry 5 }

snRtIpFilterDestIp      OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Destination IP address."
	::= { snRtIpFilterEntry 6 }

snRtIpFilterDestMask    OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Destination IP subnet mask."
	::= { snRtIpFilterEntry 7 }

snRtIpFilterOperator    OBJECT-TYPE
	SYNTAX  INTEGER { greater(1), equal(2), less(3), notEqual(4) }
	MAX-ACCESS  read-write
	STATUS  current
	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)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"For now this only refers to transport
		protocol port number. 0 means NA"
	::= { snRtIpFilterEntry 9 }

snRtIpFilterRowStatus   OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a filter
		entry."
	::= { snRtIpFilterEntry 10 }

snRtIpFilterEstablished OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	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)
		}
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP RARP table."
	::= { snIp 4 }

snRtIpRarpEntry         OBJECT-TYPE
	SYNTAX  SnRtIpRarpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a Rarp entry."
	::= { snRtIpRarpEntry 1 }

snRtIpRarpMac           OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The Mac address for a Rarp entry."
	::= { snRtIpRarpEntry 2 }

snRtIpRarpIp            OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The IP address for a Rarp entry."
	::= { snRtIpRarpEntry 3 }

snRtIpRarpRowStatus     OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a Rarp
		entry."
	::= { snRtIpRarpEntry 4 }

-- Static ARP table

snRtStaticArpTable              OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtStaticArpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP static arp table."
	::= { snIp 5 }

snRtStaticArpEntry              OBJECT-TYPE
	SYNTAX  SnRtStaticArpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a static arp entry."
	::= { snRtStaticArpEntry 1 }

snRtStaticArpIp                 OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The IP address for a static arp entry."
	::= { snRtStaticArpEntry 2 }

snRtStaticArpMac                OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The Mac address for a static arp entry."
	::= { snRtStaticArpEntry 3 }

snRtStaticArpPort               OBJECT-TYPE
	SYNTAX  PortIndex
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The port index for a static arp entry."
	::= { snRtStaticArpEntry 4 }

snRtStaticArpRowStatus  OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP port address table."
	::= { snIp 6 }

snRtIpPortAddrEntry             OBJECT-TYPE
	SYNTAX  SnRtIpPortAddrEntry
	MAX-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
	MAX-ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for port address entry."
	::= { snRtIpPortAddrEntry 1 }

snRtIpPortAddress               OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port IP address."
	::= { snRtIpPortAddrEntry 2 }

snRtIpPortSubnetMask            OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The port IP address subnet mask."
	::= { snRtIpPortAddrEntry 3 }

snRtIpPortAddrType              OBJECT-TYPE
	SYNTAX  INTEGER { primary(1), secondary(2) }
	MAX-ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The port IP address type."
	DEFVAL  { primary }
	::= { snRtIpPortAddrEntry 4 }

snRtIpPortRowStatus     OBJECT-TYPE
	SYNTAX  RowSts
	MAX-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
	MAX-ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP port access table."
	::= { snIp 7 }

snRtIpPortAccessEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortAccessEntry
	MAX-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
	MAX-ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for port access entry."
	::= { snRtIpPortAccessEntry 1 }

snRtIpPortAccessDirection               OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	MAX-ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The incoming or outgoing check
		for port access."
	::= { snRtIpPortAccessEntry 2 }

snRtIpPortAccessFilters                 OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"1st octet correspond to 1st  filter
		number and so on."
	::= { snRtIpPortAccessEntry 3 }

snRtIpPortAccessRowStatus       OBJECT-TYPE
	SYNTAX  RowSts
	MAX-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
	MAX-ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP port Config table."
	::= { snIp 8 }

snRtIpPortConfigEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortConfigEntry
	MAX-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
	MAX-ACCESS  read-only
	STATUS  deprecated
	DESCRIPTION
		"The port index for port config entry."
	::= { snRtIpPortConfigEntry 1 }

snRtIpPortMtu                   OBJECT-TYPE
	SYNTAX  INTEGER (576..4470)
	MAX-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)
					}
	MAX-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)
	MAX-ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The metric."
	DEFVAL  { 1 }
	::= { snRtIpPortConfigEntry 4 }

snRtIpPortDirBcastFwd           OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP port If address table."
	::= { snIp 18 }

snRtIpPortIfAddrEntry             OBJECT-TYPE
	SYNTAX  SnRtIpPortIfAddrEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The InterfaceIndex for port address entry."
	::= { snRtIpPortIfAddrEntry 1 }

snRtIpPortIfAddress               OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The port IP address."
	::= { snRtIpPortIfAddrEntry 2 }

snRtIpPortIfSubnetMask            OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The port IP address subnet mask."
	::= { snRtIpPortIfAddrEntry 3 }

snRtIpPortIfAddrType              OBJECT-TYPE
	SYNTAX  INTEGER { primary(1), secondary(2) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The port IP address type."
	DEFVAL  { primary }
	::= { snRtIpPortIfAddrEntry 4 }

snRtIpPortIfRowStatus     OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP port If access table."
	::= { snIp 19 }

snRtIpPortIfAccessEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortIfAccessEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The InterfaceIndex for port access entry."
	::= { snRtIpPortIfAccessEntry 1 }

snRtIpPortIfAccessDirection               OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The incoming or outgoing check
		for port access."
	::= { snRtIpPortIfAccessEntry 2 }

snRtIpPortIfAccessFilters                 OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"1st octet correspond to 1st  filter
		number and so on."
	::= { snRtIpPortIfAccessEntry 3 }

snRtIpPortIfAccessRowStatus       OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP port If Config table."
	::= { snIp 20 }

snRtIpPortIfConfigEntry           OBJECT-TYPE
	SYNTAX  SnRtIpPortIfConfigEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the IP Port Config table."
	INDEX   { snRtIpPortIfConfigInterfaceIndex }
	::= { snRtIpPortIfConfigTable 1 }

SnRtIpPortIfConfigEntry ::= SEQUENCE {
	snRtIpPortIfConfigInterfaceIndex
		InterfaceIndex,
	snRtIpPortIfMtu
		Integer32,
	snRtIpPortIfEncap
		INTEGER,
	snRtIpPortIfMetric
		INTEGER,
	snRtIpPortIfDirBcastFwd
		RtrStatus,
	snRtIpPortConfigIfDonorInterface
                InterfaceIndexOrZero
	}

snRtIpPortIfConfigInterfaceIndex      OBJECT-TYPE
	SYNTAX  InterfaceIndex
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The If index for port config entry."
	::= { snRtIpPortIfConfigEntry 1 }

snRtIpPortIfMtu                   OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The maximun transfer unit.
		Ethernet MTU Range: 46 to 1500
		POS       MTU Range: 60 to 4470
		ATM       MTU Range: 1500 to 9180
		ATM SubIf MTU Range: 1500 to 9180
		For jumbo support, MTU range could be higher."
	::= { snRtIpPortIfConfigEntry 2 }

snRtIpPortIfEncap                 OBJECT-TYPE
	SYNTAX  INTEGER {
					 ethernet(1),
					 snap(2),
					 hdlc(3),
					 ppp(4),
					 other(5)
					}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Data link encapsulation to be used
		on the IP frame transmitted on the
		port."
	::= { snRtIpPortIfConfigEntry 3 }

snRtIpPortIfMetric                OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The metric."
	DEFVAL  { 1 }
	::= { snRtIpPortIfConfigEntry 4 }

snRtIpPortIfDirBcastFwd           OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/Disable directed broadcast forwarding on the port."
	DEFVAL  { enabled }
	::= { snRtIpPortIfConfigEntry 5 }


snRtIpPortConfigIfDonorInterface  OBJECT-TYPE
        SYNTAX     InterfaceIndexOrZero
        MAX-ACCESS  read-only
        STATUS     current
        DESCRIPTION
                 "If this interface is configured as an unnumbered
                 interface, it will return the ifIndex of the donor
                 interface. If this is configured as a donor interface, it
                 will return its own ifIndex value. Otherwise, it will
                 return 0."
         ::= { snRtIpPortIfConfigEntry 6 }


-- IP Interface Counter table

agIpPortCounterTable           OBJECT-TYPE
	SYNTAX		SEQUENCE OF AgIpPortCounterEntry
	MAX-ACCESS      not-accessible
	STATUS		current
	DESCRIPTION
		"IP port counter table to display IP traffic statistics.
		At present the system supports only IP statistics for Ethernet ports."
	::= { snIp 21 }

agIpPortCounterEntry           OBJECT-TYPE
	SYNTAX		AgIpPortCounterEntry
	MAX-ACCESS      not-accessible
	STATUS		current
	DESCRIPTION
		"An entry in the IP port counter table."
	INDEX   { ifIndex, agIpPortCounterIpVersion }
	::= { agIpPortCounterTable 1 }

AgIpPortCounterEntry ::= SEQUENCE {
	agIpPortCounterIpVersion
		InetAddressType,
	agIpPortCounterRxPacket
		Counter64,
	agIpPortCounterRxOctet
		Counter64,
	agIpPortCounterTxPacket
		Counter64,
	agIpPortCounterTxOctet
		Counter64
	}

agIpPortCounterIpVersion    OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"The version of IP protocol for which this counter entry is returned.
		This table supports ipv4(1) and ipv6(2) enumerations."
	::= { agIpPortCounterEntry 1 }

agIpPortCounterRxPacket    OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS      read-only
	STATUS		current
	DESCRIPTION
		"Total IP packets received on a given interface."
	::= { agIpPortCounterEntry 2 }

agIpPortCounterRxOctet    OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS      read-only
	STATUS		current
	DESCRIPTION
		"Total IP octets received on a given interface."
	::= { agIpPortCounterEntry 3 }

agIpPortCounterTxPacket    OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS      read-only
	STATUS		current
	DESCRIPTION
		"Total IP packets transmitted out from a given interface."
	::= { agIpPortCounterEntry 4 }

agIpPortCounterTxOctet    OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS      read-only
	STATUS		current
	DESCRIPTION
		"Total IP octets transmitted out from a given interface."
	::= { agIpPortCounterEntry 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
	MAX-ACCESS  read-write
	STATUS  current
	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
-- snRtUdpBroadcastFwdPortTable replaces snRtUdpBcastFwdPortTable
-- Notice that index of these tables are different

snRtUdpBcastFwdPortTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtUdpBcastFwdPortEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"This table contains a list of UDP port numbers
		for which forwarding UDP broadcast is enabled."
	::= { snRtUdpBcastFwdPort 1 }

snRtUdpBcastFwdPortEntry  OBJECT-TYPE
	SYNTAX  SnRtUdpBcastFwdPortEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a UDP broadcast forwarding
		port entry."
	::= { snRtUdpBcastFwdPortEntry 1 }

snRtUdpBcastFwdPortNumber     OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"UDP port number for which UDP broadcast forwarding
		is enabled."
	::= { snRtUdpBcastFwdPortEntry 2 }

snRtUdpBcastFwdPortRowStatus  OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a UDP broadcast forwarding
		port entry."
	::= { snRtUdpBcastFwdPortEntry 3 }

-- UDP broadcast forwarding port table

snRtUdpBroadcastFwdPortTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtUdpBroadcastFwdPortEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"This table contains a list of UDP port numbers
		for which forwarding UDP broadcast is enabled."
	::= { snRtUdpBcastFwdPort 2 }

snRtUdpBroadcastFwdPortEntry  OBJECT-TYPE
	SYNTAX	SnRtUdpBroadcastFwdPortEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry of the UDP broadcast forwarding
		port table."
	INDEX   { snRtUdpBroadcastFwdPortNumber }
	::= { snRtUdpBroadcastFwdPortTable 1 }

SnRtUdpBroadcastFwdPortEntry ::= SEQUENCE {
	snRtUdpBroadcastFwdPortNumber
		Integer32,
	snRtUdpBroadcastFwdPortRowStatus
		RowSts
	}

snRtUdpBroadcastFwdPortNumber     OBJECT-TYPE
	SYNTAX   Integer32
	MAX-ACCESS	not-accessible
	STATUS  current
	DESCRIPTION
		"UDP port number for which UDP broadcast forwarding
		is enabled."
	::= { snRtUdpBroadcastFwdPortEntry 1 }

snRtUdpBroadcastFwdPortRowStatus  OBJECT-TYPE
	SYNTAX	RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a UDP broadcast forwarding
		port entry."
	::= { snRtUdpBroadcastFwdPortEntry 2 }

-- UDP helper table
-- snRtUdpIfHelperTable replaces snRtUdpHelperTable
-- Notice that index of these tables are different

snRtUdpHelperTable  OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnRtUdpHelperEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"UDP helper table."
	::= { snRtUdpHelper 1 }

snRtUdpHelperEntry  OBJECT-TYPE
	SYNTAX  SnRtUdpHelperEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The port index for a UDP helper entry."
	::= { snRtUdpHelperEntry 1 }

snRtUdpHelperIndex      OBJECT-TYPE
	SYNTAX  INTEGER (1..4)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a UDP helper entry."
	::= { snRtUdpHelperEntry 2 }

snRtUdpHelperAddr       OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a UDP helper entry."
	::= { snRtUdpHelperEntry 4 }

-- UDP helper table

snRtUdpIfHelperTable  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtUdpIfHelperEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"UDP helper table."
	::= { snRtUdpHelper 2 }

snRtUdpIfHelperEntry  OBJECT-TYPE
	SYNTAX	SnRtUdpIfHelperEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry of the UDP helper table."
	INDEX   { snRtUdpIfHelperPortIndex, snRtUdpIfHelperAddr }
	::= { snRtUdpIfHelperTable 1 }

SnRtUdpIfHelperEntry ::= SEQUENCE {
	snRtUdpIfHelperPortIndex
		InterfaceIndex,
	snRtUdpIfHelperAddr
		IpAddress,
	snRtUdpIfHelperAddrType
		INTEGER,
	snRtUdpIfHelperRowStatus
		RowSts
	}

snRtUdpIfHelperPortIndex  OBJECT-TYPE
	SYNTAX	InterfaceIndex
	MAX-ACCESS	not-accessible
	STATUS  current
	DESCRIPTION
		"The port/interface index for a UDP helper entry."
	::= { snRtUdpIfHelperEntry 1 }

snRtUdpIfHelperAddr       OBJECT-TYPE
	SYNTAX	IpAddress
	MAX-ACCESS	not-accessible
	STATUS  current
	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."
	::= { snRtUdpIfHelperEntry 2 }

snRtUdpIfHelperAddrType  OBJECT-TYPE
	SYNTAX	INTEGER {
					unicast(1),
					broabcast(2)
				}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Type of the helper address. It can be unicast or subnet
		 brodcast address."
	::= { snRtUdpIfHelperEntry 3}

snRtUdpIfHelperRowStatus  OBJECT-TYPE
	SYNTAX	RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a UDP helper entry."
	::= { snRtUdpIfHelperEntry 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
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Target IP address of which trace route is performed."
	::= { snRtIpTraceRouteGeneral 1 }

snRtIpTraceRouteMinTtl      OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Minimum TTL value carried in the first probe packet.
		Value 0 cannot be used for SET operations. This value
		is returned if traceroute is not running within the system."
	DEFVAL { 1 }
	::= { snRtIpTraceRouteGeneral 2 }

snRtIpTraceRouteMaxTtl      OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Maximum TTL value carried in the last probe packet.
		Value 0 cannot be used for SET operations. This value
		is returned if traceroute is not running within the system."
	DEFVAL { 30 }
	::= { snRtIpTraceRouteGeneral 3 }

snRtIpTraceRouteTimeOut     OBJECT-TYPE
	SYNTAX  INTEGER (0..120)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Time out period (in seconds) to wait for the response
		from the probe packet (i,e, the ICMP packet).
		Value 0 cannot be used for SET operations. This value
		is returned if traceroute is not running within the system."
	DEFVAL { 2 }
	::= { snRtIpTraceRouteGeneral 4 }

snRtIpTraceRouteControl     OBJECT-TYPE
	SYNTAX  INTEGER {
				start(1),
				abort(2),
				success(3),
				failure(4),
				inProgress(5)
			}
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Trace route result table."
	::= { snRtIpTraceRouteResult 1 }

snRtIpTraceRouteResultEntry  OBJECT-TYPE
	SYNTAX  SnRtIpTraceRouteResultEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry of the trace route result table."
	INDEX   { snRtIpTraceRouteResultIndex }
	::= { snRtIpTraceRouteResultTable 1 }

SnRtIpTraceRouteResultEntry ::= SEQUENCE {
	snRtIpTraceRouteResultIndex
		Integer32,
	snRtIpTraceRouteResultAddr
		IpAddress,
	snRtIpTraceRouteResultRoundTripTime1
		TimeTicks,
	snRtIpTraceRouteResultRoundTripTime2
		TimeTicks
	}

snRtIpTraceRouteResultIndex          OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a trace route result entry."
	::= { snRtIpTraceRouteResultEntry 1 }

snRtIpTraceRouteResultAddr           OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	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
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The round trip time between the first probe packet
		transmitted and the reponse ICMP packet received."
	::= { snRtIpTraceRouteResultEntry 3 }

snRtIpTraceRouteResultRoundTripTime2 OBJECT-TYPE
	SYNTAX  TimeTicks
	MAX-ACCESS  read-only
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP forwarding cache table."
	::= { snIp 11 }

snRtIpFwdCacheEntry  OBJECT-TYPE
	SYNTAX  SnRtIpFwdCacheEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the IP forwarding cache table."
	INDEX   { snRtIpFwdCacheIndex }
	::= { snRtIpFwdCacheTable 1 }

SnRtIpFwdCacheEntry ::= SEQUENCE {
	snRtIpFwdCacheIndex
		Integer32,
	snRtIpFwdCacheIp
		IpAddress,
	snRtIpFwdCacheMac
		OCTET STRING,
	snRtIpFwdCacheNextHopIp
		IpAddress,
	snRtIpFwdCacheOutgoingPort
		INTEGER,
	snRtIpFwdCacheType
		INTEGER,
	snRtIpFwdCacheAction
		INTEGER,
	snRtIpFwdCacheFragCheck
		INTEGER,
	snRtIpFwdCacheSnapHdr
		INTEGER,
	snRtIpFwdCacheVLanId
		Integer32,
	snRtIpFwdCacheOutgoingIf
		Integer32
	}

snRtIpFwdCacheIndex         OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a ip forwarding cache table entry."
	::= { snRtIpFwdCacheEntry 1 }

snRtIpFwdCacheIp            OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The IP address of a station."
	::= { snRtIpFwdCacheEntry 2 }

snRtIpFwdCacheMac           OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (6))
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The Mac address of an IP station."
	::= { snRtIpFwdCacheEntry 3 }

snRtIpFwdCacheNextHopIp     OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The next hop router IP address."
	::= { snRtIpFwdCacheEntry 4 }

snRtIpFwdCacheOutgoingPort  OBJECT-TYPE
	SYNTAX  INTEGER (0..3900)
	MAX-ACCESS  read-only
	STATUS  current
	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) }
	MAX-ACCESS  read-only
	STATUS  current
	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)
			}
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The action to take."
	::= { snRtIpFwdCacheEntry 7 }

snRtIpFwdCacheFragCheck     OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"Check for fragmentation."
	::= { snRtIpFwdCacheEntry 8 }

snRtIpFwdCacheSnapHdr       OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"Apply SNAP encapsulation."
	::= { snRtIpFwdCacheEntry 9 }

snRtIpFwdCacheVLanId        OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-only
	STATUS  current
	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 }

snRtIpFwdCacheOutgoingIf  OBJECT-TYPE
	SYNTAX   Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The outgoing interface of which packets will forward to.
		Return port value of zero to indicate no outgoing port
		associated to this entry."
	::= { snRtIpFwdCacheEntry 11 }


-- Ip AS-Path Access List table

snIpAsPathAccessListTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpAsPathAccessListEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Ip As-Path Access List table."
	::= { snIp 12 }

snIpAsPathAccessListEntry       OBJECT-TYPE
	SYNTAX  SnIpAsPathAccessListEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the Ip As-Path Access List table."
	INDEX   { snIpAsPathAccessListIndex,  snIpAsPathAccessListSequence}
	::= { snIpAsPathAccessListTable 1 }

SnIpAsPathAccessListEntry ::= SEQUENCE {
	snIpAsPathAccessListIndex
		Integer32,
	snIpAsPathAccessListSequence
		Integer32,
	snIpAsPathAccessListAction
		INTEGER,
	snIpAsPathAccessListRegExpression
		OCTET STRING,
	snIpAsPathAccessListRowStatus
		INTEGER
	}

snIpAsPathAccessListIndex       OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a filter entry."
	::= { snIpAsPathAccessListEntry 1 }

snIpAsPathAccessListSequence       OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpAsPathAccessListEntry 2 }

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

snIpAsPathAccessListRegExpression    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..256))
	MAX-ACCESS  read-write
	STATUS  current
	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)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Ip Community List table."
	::= { snIp 13 }

snIpCommunityListEntry       OBJECT-TYPE
	SYNTAX  SnIpCommunityListEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the Ip Community List table."
	INDEX   { snIpCommunityListIndex,  snIpCommunityListSequence}
	::= { snIpCommunityListTable 1 }

SnIpCommunityListEntry ::= SEQUENCE {
	snIpCommunityListIndex
		Integer32,
	snIpCommunityListSequence
		Integer32,
	snIpCommunityListAction
		INTEGER,
	snIpCommunityListCommNum
		OCTET STRING,
	snIpCommunityListInternet
		INTEGER,
	snIpCommunityListNoAdvertise
		INTEGER,
	snIpCommunityListNoExport
		INTEGER,
	snIpCommunityListRowStatus
		INTEGER,
	snIpCommunityListLocalAs
		INTEGER
	}

snIpCommunityListIndex       OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a filter entry."
	::= { snIpCommunityListEntry 1 }

snIpCommunityListSequence       OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpCommunityListEntry 2 }

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

snIpCommunityListCommNum    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..80))
	MAX-ACCESS  read-write
	STATUS  current
	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) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Disabled/Enabled the Internet Community."
	::= { snIpCommunityListEntry 5 }

snIpCommunityListNoAdvertise OBJECT-TYPE
	SYNTAX  INTEGER { false(0), true(1) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Do not advertise this route to any peer (internal or external)."
	::= { snIpCommunityListEntry 6 }

snIpCommunityListNoExport OBJECT-TYPE
	SYNTAX  INTEGER { false(0), true(1) }
	MAX-ACCESS  read-write
	STATUS  current
	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)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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) }
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Ip Prefix List table."
	::= { snIp 14 }

snIpPrefixListEntry       OBJECT-TYPE
	SYNTAX  SnIpPrefixListEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the Ip Prefix List table."
	INDEX   { snIpPrefixListName,  snIpPrefixListSequence}
	::= { snIpPrefixListTable 1 }

SnIpPrefixListEntry ::= SEQUENCE {
	snIpPrefixListName
		OCTET STRING,
	snIpPrefixListSequence
		Integer32,
	snIpPrefixListDesc
		OCTET STRING,
	snIpPrefixListAction
		INTEGER,
	snIpPrefixListAddr
		IpAddress,
	snIpPrefixListMask
		IpAddress,
	snIpPrefixListGeValue
		INTEGER,
	snIpPrefixListLeValue
		INTEGER,
	snIpPrefixListRowStatus
		INTEGER,
	snIpPrefixListLength
		Integer32
	}

snIpPrefixListName    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..32))
	MAX-ACCESS  read-only
	STATUS  current
	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  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpPrefixListEntry 2 }

snIpPrefixListDesc    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..80))
	MAX-ACCESS  read-write
	STATUS  current
	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) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Action to take if the ip prefix match
		with this filter."
	::= { snIpPrefixListEntry 4 }

snIpPrefixListAddr    OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Prefix IP address."
	::= { snIpPrefixListEntry 5 }

snIpPrefixListMask    OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Prefix IP mask."
	::= { snIpPrefixListEntry 6 }

snIpPrefixListGeValue OBJECT-TYPE
		 SYNTAX   INTEGER (0..32)
		 MAX-ACCESS   read-write
		 STATUS   current
		 DESCRIPTION
			"Greater than value."
	::= { snIpPrefixListEntry 7 }

snIpPrefixListLeValue OBJECT-TYPE
		 SYNTAX   INTEGER (0..32)
		 MAX-ACCESS   read-write
		 STATUS   current
		 DESCRIPTION
			"Less than value."
	::= { snIpPrefixListEntry 8 }

snIpPrefixListRowStatus   OBJECT-TYPE
	SYNTAX	 INTEGER {
		invalid(1),
		valid(2),
		delete(3),
		create(4),
		modify(5)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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 }

snIpPrefixListLength    OBJECT-TYPE
	SYNTAX   Integer32
	MAX-ACCESS	 read-write
	STATUS	 current
	DESCRIPTION
		"Prefix IP mask length."
	::= { snIpPrefixListEntry 10 }


-- ################################ new 2 tables ###################################
-- Ip AS-Path Access List table

snIpAsPathAccessListStringTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpAsPathAccessListStringEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Ip As-Path Access List table, string version."
	::= { snIp 16 }

snIpAsPathAccessListStringEntry       OBJECT-TYPE
	SYNTAX  SnIpAsPathAccessListStringEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the Ip As-Path Access List table."
	INDEX   { snIpAsPathAccessListStringName,  snIpAsPathAccessListStringSequence}
	::= { snIpAsPathAccessListStringTable 1 }

SnIpAsPathAccessListStringEntry ::= SEQUENCE {
	snIpAsPathAccessListStringName
		DisplayString,
	snIpAsPathAccessListStringSequence
		Integer32,
	snIpAsPathAccessListStringAction
		INTEGER,
	snIpAsPathAccessListStringRegExpression
		DisplayString,
	snIpAsPathAccessListStringRowStatus
		INTEGER
	}

snIpAsPathAccessListStringName      OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a filter entry, string version."
	::= { snIpAsPathAccessListStringEntry 1 }

snIpAsPathAccessListStringSequence       OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpAsPathAccessListStringEntry 2 }

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

snIpAsPathAccessListStringRegExpression    OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..256))
	MAX-ACCESS  read-write
	STATUS  current
	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)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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 List String table

snIpCommunityListStringTable       OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnIpCommunityListStringEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Ip Community ListString table, string version."
	::= { snIp 17 }

snIpCommunityListStringEntry       OBJECT-TYPE
	SYNTAX  SnIpCommunityListStringEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the Ip Community ListString table."
	INDEX   { snIpCommunityListStringName,  snIpCommunityListStringSequence}
	::= { snIpCommunityListStringTable 1 }

SnIpCommunityListStringEntry ::= SEQUENCE {
	snIpCommunityListStringName
		DisplayString,
	snIpCommunityListStringSequence
		Integer32,
	snIpCommunityListStringAction
		INTEGER,
	snIpCommunityListStringCommNum
		OCTET STRING,
	snIpCommunityListStringInternet
		INTEGER,
	snIpCommunityListStringNoAdvertise
		INTEGER,
	snIpCommunityListStringNoExport
		INTEGER,
	snIpCommunityListStringRowStatus
		INTEGER,
	snIpCommunityListStringLocalAs
		INTEGER,
	snIpCommunityListStringType
		INTEGER,
	snIpCommunityListStringRegExpr
		DisplayString
	}

snIpCommunityListStringName       OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..32))
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a filter entry."
	::= { snIpCommunityListStringEntry 1 }

snIpCommunityListStringSequence       OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table sequence index for a filter entry."
	::= { snIpCommunityListStringEntry 2 }

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

snIpCommunityListStringCommNum    OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE(0..80))
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"A number from 1 to 0xFFFFFFFF. There are 20 of them.
		This integer number is represented by 4 OCTETs.
		This object is valid for standard community list.
		For extended type, this will return NULL string.
		The regular expression string for extended type is available at
		object snIpCommunityListStringRegExpr"
	::= { snIpCommunityListStringEntry 4 }

snIpCommunityListStringInternet OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Disabled/Enabled the Internet Community.
		Valid only for standard community list. For extended type, 0 is returned."
	::= { snIpCommunityListStringEntry 5 }

snIpCommunityListStringNoAdvertise OBJECT-TYPE
	SYNTAX  INTEGER { false(0), true(1) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Do not advertise this route to any peer (internal or external).
		Valid only for standard community list. For extended type, 0 is returned."
	::= { snIpCommunityListStringEntry 6 }

snIpCommunityListStringNoExport OBJECT-TYPE
	SYNTAX  INTEGER { false(0), true(1) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Do not advertise this route to an EBGP peer.
		Valid only for standard community list. For extended type, 0 is returned."
	::= { snIpCommunityListStringEntry 7 }

snIpCommunityListStringRowStatus   OBJECT-TYPE
	SYNTAX	 INTEGER {
		invalid(1),
		valid(2),
		delete(3),
		create(4),
		modify(5)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Send this route to peers in other sub-autonomous systems within
		the local confederation. Do not advertise this route to an
		external system.
		Valid only for standard community list. For extended type, 0 is returned."
	::= { snIpCommunityListStringEntry 9 }

snIpCommunityListStringType OBJECT-TYPE
	SYNTAX	INTEGER { standard(0), extended(1) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Type of the community list, whether standard or extended.
		Default value is standard."
	::= { snIpCommunityListStringEntry 10 }

snIpCommunityListStringRegExpr       OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..255))
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The regular expression string for extended community list.
		This object will return NULL for standard community list."
	::= { snIpCommunityListStringEntry 11 }




-- SECTION 2: MIB

-- Router IP RIP MIB

snRtIpRipGeneral                        OBJECT IDENTIFIER ::= { snRip 1 }

-- IP RIP general group

snRtIpRipEnable                 OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/disable ip rip routing."
	::= { snRtIpRipGeneral 1 }

snRtIpRipUpdateTime             OBJECT-TYPE
	SYNTAX  INTEGER (1..21845)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Ip rip update interval in seconds."
	::= { snRtIpRipGeneral 2 }

snRtIpRipRedisEnable            OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/disable redistribution to rip."
	::= { snRtIpRipGeneral 3 }

snRtIpRipRedisDefMetric         OBJECT-TYPE
	SYNTAX  INTEGER (1..15)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Default metric to be used when redistribute route to rip."
	::= { snRtIpRipGeneral 4 }

snRtIpRipSetAllPortConfig       OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS  read-write
	STATUS  current
	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(0..64))
	MAX-ACCESS  read-write
	STATUS  current
	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.
		NULL string will be returned if there are  no entries of this kind."
	::= { snRtIpRipGeneral 6 }

snRtIpRipFiltOnAllPort          OBJECT-TYPE
	SYNTAX	INTEGER {
		valid(1),
		deleteAllInBound(2),
		deleteAllOutBound(3),
		addAllInBound(4),
		addAllOutBound(5)
	}
	MAX-ACCESS	read-write
	STATUS  current
	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)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Administration distance."
	::= { snRtIpRipGeneral 8 }

snRtIpRipEcmpEnable                 OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/disable ECMP for ip rip routing."
	::= { snRtIpRipGeneral 9 }

-- 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
	MAX-ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"IP Rip port Config table."
	::= { snRip 2 }

snRtIpRipPortConfigEntry        OBJECT-TYPE
	SYNTAX  SnRtIpRipPortConfigEntry
	MAX-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
	MAX-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) }
	MAX-ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"The ip rip version on this port."
	::= { snRtIpRipPortConfigEntry 2 }

snRtIpRipPortPoisonReverse      OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  deprecated
	DESCRIPTION
		"Enable/disable poison reverse."
	::= { snRtIpRipPortConfigEntry 3 }

snRtIpRipPortLearnDefault          OBJECT-TYPE
	SYNTAX	INTEGER {
		disabled(0),
		enabled(1)
	}
	MAX-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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP Rip Redistribution table."
	::= { snRip 3 }

snRtIpRipRedisEntry             OBJECT-TYPE
	SYNTAX  SnRtIpRipRedisEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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,
	snRtIpRipRedisRouteMapName
		DisplayString
	}

snRtIpRipRedisIndex             OBJECT-TYPE
	SYNTAX  INTEGER (1..64)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The table index for a IP Rip Redistribution entry."
	::= { snRtIpRipRedisEntry 1 }

snRtIpRipRedisAction            OBJECT-TYPE
	SYNTAX  Action
	MAX-ACCESS  read-write
	STATUS  current
	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), connected(7) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The protocol to be distributed. other(1) cannot be
				 used for SNMP-SET."
	::= { snRtIpRipRedisEntry 3 }

snRtIpRipRedisIp        OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The ip address of the ip route to be distributed.
		0.0.0.0 - all routes"
	::= { snRtIpRipRedisEntry 4 }


snRtIpRipRedisMask              OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The ip subnet mask of the ip route to be distributed."
	::= { snRtIpRipRedisEntry 5 }

snRtIpRipRedisMatchMetric       OBJECT-TYPE
	SYNTAX  Metric
	MAX-ACCESS  read-write
	STATUS  current
	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)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The new metric of the route to be advertised.
		0 - use the default metric."
	::= { snRtIpRipRedisEntry 7 }

snRtIpRipRedisRowStatus         OBJECT-TYPE
	SYNTAX  RowSts
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"To create or delete a Redistribution entry."
	::= { snRtIpRipRedisEntry 8 }

snRtIpRipRedisRouteMapName      OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..32))
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The route map reference for this Redistribution entry."
	::= { snRtIpRipRedisEntry 9 }

-- IP RIP route filter table

snRtIpRipRouteFilterTable	  OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnRtIpRipRouteFilterEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"ip rip route filter table."
	::= { snRip 4 }

snRtIpRipRouteFilterEntry	  OBJECT-TYPE
	SYNTAX	SnRtIpRipRouteFilterEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The filter ID to identify a filter entry."
	::= { snRtIpRipRouteFilterEntry 1 }

snRtIpRipRouteFilterAction	   OBJECT-TYPE
	SYNTAX  Action
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Action to take if the ip rip packet matched
		with this filter."
	::= { snRtIpRipRouteFilterEntry 2 }

snRtIpRipRouteFilterIpAddr     OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  read-write
	STATUS  current
	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)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"ip rip neighbor filter table."
	::= { snRip 5 }

snRtIpRipNbrFilterEntry	     OBJECT-TYPE
	SYNTAX	SnRtIpRipNbrFilterEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The filter ID to identify a filter entry."
	::= { snRtIpRipNbrFilterEntry 1 }

snRtIpRipNbrFilterAction	 OBJECT-TYPE
	SYNTAX  Action
	MAX-ACCESS  read-write
	STATUS  current
	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
	MAX-ACCESS  read-write
	STATUS  current
	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)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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
	MAX-ACCESS  not-accessible
	STATUS  deprecated
	DESCRIPTION
		"ip interface rip access table."
	::= { snRip 6 }

snRtIpRipPortAccessEntry	     OBJECT-TYPE
	SYNTAX	SnRtIpRipPortAccessEntry
	MAX-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
	MAX-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) }
	MAX-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))
	MAX-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)
	}
	MAX-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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"IP Rip port If Config table."
	::= { snRip 7 }

snRtIpRipPortIfConfigEntry        OBJECT-TYPE
	SYNTAX  SnRtIpRipPortIfConfigEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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
	MAX-ACCESS  read-only
	STATUS  current
	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) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The ip rip version on this port."
	::= { snRtIpRipPortIfConfigEntry 2 }

snRtIpRipPortIfPoisonReverse      OBJECT-TYPE
	SYNTAX  RtrStatus
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"Enable/disable poison reverse."
	::= { snRtIpRipPortIfConfigEntry 3 }

snRtIpRipPortIfLearnDefault          OBJECT-TYPE
	SYNTAX	INTEGER {
		disabled(0),
		enabled(1)
	}
	MAX-ACCESS	read-write
	STATUS  current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"ip interface rip access table."
	::= { snRip 8 }

snRtIpRipPortIfAccessEntry	     OBJECT-TYPE
	SYNTAX	SnRtIpRipPortIfAccessEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The ip interface to which the rip filter applies."
	::= { snRtIpRipPortIfAccessEntry 1 }

snRtIpRipPortIfAccessDir	     OBJECT-TYPE
	SYNTAX  INTEGER { in(1), out(2) }
	MAX-ACCESS	read-only
	STATUS  current
	DESCRIPTION
		"The access direction of incoming packet filter
		or outgoing packet filter."
	::= { snRtIpRipPortIfAccessEntry 2 }

snRtIpRipPortIfAccessFilterList  OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..64))
	MAX-ACCESS  read-write
	STATUS  current
	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)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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 }

-- RIP Global Statistics

snRtIpRipStats                        OBJECT IDENTIFIER ::= { snRip 9 }

snRtIpRipStatsOutRequest OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of outgoing RIP requests."
	::= { snRtIpRipStats 1 }

snRtIpRipStatsOutResponse OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of outgoing RIP responses."
	::= { snRtIpRipStats 2 }

snRtIpRipStatsInRequest OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of incoming RIP requests."
	::= { snRtIpRipStats 3 }

snRtIpRipStatsInResponse OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of incoming RIP responses."
	::= { snRtIpRipStats 4 }

snRtIpRipStatsUnrecognized OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of unrecognized RIP packets."
	::= { snRtIpRipStats 5 }

snRtIpRipStatsBadVersion OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packets with bad version number."
	::= { snRtIpRipStats 6 }

snRtIpRipStatsBadAddrFamily OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packets with bad address family value."
	::= { snRtIpRipStats 7 }

snRtIpRipStatsBadRequestFormat OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packets with bad request format."
	::= { snRtIpRipStats 8 }

snRtIpRipStatsBadMetrics OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packets with bad metric value."
	::= { snRtIpRipStats 9 }

snRtIpRipStatsBadRespFormat OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packets with bad response format."
	::= { snRtIpRipStats 10 }

snRtIpRipStatsRespFromNonRipPort OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packet responses coming from non-RIP configured ports."
	::= { snRtIpRipStats 11 }

snRtIpRipStatsResponseFromLoopback OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packet responses coming from loopback ports."
	::= { snRtIpRipStats 12 }

snRtIpRipStatsPacketRejected OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Number of RIP packets rejected."
	::= { snRtIpRipStats 13 }

-- DVMRP MIB

snDvmrpMIBObjects OBJECT IDENTIFIER ::= { snDvmrp 1 }

snDvmrpVersion OBJECT-TYPE
	SYNTAX     DisplayString (SIZE(0..255))
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The router's DVMRP version information."
	::= { snDvmrpMIBObjects 1 }

snDvmrpEnable OBJECT-TYPE
	SYNTAX     RtrStatus
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"Enable or disable DVMRP on this router."
	DEFVAL     { disabled }
	::= { snDvmrpMIBObjects 2 }

snDvmrpGenerationId OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS     read-only
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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 (2..3600)
	MAX-ACCESS     read-write
	STATUS     current
	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.
			For FastIron platforms, the default value is 3 and the range is
			between 2 to 10.
			For NetIron platforms, the range is between 5 to 3600."
	DEFVAL     { 10 }
	::= { snDvmrpMIBObjects 11 }

snDvmrpDefaultRoute OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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)
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The ifIndex value of this DVMRP virtual interface."
	::= { snDvmrpVInterfaceEntry 1 }

snDvmrpVInterfaceType OBJECT-TYPE
	SYNTAX     INTEGER { tunnel(1), querier(2), subnet(3) }
	MAX-ACCESS     read-write
	STATUS     current
	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) }
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The current operational state of this DVMRP virtual
			interface."
	::= { snDvmrpVInterfaceEntry 3 }

snDvmrpVInterfaceLocalAddress OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"The IP address of the local end of this DVMRP virtual
			interface."
	::= { snDvmrpVInterfaceEntry 4 }

snDvmrpVInterfaceRemoteAddress OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"Enable or disable the advertising of this local route."
	DEFVAL     { enabled }
	::= { snDvmrpVInterfaceEntry 9 }

snDvmrpVInterfaceEncapsulation OBJECT-TYPE
	SYNTAX     RtrStatus
	MAX-ACCESS     read-write
	STATUS     current
	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)
			   }
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	DESCRIPTION
			"An entry (conceptual row) in the snDvmrpNeighborTable."
	INDEX      { snDvmrpNeighborEntryIndex }
	::= { snDvmrpNeighborTable 1 }

SnDvmrpNeighborEntry ::= SEQUENCE {
	snDvmrpNeighborEntryIndex      Integer32,
	snDvmrpNeighborVifIndex        Integer32,
	snDvmrpNeighborAddress         IpAddress,
	snDvmrpNeighborUpTime          TimeTicks,
	snDvmrpNeighborExpiryTime      TimeTicks,
	snDvmrpNeighborGenerationId    Integer32,
	snDvmrpNeighborMajorVersion    INTEGER,
	snDvmrpNeighborMinorVersion    INTEGER,
	snDvmrpNeighborCapabilities    Integer32}

snDvmrpNeighborEntryIndex OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The table entry index."
	::= { snDvmrpNeighborEntry 1 }

snDvmrpNeighborVifIndex OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The value of VifIndex for the virtual interface used to
			reach this DVMRP neighbor."
	::= { snDvmrpNeighborEntry 2 }

snDvmrpNeighborAddress OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The IP address of the DVMRP neighbor for which this entry
			contains information."
	::= { snDvmrpNeighborEntry 3 }

snDvmrpNeighborUpTime OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The time since this DVMRP neighbor (last) became a neighbor
			of the local router."
	::= { snDvmrpNeighborEntry 4 }

snDvmrpNeighborExpiryTime OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The minimum time remaining before this DVMRP neighbor will
			be aged out."
	::= { snDvmrpNeighborEntry 5 }

snDvmrpNeighborGenerationId OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The neighboring router's generation identifier."
	::= { snDvmrpNeighborEntry 6 }

snDvmrpNeighborMajorVersion OBJECT-TYPE
	SYNTAX     INTEGER (0..255)
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The neighboring router's major DVMRP version number."
	::= { snDvmrpNeighborEntry 7 }

snDvmrpNeighborMinorVersion OBJECT-TYPE
	SYNTAX     INTEGER (0..255)
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The neighboring router's minor DVMRP version number."
	::= { snDvmrpNeighborEntry 8 }

snDvmrpNeighborCapabilities OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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         Integer32,
	snDvmrpRouteSource             IpAddress,
	snDvmrpRouteSourceMask         IpAddress,
	snDvmrpRouteUpstreamNeighbor   IpAddress,
	snDvmrpRouteVifIndex           Integer32,
	snDvmrpRouteMetric             Integer32,
	snDvmrpRouteExpiryTime         TimeTicks }

snDvmrpRouteEntryIndex OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The table entry index."
	::= { snDvmrpRouteEntry 1 }

snDvmrpRouteSource OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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 Integer32
	MAX-ACCESS     read-only
	STATUS     current
	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 Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The distance in hops to the source subnet."
	::= { snDvmrpRouteEntry 6 }

snDvmrpRouteExpiryTime OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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           Integer32,
	snDvmrpRouteNextHopType               INTEGER }

snDvmrpRouteNextHopSource OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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     Integer32
	MAX-ACCESS     read-only
	STATUS     current
	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) }
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	DESCRIPTION
			"An entry (conceptual row) in the snDvmrpVIfStatTable."
	INDEX      { snDvmrpVIfStatVifIndex }
	::= { snDvmrpVIfStatTable 1 }

SnDvmrpVIfStatEntry ::= SEQUENCE {
	snDvmrpVIfStatVifIndex              INTEGER,
	snDvmrpVIfStatInPkts                Counter32,
	snDvmrpVIfStatOutPkts               Counter32,
	snDvmrpVIfStatInOctets              Counter32,
	snDvmrpVIfStatOutOctets             Counter32,
	snDvmrpVIfStatInProbePkts           Counter32,
	snDvmrpVIfStatOutProbePkts          Counter32,
	snDvmrpVIfStatDiscardProbePkts      Counter32,
	snDvmrpVIfStatInRtUpdatePkts        Counter32,
	snDvmrpVIfStatOutRtUpdatePkts       Counter32,
	snDvmrpVIfStatDiscardRtUpdatePkts   Counter32,
	snDvmrpVIfStatInGraftPkts           Counter32,
	snDvmrpVIfStatOutGraftPkts          Counter32,
	snDvmrpVIfStatDiscardGraftPkts      Counter32,
	snDvmrpVIfStatInGraftAckPkts        Counter32,
	snDvmrpVIfStatOutGraftAckPkts       Counter32,
	snDvmrpVIfStatDiscardGraftAckPkts   Counter32,
	snDvmrpVIfStatInPrunePkts           Counter32,
	snDvmrpVIfStatOutPrunePkts          Counter32,
	snDvmrpVIfStatDiscardPrunePkts      Counter32 }

snDvmrpVIfStatVifIndex OBJECT-TYPE
	SYNTAX     INTEGER (1..65535)
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The ifIndex value of this DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 1 }

snDvmrpVIfStatInPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of packets that have arrived on the DVMRP
			virtual interface."
	::= { snDvmrpVIfStatEntry 2 }

snDvmrpVIfStatOutPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of packets that have been sent on the DVMRP
			virtual interface."
	::= { snDvmrpVIfStatEntry 3 }

snDvmrpVIfStatInOctets OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of octets that have arrived on the DVMRP
			virtual interface."
	::= { snDvmrpVIfStatEntry 4 }

snDvmrpVIfStatOutOctets OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of octets that have been sent on the DVMRP
			virtual interface."
	::= { snDvmrpVIfStatEntry 5 }

snDvmrpVIfStatInProbePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of probe packets that have arrived
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 6 }

snDvmrpVIfStatOutProbePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of probe packets that have been sent
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 7 }

snDvmrpVIfStatDiscardProbePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of probe packets that have been discarded
			by the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 8 }

snDvmrpVIfStatInRtUpdatePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of route update packets that have arrived
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 9 }

snDvmrpVIfStatOutRtUpdatePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of route update packets that have been sent
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 10 }

snDvmrpVIfStatDiscardRtUpdatePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of route update packets that have been
			discarded by the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 11 }

snDvmrpVIfStatInGraftPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft packets that have arrived
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 12 }

snDvmrpVIfStatOutGraftPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft packets that have been sent
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 13 }

snDvmrpVIfStatDiscardGraftPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft packets that have been discarded
			by the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 14 }

snDvmrpVIfStatInGraftAckPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft acknowledge packets that have arrived
			on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 15 }

snDvmrpVIfStatOutGraftAckPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft acknowledge packets that have been
			sent on the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 16 }

snDvmrpVIfStatDiscardGraftAckPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft acknowledge packets that have been
			discarded by the DVMRP virtual interface."
	::= { snDvmrpVIfStatEntry 17 }

snDvmrpVIfStatInPrunePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of prune packets that have arrived on the DVMRP
			virtual interface."
	::= { snDvmrpVIfStatEntry 18 }

snDvmrpVIfStatOutPrunePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of prune packets that have been sent on the DVMRP
			virtual interface."
	::= { snDvmrpVIfStatEntry 19 }

snDvmrpVIfStatDiscardPrunePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	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)
		}
	MAX-ACCESS  read-write
	STATUS  current
	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) }
	MAX-ACCESS	read-write
	STATUS	current
	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
		 MAX-ACCESS   not-accessible
		 STATUS   current
		 DESCRIPTION
			"The FSRP Interface Table describes the interfaces from
			the viewpoint of FSRP."
		 ::= { snFsrpIntf 1 }

	 snFsrpIfEntry OBJECT-TYPE
		 SYNTAX   SnFsrpIfEntry
		 MAX-ACCESS   not-accessible
		 STATUS   current
		 DESCRIPTION
			"The FSRP Interface Entry describes one interface from
			the viewpoint of FSRP."
		 INDEX { snFsrpIfPort, snFsrpIfIpAddress }
		 ::= { snFsrpIfTable 1 }

	 SnFsrpIfEntry ::=
		 SEQUENCE {
			 snFsrpIfPort
				 Integer32,
			 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   Integer32
		 MAX-ACCESS   read-only
		 STATUS   current
		 DESCRIPTION
			"The physical router port of this FSRP interface."
		 ::= { snFsrpIfEntry 1 }

	 snFsrpIfIpAddress OBJECT-TYPE
		 SYNTAX   IpAddress
		 MAX-ACCESS   read-only
		 STATUS   current
		 DESCRIPTION
			"The IP Address of the physical router port of this
			interface."
		 ::= { snFsrpIfEntry 2 }

	 snFsrpIfVirRtrIpAddr OBJECT-TYPE
		 SYNTAX   IpAddress
		 MAX-ACCESS   read-write
		 STATUS   current
		 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
		 MAX-ACCESS   read-write
		 STATUS   current
		 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)
		 MAX-ACCESS   read-write
		 STATUS   current
		 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
		 MAX-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)
				  }
		 MAX-ACCESS   read-write
		 STATUS   current
		 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)
				  }
		 MAX-ACCESS   read-only
		 STATUS   current
		 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)
		 MAX-ACCESS   read-write
		 STATUS   current
		 DESCRIPTION
			"The heart-beat is from 1 to 120 seconds."
		 DEFVAL { 3 }
		 ::= { snFsrpIfEntry 9 }

	 snFsrpIfRouterDeadTime OBJECT-TYPE
		 SYNTAX   INTEGER (3..255)
		 MAX-ACCESS   read-write
		 STATUS   current
		 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))
		 MAX-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
		 MAX-ACCESS   read-write
		 STATUS   current
		 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
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"Enable or disable PIM on this router."
	DEFVAL     { disabled }
	::= { snPimMIBObjects 1 }

snPimNeighborRouterTimeout OBJECT-TYPE
	SYNTAX     INTEGER (60..8000)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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.
			For FastIron platforms, the default value is 180."
	DEFVAL     { 60 }
	::= { snPimMIBObjects 4 }

snPimGraftRetransmitTime OBJECT-TYPE
	SYNTAX     INTEGER (10..3600)
	MAX-ACCESS     read-write
	STATUS     current
	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 (2..3600)
	MAX-ACCESS     read-write
	STATUS     current
	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.
			For FastIron platforms, the default value is 3 and the range is
			between 2 to 10.
			For NetIron platforms, the range is between 10 to 3600."
	DEFVAL     { 180 }
	::= { snPimMIBObjects 6 }

-- The PIM Virtual Interface Table

snPimVInterfaceTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF SnPimVInterfaceEntry
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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)
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The ifIndex value of this PIM virtual interface."
	::= { snPimVInterfaceEntry 1 }

snPimVInterfaceType OBJECT-TYPE
	SYNTAX     INTEGER { tunnel(1), subnet(2) }
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"The type of PIM virtual interface, whether it uses
			a tunnel or a physical interface."
	::= { snPimVInterfaceEntry 2 }

snPimVInterfaceLocalAddress OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"The IP address of the local end of this PIM virtual
			interface."
	::= { snPimVInterfaceEntry 3 }

snPimVInterfaceLocalSubnetMask OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"The IP address of the remote end of this PIM virtual
			interface."
	::= { snPimVInterfaceEntry 5 }

snPimVInterfaceDR OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-only
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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)
			   }
	MAX-ACCESS     read-write
	STATUS     current
	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) }
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"The configured mode of this PIM interface."
	DEFVAL     { dense }
	::= { snPimVInterfaceEntry 9 }

-- The PIM Neighbor Table

snPimNeighborTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF SnPimNeighborEntry
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	DESCRIPTION
			"An entry (conceptual row) in the snPimNeighborTable."
	INDEX      { snPimNeighborEntryIndex }
	::= { snPimNeighborTable 1 }

SnPimNeighborEntry ::= SEQUENCE {
	snPimNeighborEntryIndex      Integer32,
	snPimNeighborVifIndex        Integer32,
	snPimNeighborAddress         IpAddress,
	snPimNeighborUpTime          TimeTicks,
	snPimNeighborExpiryTime      TimeTicks }

snPimNeighborEntryIndex OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The table entry index."
	::= { snPimNeighborEntry 1 }

snPimNeighborVifIndex OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The value of VifIndex for the virtual interface used to
			reach this PIM neighbor."
	::= { snPimNeighborEntry 2 }

snPimNeighborAddress OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The IP address of the PIM neighbor for which this entry
			contains information."
	::= { snPimNeighborEntry 3 }

snPimNeighborUpTime OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The time since this PIM neighbor (last) became a neighbor
			of the local router."
	::= { snPimNeighborEntry 4 }

snPimNeighborExpiryTime OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	DESCRIPTION
			"An entry (conceptual row) in the snPimVIfStatTable."
	INDEX      { snPimVIfStatVifIndex }
	::= { snPimVIfStatTable 1 }

SnPimVIfStatEntry ::= SEQUENCE {
	snPimVIfStatVifIndex              INTEGER,
	snPimVIfStatInJoinPkts            Counter32,
	snPimVIfStatOutJoinPkts           Counter32,
	snPimVIfStatDiscardJoinPkts       Counter32,
	snPimVIfStatInPrunePkts           Counter32,
	snPimVIfStatOutPrunePkts          Counter32,
	snPimVIfStatDiscardPrunePkts      Counter32,
	snPimVIfStatInAssertPkts          Counter32,
	snPimVIfStatOutAssertPkts         Counter32,
	snPimVIfStatDiscardAssertPkts     Counter32,
	snPimVIfStatInHelloPkts           Counter32,
	snPimVIfStatOutHelloPkts          Counter32,
	snPimVIfStatDiscardHelloPkts      Counter32,
	snPimVIfStatInGraftPkts           Counter32,
	snPimVIfStatOutGraftPkts          Counter32,
	snPimVIfStatDiscardGraftPkts      Counter32,
	snPimVIfStatInGraftAckPkts        Counter32,
	snPimVIfStatOutGraftAckPkts       Counter32,
	snPimVIfStatDiscardGraftAckPkts   Counter32 }

snPimVIfStatVifIndex OBJECT-TYPE
	SYNTAX     INTEGER (1..32)
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The ifIndex value of this PIM virtual interface."
	::= { snPimVIfStatEntry 1 }

snPimVIfStatInJoinPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of join packets that have arrived
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 2 }

snPimVIfStatOutJoinPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of join packets that have been sent
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 3 }

snPimVIfStatDiscardJoinPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of join packets that have been discarded
			by the PIM virtual interface."
	::= { snPimVIfStatEntry 4 }

snPimVIfStatInPrunePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of prune packets that have arrived on the PIM
			virtual interface."
	::= { snPimVIfStatEntry 5 }

snPimVIfStatOutPrunePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of prune packets that have been sent on the PIM
			virtual interface."
	::= { snPimVIfStatEntry 6 }

snPimVIfStatDiscardPrunePkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of prune packets that have been discarded
			by the PIM virtual interface."
	::= { snPimVIfStatEntry 7 }

snPimVIfStatInAssertPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of assert packets that have arrived
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 8 }

snPimVIfStatOutAssertPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of assert packets that have been sent
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 9 }

snPimVIfStatDiscardAssertPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of assert packets that have been
			discarded by the PIM virtual interface."
	::= { snPimVIfStatEntry 10 }

snPimVIfStatInHelloPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of hello packets that have arrived on the PIM
			virtual interface."
	::= { snPimVIfStatEntry 11 }

snPimVIfStatOutHelloPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of hello packets that have been sent on the PIM
			virtual interface."
	::= { snPimVIfStatEntry 12 }

snPimVIfStatDiscardHelloPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of hello packets that have been discarded
			by the PIM virtual interface."
	::= { snPimVIfStatEntry 13 }

snPimVIfStatInGraftPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft packets that have arrived
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 14 }

snPimVIfStatOutGraftPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft packets that have been sent
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 15 }

snPimVIfStatDiscardGraftPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft packets that have been discarded
			by the PIM virtual interface."
	::= { snPimVIfStatEntry 16 }

snPimVIfStatInGraftAckPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft acknowledge packets that have arrived
			on the PIM virtual interface."
	::= { snPimVIfStatEntry 17 }

snPimVIfStatOutGraftAckPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The number of graft acknowledge packets that have been
			sent on the PIM virtual interface."
	::= { snPimVIfStatEntry 18 }

snPimVIfStatDiscardGraftAckPkts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS     read-only
	STATUS     current
	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)
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	DESCRIPTION
			"Candidate Bootstrap Router information."
	::= { snPimSMMIBObjects 2 }

snPimCandidateBSREntry OBJECT-TYPE
	SYNTAX     SnPimCandidateBSR
	MAX-ACCESS     not-accessible
	STATUS     current
	DESCRIPTION
			"An entry (conceptual row) in the snPimCandidateBSRTable."
	INDEX      { snPimCandidateBSRPortID }
	::= { snPimCandidateBSRTable 1 }

SnPimCandidateBSR ::= SEQUENCE {
	snPimCandidateBSRPortID        Integer32,
	snPimCandidateBSRIPAddress     IpAddress,
	snPimCandidateBSRHashMaskLen   INTEGER,
	snPimCandidateBSRPreference    INTEGER
}

snPimCandidateBSRPortID OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The (unicast) address of the Candidate BSR."
	::= { snPimCandidateBSREntry 2 }

snPimCandidateBSRHashMaskLen OBJECT-TYPE
	SYNTAX     INTEGER (1..32)
	MAX-ACCESS     read-write
	STATUS     current
	DESCRIPTION
			"The hash mask value for this router as a candidate
			bootstrap router."
	::= { snPimCandidateBSREntry 3 }

snPimCandidateBSRPreference OBJECT-TYPE
	SYNTAX     INTEGER (0..255)
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	DESCRIPTION
			"The IP address of the Candidate-RP."
	::= { snPimRPSetEntry 3 }

snPimRPSetHoldTime OBJECT-TYPE
	SYNTAX     INTEGER (0..255)
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     not-accessible
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-only
	STATUS     current
	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
	MAX-ACCESS     read-write
	STATUS     current
	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)
		}
	MAX-ACCESS     read-write
	STATUS     current
	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
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"Loopback Interface Config table."
	::= { snLoopbackIf 1 }

snLoopbackIntfConfigEntry           OBJECT-TYPE
	SYNTAX  SnLoopbackIntfConfigEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	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)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The port index for Loopback Interface config entry."
	::= { snLoopbackIntfConfigEntry 1 }

snLoopbackIntfMode                   OBJECT-TYPE
	SYNTAX  INTEGER { disabled(0), enabled(1) }
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The Loopback Interface mode."
	::= { snLoopbackIntfConfigEntry 2 }

snLoopbackIntfRowStatus   			OBJECT-TYPE
	SYNTAX	 INTEGER {
		invalid(1),
		valid(2),
		delete(3),
		create(4),
		modify(5)
	}
	MAX-ACCESS	 read-write
	STATUS	 current
	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
