[packages] net-snmp: Update to v5.4.2.1
authorVasilis Tsiligiannis <acinonyx@openwrt.gr>
Sat, 27 Jun 2009 21:43:45 +0000 (21:43 +0000)
committerVasilis Tsiligiannis <acinonyx@openwrt.gr>
Sat, 27 Jun 2009 21:43:45 +0000 (21:43 +0000)
SVN-Revision: 16591

libs/net-snmp/Makefile
libs/net-snmp/patches/100-debian-statistics.patch [new file with mode: 0644]
libs/net-snmp/patches/110-debian-makefiles.patch [new file with mode: 0644]
libs/net-snmp/patches/120-debian-searchdirs.patch [new file with mode: 0644]
libs/net-snmp/patches/130-debian-extramibs.patch [new file with mode: 0644]
libs/net-snmp/patches/140-debian-docfiles.patch [new file with mode: 0644]
libs/net-snmp/patches/150-debian-defaultconfig.patch [new file with mode: 0644]
libs/net-snmp/patches/500-debian-subset-5.1.2-6.1.patch [deleted file]
libs/net-snmp/patches/901-ipsec-interfaces.patch [deleted file]

index d0be2ddbb5a0c0c795e31ced8dcd03d9c8d183c6..8b6bd3633a2890c269020d5f704bf33b494346bc 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=net-snmp
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=net-snmp
-PKG_VERSION:=5.1.2
-PKG_RELEASE:=5
+PKG_VERSION:=5.4.2.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/net-snmp
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/net-snmp
-PKG_MD5SUM:=8080555ab3f90011f25d5122042d9a8d
+PKG_MD5SUM:=984932520143f0c8bf7b7ce1fc9e1da1
 
 include $(INCLUDE_DIR)/package.mk
 
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -98,7 +98,7 @@ SNMP_MIB_MODULES_INCLUDED = \
        ieee802dot11 \
        mibII/at \
        mibII/icmp \
        ieee802dot11 \
        mibII/at \
        mibII/icmp \
-       mibII/interfaces \
+       mibII/ifTable \
        mibII/ip \
        mibII/snmp_mib \
        mibII/sysORTable \
        mibII/ip \
        mibII/snmp_mib \
        mibII/sysORTable \
@@ -126,12 +126,19 @@ SNMP_MIB_MODULES_INCLUDED = \
 SNMP_MIB_MODULES_EXCLUDED = \
        agent_mibs \
        agentx \
 SNMP_MIB_MODULES_EXCLUDED = \
        agent_mibs \
        agentx \
+       disman/event \
+       disman/schedule \
+       hardware \
        host \
        host \
+       if-mib \
        mibII \
        notification \
        mibII \
        notification \
+       notification-log-mib \
        snmpv3mibs \
        target \
        snmpv3mibs \
        target \
+       tcp-mib \
        ucd_snmp \
        ucd_snmp \
+       udp-mib \
        utilities \
 
 SNMP_TRANSPORTS_INCLUDED = Callback UDP
        utilities \
 
 SNMP_TRANSPORTS_INCLUDED = Callback UDP
@@ -168,13 +175,14 @@ define Build/Compile
        rm -rf $(PKG_INSTALL_DIR)
        mkdir -p $(PKG_INSTALL_DIR)
        $(MAKE) -C $(PKG_BUILD_DIR) \
        rm -rf $(PKG_INSTALL_DIR)
        mkdir -p $(PKG_INSTALL_DIR)
        $(MAKE) -C $(PKG_BUILD_DIR) \
+               LDFLAGS="$(TARGET_LDFLAGS) -lm" \
                INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
                all install
        ( cd $(PKG_INSTALL_DIR); mv ./usr/sbin/snmpd ./usr/sbin/snmpd-shared; )
        #ifneq ($(CONFIG_PACKAGE_snmpd-static),)
        ( cd $(PKG_BUILD_DIR); rm -f agent/snmpd; )
        $(MAKE) -C $(PKG_BUILD_DIR) \
                INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
                all install
        ( cd $(PKG_INSTALL_DIR); mv ./usr/sbin/snmpd ./usr/sbin/snmpd-shared; )
        #ifneq ($(CONFIG_PACKAGE_snmpd-static),)
        ( cd $(PKG_BUILD_DIR); rm -f agent/snmpd; )
        $(MAKE) -C $(PKG_BUILD_DIR) \
-               LDFLAGS="$(TARGET_LDFLAGS) -static" \
+               LDFLAGS="$(TARGET_LDFLAGS) -lm -static" \
                INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
                all install
        ( cd $(PKG_INSTALL_DIR); mv ./usr/sbin/snmpd ./usr/sbin/snmpd-static; )
                INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
                all install
        ( cd $(PKG_INSTALL_DIR); mv ./usr/sbin/snmpd ./usr/sbin/snmpd-static; )
diff --git a/libs/net-snmp/patches/100-debian-statistics.patch b/libs/net-snmp/patches/100-debian-statistics.patch
new file mode 100644 (file)
index 0000000..48695ae
--- /dev/null
@@ -0,0 +1,22 @@
+--- net-snmp-5.1.2.orig/agent/mibgroup/mibII/interfaces.c
++++ net-snmp-5.1.2/agent/mibgroup/mibII/interfaces.c
+@@ -1598,6 +1612,10 @@
+         struct ifnet   *nnew;
+         char           *stats, *ifstart = line;
++      /* Ignore interfaces with no statistics. */
++      if (strstr(line, "No statistics available."))
++          continue;
++
+         if (line[strlen(line) - 1] == '\n')
+             line[strlen(line) - 1] = '\0';
+@@ -1631,7 +1649,7 @@
+                                                &coll) != 5)) {
+             if ((scan_line_to_use == scan_line_2_2)
+                 && !strstr(line, "No statistics available"))
+-                snmp_log(LOG_ERR,
++                snmp_log(LOG_DEBUG,
+                          "/proc/net/dev data format error, line ==|%s|",
+                          line);
+             continue;
diff --git a/libs/net-snmp/patches/110-debian-makefiles.patch b/libs/net-snmp/patches/110-debian-makefiles.patch
new file mode 100644 (file)
index 0000000..372e776
--- /dev/null
@@ -0,0 +1,40 @@
+--- net-snmp-5.1.2.orig/local/Makefile.in
++++ net-snmp-5.1.2/local/Makefile.in
+@@ -58,7 +58,7 @@
+ mib2c.made: $(srcdir)/mib2c
+       if test "x$(PERL)" != "x" ; then \
+-        $(PERL) -p -e 's%^#!.*/perl.*%#!$(PERL)%;s#/usr/local/share/snmp#$(snmplibdir)#;' ${srcdir}/mib2c > mib2c.made; \
++        $(PERL) -p -e 's%^#!.*/perl.*%#!$(PERL)%;s#/usr/local/share/snmp#$(snmplibdir)#;s#/usr/local/etc/snmp#$(SNMPCONFPATH)#;' ${srcdir}/mib2c > mib2c.made; \
+       else \
+         touch mib2c.made; \
+         fi
+--- net-snmp-5.1.2.orig/mibs/Makefile.in
++++ net-snmp-5.1.2/mibs/Makefile.in
+@@ -43,11 +43,15 @@
+ UCDMIBS = UCD-SNMP-MIB.txt UCD-DEMO-MIB.txt UCD-IPFWACC-MIB.txt \
+       UCD-DLMOD-MIB.txt UCD-DISKIO-MIB.txt
++EXTRAMIBS = BGP4-MIB.txt BRIDGE-MIB.txt GNOME-SMI.txt OSPF-MIB.txt \
++      OSPF-TRAP-MIB.txt RIPv2-MIB.txt SOURCE-ROUTING-MIB.txt \
++      LM-SENSORS-MIB.txt
++
+ DEFAULTMIBS = @default_mibs_install@
+ MIBS  = $(V1MIBS) $(V2MIBS) $(V3MIBS) $(RFCMIBS) \
+       $(AGENTMIBS) $(IANAMIBS) \
+-      $(NETSNMPMIBS) $(UCDMIBS) $(DEFAULTMIBS)
++      $(NETSNMPMIBS) $(UCDMIBS) $(DEFAULTMIBS) $(EXTRAMIBS)
+ all: standardall
+--- net-snmp-5.1.2.orig/Makefile.top
++++ net-snmp-5.1.2/Makefile.top
+@@ -27,6 +27,7 @@
+ snmplibdir    = $(datadir)/snmp
+ mibdir                = $(snmplibdir)/mibs
+ persistentdir = @PERSISTENT_DIRECTORY@
++sysconfdir    = @sysconfdir@
+ DESTDIR         = @INSTALL_PREFIX@
+ INSTALL_PREFIX  = @INSTALL_PREFIX@
diff --git a/libs/net-snmp/patches/120-debian-searchdirs.patch b/libs/net-snmp/patches/120-debian-searchdirs.patch
new file mode 100644 (file)
index 0000000..cb1bade
--- /dev/null
@@ -0,0 +1,14 @@
+--- net-snmp-5.1.2.orig/local/mib2c
++++ net-snmp-5.1.2/local/mib2c
+@@ -60,8 +60,9 @@
+ if($ENV{MIB2C_DIR}) {
+    push @def_search_dirs, split(/:/, $ENV{MIB2C_DIR});
+ }
+-push @def_search_dirs, "/usr/local/share/snmp/";
+-push @def_search_dirs, "/usr/local/share/snmp/mib2c-data";
++push @def_search_dirs, "/etc/snmp/";
++push @def_search_dirs, "/usr/share/snmp/";
++push @def_search_dirs, "/usr/share/snmp/mib2c-data";
+ push @def_search_dirs, "./mib2c-conf.d";
+ sub usage {
diff --git a/libs/net-snmp/patches/130-debian-extramibs.patch b/libs/net-snmp/patches/130-debian-extramibs.patch
new file mode 100644 (file)
index 0000000..f06eedb
--- /dev/null
@@ -0,0 +1,6268 @@
+diff -ruN net-snmp-5.4.1.orig/mibs/BGP4-MIB.txt net-snmp-5.4.1/mibs/BGP4-MIB.txt
+--- net-snmp-5.4.1.orig/mibs/BGP4-MIB.txt      1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/BGP4-MIB.txt   2007-09-20 16:30:52.000000000 +0200
+@@ -0,0 +1,929 @@
++    BGP4-MIB DEFINITIONS ::= BEGIN
++
++        IMPORTS
++            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
++            IpAddress, Integer32, Counter32, Gauge32, mib-2
++                FROM SNMPv2-SMI
++            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
++                FROM SNMPv2-CONF;
++
++        bgp MODULE-IDENTITY
++            LAST-UPDATED "9902100000Z"
++            ORGANIZATION "IETF IDR Working Group"
++            CONTACT-INFO "E-mail:  idr@merit.net
++
++                          Susan Hares  (Editor)
++                          Merit Network
++                          4251 Plymouth Road
++                          Suite C
++                          Ann Arbor, MI 48105-2785
++                          Tel: +1 734 936 2095
++                          Fax: +1 734 647 3185
++                          E-mail: skh@merit.edu
++
++                          Jeff Johnson (Editor)
++                          RedBack Networks, Inc.
++                          1389 Moffett Park Drive
++                          Sunnyvale, CA  94089-1134
++                          Tel: +1 408 548 3516
++                          Fax: +1 408 548 3599
++                          E-mail: jeff@redback.com"
++            DESCRIPTION
++                    "The MIB module for BGP-4."
++            REVISION    "9902100000Z"
++            DESCRIPTION
++                    "Corrected duplicate OBJECT IDENTIFIER
++                     assignment in the conformance information."
++            REVISION    "9601080000Z"
++            DESCRIPTION
++                    "1) Fixed the definitions of the traps to
++                     make them equivalent to their initial
++                     definition in RFC 1269.
++                     2) Added compliance and conformance info."
++            ::= { mib-2 15 }
++
++        bgpVersion OBJECT-TYPE
++            SYNTAX     OCTET STRING (SIZE (1..255))
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "Vector of supported BGP protocol version
++                    numbers.  Each peer negotiates the version
++                    from this vector.  Versions are identified
++                    via the string of bits contained within this
++                    object.  The first octet contains bits 0 to
++                    7, the second octet contains bits 8 to 15,
++                    and so on, with the most significant bit
++                    referring to the lowest bit number in the
++                    octet (e.g., the MSB of the first octet
++                    refers to bit 0).  If a bit, i, is present
++                    and set, then the version (i+1) of the BGP
++                    is supported."
++            ::= { bgp 1 }
++
++        bgpLocalAs OBJECT-TYPE
++            SYNTAX     INTEGER (0..65535)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The local autonomous system number."
++            ::= { bgp 2 }
++
++
++
++        -- BGP Peer table.  This table contains, one entry per BGP
++        -- peer, information about the BGP peer.
++
++        bgpPeerTable OBJECT-TYPE
++            SYNTAX     SEQUENCE OF BgpPeerEntry
++            MAX-ACCESS not-accessible
++            STATUS     current
++            DESCRIPTION
++                    "BGP peer table.  This table contains,
++                    one entry per BGP peer, information about the
++                    connections with BGP peers."
++            ::= { bgp 3 }
++
++        bgpPeerEntry OBJECT-TYPE
++            SYNTAX     BgpPeerEntry
++            MAX-ACCESS not-accessible
++            STATUS     current
++            DESCRIPTION
++                    "Entry containing information about the
++                    connection with a BGP peer."
++            INDEX { bgpPeerRemoteAddr }
++            ::= { bgpPeerTable 1 }
++
++        BgpPeerEntry ::= SEQUENCE {
++                bgpPeerIdentifier
++                    IpAddress,
++                bgpPeerState
++                    INTEGER,
++                bgpPeerAdminStatus
++                    INTEGER,
++                bgpPeerNegotiatedVersion
++                    Integer32,
++                bgpPeerLocalAddr
++                    IpAddress,
++                bgpPeerLocalPort
++                    INTEGER,
++                bgpPeerRemoteAddr
++                    IpAddress,
++                bgpPeerRemotePort
++                    INTEGER,
++                bgpPeerRemoteAs
++                    INTEGER,
++                bgpPeerInUpdates
++                    Counter32,
++                bgpPeerOutUpdates
++                    Counter32,
++                bgpPeerInTotalMessages
++                    Counter32,
++                bgpPeerOutTotalMessages
++                    Counter32,
++                bgpPeerLastError
++                    OCTET STRING,
++                bgpPeerFsmEstablishedTransitions
++                    Counter32,
++                bgpPeerFsmEstablishedTime
++                    Gauge32,
++                bgpPeerConnectRetryInterval
++                    INTEGER,
++                bgpPeerHoldTime
++                    INTEGER,
++                bgpPeerKeepAlive
++                    INTEGER,
++                bgpPeerHoldTimeConfigured
++                    INTEGER,
++                bgpPeerKeepAliveConfigured
++                    INTEGER,
++                bgpPeerMinASOriginationInterval
++                    INTEGER,
++                bgpPeerMinRouteAdvertisementInterval
++                    INTEGER,
++                bgpPeerInUpdateElapsedTime
++                    Gauge32
++                }
++
++        bgpPeerIdentifier OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The BGP Identifier of this entry's BGP peer."
++            ::= { bgpPeerEntry 1 }
++
++        bgpPeerState OBJECT-TYPE
++            SYNTAX     INTEGER {
++                                idle(1),
++                                connect(2),
++                                active(3),
++                                opensent(4),
++                                openconfirm(5),
++                                established(6)
++                       }
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The BGP peer connection state."
++            ::= { bgpPeerEntry 2 }
++
++        bgpPeerAdminStatus OBJECT-TYPE
++            SYNTAX     INTEGER {
++                                stop(1),
++                                start(2)
++                       }
++            MAX-ACCESS read-write
++            STATUS     current
++            DESCRIPTION
++                    "The desired state of the BGP connection.  A
++                    transition from 'stop' to 'start' will cause
++                    the BGP Start Event to be generated.  A
++                    transition from 'start' to 'stop' will cause
++                    the BGP Stop Event to be generated.  This
++                    parameter can be used to restart BGP peer
++                    connections.  Care should be used in providing
++                    write access to this object without adequate
++                    authentication."
++            ::= { bgpPeerEntry 3 }
++
++        bgpPeerNegotiatedVersion OBJECT-TYPE
++            SYNTAX     Integer32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The negotiated version of BGP running between
++                    the two peers."
++            ::= { bgpPeerEntry 4 }
++
++        bgpPeerLocalAddr OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The local IP address of this entry's BGP
++                    connection."
++            ::= { bgpPeerEntry 5 }
++
++        bgpPeerLocalPort OBJECT-TYPE
++            SYNTAX     INTEGER (0..65535)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The local port for the TCP connection between
++                    the BGP peers."
++            ::= { bgpPeerEntry 6 }
++
++        bgpPeerRemoteAddr OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The remote IP address of this entry's BGP
++                    peer."
++            ::= { bgpPeerEntry 7 }
++
++        bgpPeerRemotePort OBJECT-TYPE
++            SYNTAX     INTEGER (0..65535)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The remote port for the TCP connection between
++                    the BGP peers.  Note that the objects
++                    bgpPeerLocalAddr, bgpPeerLocalPort,
++                    bgpPeerRemoteAddr and bgpPeerRemotePort
++                    provide the appropriate reference to the
++                    standard MIB TCP connection table."
++            ::= { bgpPeerEntry 8 }
++
++        bgpPeerRemoteAs OBJECT-TYPE
++            SYNTAX     INTEGER (0..65535)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The remote autonomous system number."
++            ::= { bgpPeerEntry 9 }
++
++        bgpPeerInUpdates OBJECT-TYPE
++            SYNTAX     Counter32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The number of BGP UPDATE messages received on
++                    this connection.  This object should be
++                    initialized to zero (0) when the connection is
++                    established."
++            ::= { bgpPeerEntry 10 }
++
++        bgpPeerOutUpdates OBJECT-TYPE
++            SYNTAX     Counter32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The number of BGP UPDATE messages transmitted
++                    on this connection.  This object should be
++                    initialized to zero (0) when the connection is
++                    established."
++            ::= { bgpPeerEntry 11 }
++
++        bgpPeerInTotalMessages OBJECT-TYPE
++            SYNTAX     Counter32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The total number of messages received from the
++                    remote peer on this connection.  This object
++                    should be initialized to zero when the
++                    connection is established."
++            ::= { bgpPeerEntry 12 }
++
++        bgpPeerOutTotalMessages OBJECT-TYPE
++            SYNTAX     Counter32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The total number of messages transmitted to
++                    the remote peer on this connection.  This object
++                    should be initialized to zero when the
++                    connection is established."
++            ::= { bgpPeerEntry 13 }
++
++        bgpPeerLastError OBJECT-TYPE
++            SYNTAX     OCTET STRING (SIZE (2))
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The last error code and subcode seen by this
++                    peer on this connection.  If no error has
++                    occurred, this field is zero.  Otherwise, the
++                    first byte of this two byte OCTET STRING
++                    contains the error code, and the second byte
++                    contains the subcode."
++            ::= { bgpPeerEntry 14 }
++
++        bgpPeerFsmEstablishedTransitions OBJECT-TYPE
++            SYNTAX     Counter32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The total number of times the BGP FSM
++                    transitioned into the established state."
++            ::= { bgpPeerEntry 15 }
++
++        bgpPeerFsmEstablishedTime OBJECT-TYPE
++            SYNTAX     Gauge32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "This timer indicates how long (in seconds) this
++                    peer has been in the Established state or how long
++                    since this peer was last in the Established state.
++                    It is set to zero when a new peer is configured or
++                    the router is booted."
++            ::= { bgpPeerEntry 16 }
++
++        bgpPeerConnectRetryInterval OBJECT-TYPE
++            SYNTAX     INTEGER (1..65535)
++            MAX-ACCESS read-write
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the ConnectRetry
++                    timer.  The suggested value for this timer is
++                    120 seconds."
++            ::= { bgpPeerEntry 17 }
++
++        bgpPeerHoldTime OBJECT-TYPE
++            SYNTAX     INTEGER  ( 0 | 3..65535 )
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the Hold Timer
++                    established with the peer.  The value of this
++                    object is calculated by this BGP speaker by
++                    using the smaller of the value in
++                    bgpPeerHoldTimeConfigured and the Hold Time
++                    received in the OPEN message.  This value
++                    must be at lease three seconds if it is not
++                    zero (0) in which case the Hold Timer has
++                    not been established with the peer, or, the
++                    value of bgpPeerHoldTimeConfigured is zero (0)."
++            ::= { bgpPeerEntry 18 }
++
++        bgpPeerKeepAlive OBJECT-TYPE
++            SYNTAX     INTEGER ( 0 | 1..21845 )
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the KeepAlive
++                    timer established with the peer.  The value of
++                    this object is calculated by this BGP speaker
++                    such that, when compared with bgpPeerHoldTime,
++                    it has the same proportion as what
++                    bgpPeerKeepAliveConfigured has when compared
++                    with bgpPeerHoldTimeConfigured.  If the value
++                    of this object is zero (0), it indicates that
++                    the KeepAlive timer has not been established
++                    with the peer, or, the value of
++                    bgpPeerKeepAliveConfigured is zero (0)."
++            ::= { bgpPeerEntry 19 }
++
++        bgpPeerHoldTimeConfigured OBJECT-TYPE
++            SYNTAX     INTEGER ( 0 | 3..65535 )
++            MAX-ACCESS read-write
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the Hold Time
++                    configured for this BGP speaker with this peer.
++                    This value is placed in an OPEN message sent to
++                    this peer by this BGP speaker, and is compared
++                    with the Hold Time field in an OPEN message
++                    received from the peer when determining the Hold
++                    Time (bgpPeerHoldTime) with the peer.  This value
++                    must not be less than three seconds if it is not
++                    zero (0) in which case the Hold Time is NOT to be
++                    established with the peer.  The suggested value for
++                    this timer is 90 seconds."
++            ::= { bgpPeerEntry 20 }
++
++        bgpPeerKeepAliveConfigured OBJECT-TYPE
++            SYNTAX     INTEGER ( 0 | 1..21845 )
++            MAX-ACCESS read-write
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the KeepAlive timer
++                    configured for this BGP speaker with this peer.
++                    The value of this object will only determine the
++                    KEEPALIVE messages' frequency relative to the value
++                    specified in bgpPeerHoldTimeConfigured; the actual
++                    time interval for the KEEPALIVE messages is
++                    indicated by bgpPeerKeepAlive.  A reasonable
++                    maximum value for this timer would be configured to
++                    be one third of that of bgpPeerHoldTimeConfigured.
++                    If the value of this object is zero (0), no
++                    periodical KEEPALIVE messages are sent to the peer
++                    after the BGP connection has been established.  The
++                    suggested value for this timer is 30 seconds."
++            ::= { bgpPeerEntry 21 }
++
++        bgpPeerMinASOriginationInterval OBJECT-TYPE
++            SYNTAX     INTEGER (1..65535)
++            MAX-ACCESS read-write
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the
++                    MinASOriginationInterval timer.
++                    The suggested value for this timer is 15 seconds."
++            ::= { bgpPeerEntry 22 }
++
++        bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
++            SYNTAX     INTEGER (1..65535)
++            MAX-ACCESS read-write
++            STATUS     current
++            DESCRIPTION
++                    "Time interval in seconds for the
++                    MinRouteAdvertisementInterval timer.
++                    The suggested value for this timer is 30 seconds."
++            ::= { bgpPeerEntry 23 }
++
++        bgpPeerInUpdateElapsedTime OBJECT-TYPE
++            SYNTAX     Gauge32
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "Elapsed time in seconds since the last BGP
++                    UPDATE message was received from the peer.
++                    Each time bgpPeerInUpdates is incremented,
++                    the value of this object is set to zero (0)."
++            ::= { bgpPeerEntry 24 }
++
++
++
++        bgpIdentifier OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The BGP Identifier of local system."
++            ::= { bgp 4 }
++
++
++
++        -- Received Path Attribute Table.  This table contains,
++        -- one entry per path to a network, path attributes
++        -- received from all peers running BGP version 3 or less.
++        -- This table is obsolete, having been replaced in
++        -- functionality with the bgp4PathAttrTable.
++
++        bgpRcvdPathAttrTable OBJECT-TYPE
++            SYNTAX     SEQUENCE OF BgpPathAttrEntry
++            MAX-ACCESS not-accessible
++            STATUS     obsolete
++            DESCRIPTION
++                    "The BGP Received Path Attribute Table contains
++                    information about paths to destination networks
++                    received from all peers running BGP version 3 or
++                    less."
++            ::= { bgp 5 }
++
++        bgpPathAttrEntry OBJECT-TYPE
++            SYNTAX     BgpPathAttrEntry
++            MAX-ACCESS not-accessible
++            STATUS     obsolete
++            DESCRIPTION
++                    "Information about a path to a network."
++            INDEX { bgpPathAttrDestNetwork,
++                    bgpPathAttrPeer        }
++            ::= { bgpRcvdPathAttrTable 1 }
++
++        BgpPathAttrEntry ::= SEQUENCE {
++            bgpPathAttrPeer
++                 IpAddress,
++            bgpPathAttrDestNetwork
++                 IpAddress,
++            bgpPathAttrOrigin
++                 INTEGER,
++            bgpPathAttrASPath
++                 OCTET STRING,
++            bgpPathAttrNextHop
++                 IpAddress,
++            bgpPathAttrInterASMetric
++                 Integer32
++        }
++
++        bgpPathAttrPeer OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     obsolete
++            DESCRIPTION
++                    "The IP address of the peer where the path
++                    information was learned."
++            ::= { bgpPathAttrEntry 1 }
++
++        bgpPathAttrDestNetwork OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     obsolete
++            DESCRIPTION
++                    "The address of the destination network."
++            ::= { bgpPathAttrEntry 2 }
++
++        bgpPathAttrOrigin OBJECT-TYPE
++            SYNTAX     INTEGER {
++                           igp(1),-- networks are interior
++                           egp(2),-- networks learned via EGP
++                           incomplete(3) -- undetermined
++                       }
++            MAX-ACCESS read-only
++            STATUS     obsolete
++            DESCRIPTION
++                 "The ultimate origin of the path information."
++            ::= { bgpPathAttrEntry 3 }
++
++        bgpPathAttrASPath OBJECT-TYPE
++            SYNTAX     OCTET STRING (SIZE (2..255))
++            MAX-ACCESS read-only
++            STATUS     obsolete
++            DESCRIPTION
++                    "The set of ASs that must be traversed to reach
++                    the network.  This object is probably best
++                    represented as SEQUENCE OF INTEGER.  For SMI
++                    compatibility, though, it is represented as
++                    OCTET STRING.  Each AS is represented as a pair
++                    of octets according to the following algorithm:
++
++                        first-byte-of-pair = ASNumber / 256;
++                        second-byte-of-pair = ASNumber & 255;"
++            ::= { bgpPathAttrEntry 4 }
++
++        bgpPathAttrNextHop OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     obsolete
++            DESCRIPTION
++                    "The address of the border router that should
++                    be used for the destination network."
++            ::= { bgpPathAttrEntry 5 }
++
++        bgpPathAttrInterASMetric OBJECT-TYPE
++            SYNTAX     Integer32
++            MAX-ACCESS read-only
++            STATUS     obsolete
++            DESCRIPTION
++                    "The optional inter-AS metric.  If this
++                    attribute has not been provided for this route,
++                    the value for this object is 0."
++            ::= { bgpPathAttrEntry 6 }
++
++
++
++        -- BGP-4 Received Path Attribute Table.  This table contains,
++        -- one entry per path to a network, path attributes
++        -- received from all peers running BGP-4.
++
++        bgp4PathAttrTable OBJECT-TYPE
++            SYNTAX     SEQUENCE OF Bgp4PathAttrEntry
++            MAX-ACCESS not-accessible
++            STATUS     current
++            DESCRIPTION
++                    "The BGP-4 Received Path Attribute Table contains
++                    information about paths to destination networks
++                    received from all BGP4 peers."
++            ::= { bgp 6 }
++
++        bgp4PathAttrEntry OBJECT-TYPE
++            SYNTAX     Bgp4PathAttrEntry
++            MAX-ACCESS not-accessible
++            STATUS     current
++            DESCRIPTION
++                    "Information about a path to a network."
++            INDEX { bgp4PathAttrIpAddrPrefix,
++                    bgp4PathAttrIpAddrPrefixLen,
++                    bgp4PathAttrPeer            }
++            ::= { bgp4PathAttrTable 1 }
++
++        Bgp4PathAttrEntry ::= SEQUENCE {
++            bgp4PathAttrPeer
++                 IpAddress,
++            bgp4PathAttrIpAddrPrefixLen
++                 INTEGER,
++            bgp4PathAttrIpAddrPrefix
++                 IpAddress,
++            bgp4PathAttrOrigin
++                 INTEGER,
++            bgp4PathAttrASPathSegment
++                 OCTET STRING,
++            bgp4PathAttrNextHop
++                 IpAddress,
++            bgp4PathAttrMultiExitDisc
++                 INTEGER,
++            bgp4PathAttrLocalPref
++                 INTEGER,
++            bgp4PathAttrAtomicAggregate
++                 INTEGER,
++            bgp4PathAttrAggregatorAS
++                 INTEGER,
++            bgp4PathAttrAggregatorAddr
++                 IpAddress,
++            bgp4PathAttrCalcLocalPref
++                 INTEGER,
++            bgp4PathAttrBest
++                 INTEGER,
++            bgp4PathAttrUnknown
++                 OCTET STRING
++        }
++
++        bgp4PathAttrPeer OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The IP address of the peer where the path
++                    information was learned."
++            ::= { bgp4PathAttrEntry 1 }
++        bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
++            SYNTAX     INTEGER (0..32)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "Length in bits of the IP address prefix in the
++                    Network Layer Reachability Information field."
++            ::= { bgp4PathAttrEntry 2 }
++
++        bgp4PathAttrIpAddrPrefix OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "An IP address prefix in the Network Layer
++                    Reachability Information field.  This object
++                    is an IP address containing the prefix with
++                    length specified by bgp4PathAttrIpAddrPrefixLen.
++                    Any bits beyond the length specified by
++                    bgp4PathAttrIpAddrPrefixLen are zeroed."
++            ::= { bgp4PathAttrEntry 3 }
++
++        bgp4PathAttrOrigin OBJECT-TYPE
++            SYNTAX     INTEGER {
++                                 igp(1),-- networks are interior
++                                 egp(2),-- networks learned via EGP
++                                 incomplete(3) -- undetermined
++                               }
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The ultimate origin of the path information."
++            ::= { bgp4PathAttrEntry 4 }
++
++        bgp4PathAttrASPathSegment OBJECT-TYPE
++            SYNTAX     OCTET STRING (SIZE (2..255))
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The sequence of AS path segments.  Each AS
++                    path segment is represented by a triple
++                    <type, length, value>.
++
++                    The type is a 1-octet field which has two
++                    possible values:
++                         1      AS_SET: unordered set of ASs a
++                                     route in the UPDATE message
++                                     has traversed
++                         2      AS_SEQUENCE: ordered set of ASs
++                                     a route in the UPDATE message
++                                     has traversed.
++
++                    The length is a 1-octet field containing the
++                    number of ASs in the value field.
++
++                    The value field contains one or more AS
++                    numbers, each AS is represented in the octet
++                    string as a pair of octets according to the
++                    following algorithm:
++
++                        first-byte-of-pair = ASNumber / 256;
++                        second-byte-of-pair = ASNumber & 255;"
++            ::= { bgp4PathAttrEntry 5 }
++
++        bgp4PathAttrNextHop OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The address of the border router that should
++                    be used for the destination network."
++            ::= { bgp4PathAttrEntry 6 }
++
++        bgp4PathAttrMultiExitDisc OBJECT-TYPE
++            SYNTAX     INTEGER (-1..2147483647)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "This metric is used to discriminate between
++                    multiple exit points to an adjacent autonomous
++                    system.  A value of -1 indicates the absence of
++                    this attribute."
++            ::= { bgp4PathAttrEntry 7 }
++
++        bgp4PathAttrLocalPref OBJECT-TYPE
++            SYNTAX     INTEGER (-1..2147483647)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The originating BGP4 speaker's degree of
++                    preference for an advertised route.  A value of
++                    -1 indicates the absence of this attribute."
++            ::= { bgp4PathAttrEntry 8 }
++
++        bgp4PathAttrAtomicAggregate OBJECT-TYPE
++            SYNTAX     INTEGER {
++                           lessSpecificRrouteNotSelected(1),
++                           lessSpecificRouteSelected(2)
++                       }
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "Whether or not a system has selected
++                    a less specific route without selecting a
++                    more specific route."
++            ::= { bgp4PathAttrEntry 9 }
++
++        bgp4PathAttrAggregatorAS OBJECT-TYPE
++            SYNTAX     INTEGER (0..65535)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The AS number of the last BGP4 speaker that
++                    performed route aggregation.  A value of zero (0)
++                    indicates the absence of this attribute."
++            ::= { bgp4PathAttrEntry 10 }
++
++        bgp4PathAttrAggregatorAddr OBJECT-TYPE
++            SYNTAX     IpAddress
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The IP address of the last BGP4 speaker that
++                     performed route aggregation.  A value of
++                     0.0.0.0 indicates the absence of this attribute."
++            ::= { bgp4PathAttrEntry 11 }
++
++        bgp4PathAttrCalcLocalPref OBJECT-TYPE
++            SYNTAX     INTEGER (-1..2147483647)
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "The degree of preference calculated by the
++                    receiving BGP4 speaker for an advertised route.
++                    A value of -1 indicates the absence of this
++                    attribute."
++            ::= { bgp4PathAttrEntry 12 }
++
++        bgp4PathAttrBest OBJECT-TYPE
++            SYNTAX     INTEGER {
++                           false(1),-- not chosen as best route
++                           true(2) -- chosen as best route
++                       }
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "An indication of whether or not this route
++                    was chosen as the best BGP4 route."
++            ::= { bgp4PathAttrEntry 13 }
++
++        bgp4PathAttrUnknown OBJECT-TYPE
++            SYNTAX     OCTET STRING (SIZE(0..255))
++            MAX-ACCESS read-only
++            STATUS     current
++            DESCRIPTION
++                    "One or more path attributes not understood
++                     by this BGP4 speaker.  Size zero (0) indicates
++                     the absence of such attribute(s).  Octets
++                     beyond the maximum size, if any, are not
++                     recorded by this object."
++            ::= { bgp4PathAttrEntry 14 }
++
++
++        -- Traps.
++
++        -- note that in RFC 1657, bgpTraps was incorrectly
++        -- assigned a value of { bgp 7 }, and each of the
++        -- traps had the bgpPeerRemoteAddr object inappropriately
++        -- removed from their OBJECTS clause.  The following
++        -- definitions restore the semantics of the traps as
++        -- they were initially defined in RFC 1269.
++
++        -- { bgp 7 } is unused
++
++        bgpTraps          OBJECT IDENTIFIER ::= { bgp 0 }
++
++        bgpEstablished NOTIFICATION-TYPE
++            OBJECTS { bgpPeerRemoteAddr,
++                      bgpPeerLastError,
++                      bgpPeerState      }
++            STATUS  current
++            DESCRIPTION
++                    "The BGP Established event is generated when
++                    the BGP FSM enters the ESTABLISHED state."
++            ::= { bgpTraps 1 }
++
++        bgpBackwardTransition NOTIFICATION-TYPE
++            OBJECTS { bgpPeerRemoteAddr,
++                      bgpPeerLastError,
++                      bgpPeerState      }
++            STATUS  current
++            DESCRIPTION
++                    "The BGPBackwardTransition Event is generated
++                    when the BGP FSM moves from a higher numbered
++                    state to a lower numbered state."
++            ::= { bgpTraps 2 }
++
++        -- conformance information
++
++        bgpMIBConformance OBJECT IDENTIFIER ::= { bgp 8 }
++        bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpMIBConformance 1 }
++        bgpMIBGroups      OBJECT IDENTIFIER ::= { bgpMIBConformance 2 }
++
++        -- compliance statements
++
++        bgpMIBCompliance MODULE-COMPLIANCE
++            STATUS  current
++            DESCRIPTION
++                    "The compliance statement for entities which
++                     implement the BGP4 mib."
++            MODULE  -- this module
++                MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
++                                   bgp4MIBPeerGroup,
++                                   bgp4MIBPathAttrGroup,
++                                   bgp4MIBNotificationGroup }
++            ::= { bgpMIBCompliances 1 }
++
++        -- units of conformance
++
++        bgp4MIBGlobalsGroup OBJECT-GROUP
++            OBJECTS { bgpVersion,
++                      bgpLocalAs,
++                      bgpIdentifier }
++            STATUS  current
++            DESCRIPTION
++                    "A collection of objects providing information
++                     on global BGP state."
++            ::= { bgpMIBGroups 1 }
++
++        bgp4MIBPeerGroup OBJECT-GROUP
++            OBJECTS { bgpPeerIdentifier,
++                      bgpPeerState,
++                      bgpPeerAdminStatus,
++                      bgpPeerNegotiatedVersion,
++                      bgpPeerLocalAddr,
++                      bgpPeerLocalPort,
++                      bgpPeerRemoteAddr,
++                      bgpPeerRemotePort,
++                      bgpPeerRemoteAs,
++                      bgpPeerInUpdates,
++                      bgpPeerOutUpdates,
++                      bgpPeerInTotalMessages,
++                      bgpPeerOutTotalMessages,
++                      bgpPeerLastError,
++                      bgpPeerFsmEstablishedTransitions,
++                      bgpPeerFsmEstablishedTime,
++                      bgpPeerConnectRetryInterval,
++                      bgpPeerHoldTime,
++                      bgpPeerKeepAlive,
++                      bgpPeerHoldTimeConfigured,
++                      bgpPeerKeepAliveConfigured,
++                      bgpPeerMinASOriginationInterval,
++                      bgpPeerMinRouteAdvertisementInterval,
++                      bgpPeerInUpdateElapsedTime }
++            STATUS  current
++            DESCRIPTION
++                    "A collection of objects for managing
++                     BGP peers."
++            ::= { bgpMIBGroups 2 }
++
++        bgp4MIBRcvdPathAttrGroup OBJECT-GROUP
++            OBJECTS { bgpPathAttrPeer,
++                      bgpPathAttrDestNetwork,
++                      bgpPathAttrOrigin,
++                      bgpPathAttrASPath,
++                      bgpPathAttrNextHop,
++                      bgpPathAttrInterASMetric }
++            STATUS  obsolete
++            DESCRIPTION
++                    "A collection of objects for managing BGP
++                     path entries.
++
++                     This conformance group is obsolete,
++                     replaced by bgp4MIBPathAttrGroup."
++            ::= { bgpMIBGroups 3 }
++
++        bgp4MIBPathAttrGroup OBJECT-GROUP
++            OBJECTS { bgp4PathAttrPeer,
++                      bgp4PathAttrIpAddrPrefixLen,
++                      bgp4PathAttrIpAddrPrefix,
++                      bgp4PathAttrOrigin,
++                      bgp4PathAttrASPathSegment,
++                      bgp4PathAttrNextHop,
++                      bgp4PathAttrMultiExitDisc,
++                      bgp4PathAttrLocalPref,
++                      bgp4PathAttrAtomicAggregate,
++                      bgp4PathAttrAggregatorAS,
++                      bgp4PathAttrAggregatorAddr,
++                      bgp4PathAttrCalcLocalPref,
++                      bgp4PathAttrBest,
++                      bgp4PathAttrUnknown }
++            STATUS  current
++            DESCRIPTION
++                    "A collection of objects for managing
++                     BGP path entries."
++            ::= { bgpMIBGroups 4 }
++
++        bgp4MIBNotificationGroup NOTIFICATION-GROUP
++            NOTIFICATIONS { bgpEstablished,
++                            bgpBackwardTransition }
++            STATUS  current
++            DESCRIPTION
++                    "A collection of notifications for signaling
++                    changes in BGP peer relationships."
++            ::= { bgpMIBGroups 5 }
++
++    END
+diff -ruN net-snmp-5.4.1.orig/mibs/BRIDGE-MIB.txt net-snmp-5.4.1/mibs/BRIDGE-MIB.txt
+--- net-snmp-5.4.1.orig/mibs/BRIDGE-MIB.txt    1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/BRIDGE-MIB.txt 2007-09-20 16:30:52.000000000 +0200
+@@ -0,0 +1,1075 @@
++BRIDGE-MIB DEFINITIONS ::= BEGIN
++
++IMPORTS
++           Counter, TimeTicks
++                   FROM RFC1155-SMI
++           mib-2
++                   FROM RFC1213-MIB
++           OBJECT-TYPE
++                   FROM RFC-1212
++           TRAP-TYPE
++                   FROM RFC-1215;
++
++-- All representations of MAC addresses in this MIB Module
++-- use, as a textual convention (i.e. this convention does
++-- not affect their encoding), the data type:
++MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
++                                          -- in the
++                                          -- "canonical"
++                                          -- order
++-- defined by IEEE 802.1a, i.e., as if it were transmitted
++-- least significant bit first, even though 802.5 (in
++-- contrast to other n802.x protocols) requires MAC
++-- addresses to be transmitted most significant bit first.
++--
++-- 16-bit addresses, if needed, are represented by setting
++-- their upper 4 octets to all 0's, i.e., AAFF would be
++-- represented as 00000000AAFF.
++
++-- Similarly, all representations of Bridge-Id in this MIB
++-- Module use, as a textual convention (i.e. this
++-- convention does not affect their encoding), the data
++-- type:
++BridgeId ::= OCTET STRING (SIZE (8))   -- the
++                                       -- Bridge-Identifier
++                                       -- as used in the
++                                       -- Spanning Tree
++-- Protocol to uniquely identify a bridge.  Its first two
++-- octets (in network byte order) contain a priority
++-- value and its last 6 octets contain the MAC address
++-- used to refer to a bridge in a unique fashion
++-- (typically, the numerically smallest MAC address
++-- of all ports on the bridge).
++
++-- Several objects in this MIB module represent values of
++-- timers used by the Spanning Tree Protocol.  In this
++-- MIB, these timers have values in units of hundreths of
++-- a second (i.e. 1/100 secs).
++-- These timers, when stored in a Spanning Tree Protocol's
++-- BPDU, are in units of 1/256 seconds.  Note, however,
++-- that 802.1D-1990 specifies a settable granularity of
++-- no more than 1 second for these timers.  To avoid
++-- ambiguity, a data type is defined here as a textual
++-- convention and all representation of these timers
++-- in this MIB module are defined using this data type.  An
++-- algorithm is also defined for converting between the
++-- different units, to ensure a timer's value is not
++-- distorted by multiple conversions.
++-- The data type is:
++
++Timeout ::= INTEGER -- a STP timer in units of 1/100 seconds
++
++-- To convert a Timeout value into a value in units of
++-- 1/256 seconds, the following algorithm should be used:
++--
++--      b  = floor( (n * 256) / 100)
++--
++-- where:
++--      floor   =  quotient [ignore remainder]
++--      n is the value in 1/100 second units
++--      b is the value in 1/256 second units
++--
++-- To convert the value from 1/256 second units back to
++-- 1/100 seconds, the following algorithm should be used:
++--
++--      n = ceiling( (b * 100) / 256)
++--
++-- where:
++--      ceiling =  quotient [if remainder is 0], or
++--                 quotient + 1 [if remainder is non-zero]
++--      n is the value in 1/100 second units
++--      b is the value in 1/256 second units
++--
++-- Note: it is important that the arithmetic operations are
++-- done in the order specified (i.e., multiply first, divide
++-- second).
++
++   dot1dBridge   OBJECT IDENTIFIER ::= { mib-2 17 }
++
++-- groups in the Bridge MIB
++
++dot1dBase     OBJECT IDENTIFIER ::= { dot1dBridge 1 }
++
++dot1dStp      OBJECT IDENTIFIER ::= { dot1dBridge 2 }
++
++dot1dSr       OBJECT IDENTIFIER ::= { dot1dBridge 3 }
++-- separately documented
++
++dot1dTp       OBJECT IDENTIFIER ::= { dot1dBridge 4 }
++
++dot1dStatic   OBJECT IDENTIFIER ::= { dot1dBridge 5 }
++
++-- the dot1dBase group
++
++-- Implementation of the dot1dBase group is mandatory for all
++-- bridges.
++
++dot1dBaseBridgeAddress OBJECT-TYPE
++    SYNTAX  MacAddress
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The MAC address used by this bridge when it must
++            be referred to in a unique fashion.   It is
++            recommended that this be the numerically smallest
++            MAC address of all ports that belong to this
++            bridge.  However it is only required to be unique.
++            When concatenated with dot1dStpPriority a unique
++            BridgeIdentifier is formed which is used in the
++            Spanning Tree Protocol."
++    REFERENCE
++            "IEEE 802.1D-1990: Sections 6.4.1.1.3 and 3.12.5"
++    ::= { dot1dBase 1 }
++
++dot1dBaseNumPorts OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of ports controlled by this bridging
++            entity."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.4.1.1.3"
++    ::= { dot1dBase 2 }
++
++dot1dBaseType OBJECT-TYPE
++    SYNTAX  INTEGER {
++                unknown(1),
++                transparent-only(2),
++                sourceroute-only(3),
++                srt(4)
++            }
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "Indicates what type of bridging this bridge can
++            perform.  If a bridge is actually performing a
++            certain type of bridging this will be indicated by
++            entries in the port table for the given type."
++    ::= { dot1dBase 3 }
++
++-- The Generic Bridge Port Table
++
++dot1dBasePortTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dBasePortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table that contains generic information about
++            every port that is associated with this bridge.
++            Transparent, source-route, and srt ports are
++            included."
++    ::= { dot1dBase 4 }
++
++dot1dBasePortEntry OBJECT-TYPE
++    SYNTAX  Dot1dBasePortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A list of information for each port of the
++            bridge."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.4.2, 6.6.1"
++    INDEX  { dot1dBasePort }
++    ::= { dot1dBasePortTable 1 }
++
++Dot1dBasePortEntry ::=
++    SEQUENCE {
++        dot1dBasePort
++            INTEGER,
++        dot1dBasePortIfIndex
++            INTEGER,
++        dot1dBasePortCircuit
++
++            OBJECT IDENTIFIER,
++        dot1dBasePortDelayExceededDiscards
++            Counter,
++        dot1dBasePortMtuExceededDiscards
++            Counter
++    }
++
++dot1dBasePort OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the port for which this entry
++            contains bridge management information."
++    ::= { dot1dBasePortEntry 1 }
++
++dot1dBasePortIfIndex OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The value of the instance of the ifIndex object,
++            defined in MIB-II, for the interface corresponding
++            to this port."
++    ::= { dot1dBasePortEntry 2 }
++
++dot1dBasePortCircuit OBJECT-TYPE
++    SYNTAX  OBJECT IDENTIFIER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "For a port which (potentially) has the same value
++            of dot1dBasePortIfIndex as another port on the
++            same bridge, this object contains the name of an
++            object instance unique to this port.  For example,
++            in the case where multiple ports correspond one-
++            to-one with multiple X.25 virtual circuits, this
++            value might identify an (e.g., the first) object
++            instance associated with the X.25 virtual circuit
++            corresponding to this port.
++
++            For a port which has a unique value of
++            dot1dBasePortIfIndex, this object can have the
++            value { 0 0 }."
++    ::= { dot1dBasePortEntry 3 }
++
++dot1dBasePortDelayExceededDiscards OBJECT-TYPE
++    SYNTAX  Counter
++
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of frames discarded by this port due
++            to excessive transit delay through the bridge.  It
++            is incremented by both transparent and source
++            route bridges."
++    REFERENCE
++             "IEEE 802.1D-1990: Section 6.6.1.1.3"
++    ::= { dot1dBasePortEntry 4 }
++
++dot1dBasePortMtuExceededDiscards OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of frames discarded by this port due
++            to an excessive size.  It is incremented by both
++            transparent and source route bridges."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.6.1.1.3"
++    ::= { dot1dBasePortEntry 5 }
++
++-- the dot1dStp group
++
++-- Implementation of the dot1dStp group is optional.  It is
++-- implemented by those bridges that support the Spanning Tree
++-- Protocol.
++
++dot1dStpProtocolSpecification OBJECT-TYPE
++    SYNTAX  INTEGER {
++                unknown(1),
++                decLb100(2),
++                ieee8021d(3)
++            }
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "An indication of what version of the Spanning
++            Tree Protocol is being run.  The value
++            'decLb100(2)' indicates the DEC LANbridge 100
++            Spanning Tree protocol.  IEEE 802.1d
++            implementations will return 'ieee8021d(3)'.  If
++            future versions of the IEEE Spanning Tree Protocol
++            are released that are incompatible with the
++            current version a new value will be defined."
++
++    ::= { dot1dStp 1 }
++
++dot1dStpPriority OBJECT-TYPE
++    SYNTAX  INTEGER (0..65535)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The value of the write-able portion of the Bridge
++            ID, i.e., the first two octets of the (8 octet
++            long) Bridge ID.  The other (last) 6 octets of the
++            Bridge ID are given by the value of
++            dot1dBaseBridgeAddress."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.7"
++    ::= { dot1dStp 2 }
++
++dot1dStpTimeSinceTopologyChange OBJECT-TYPE
++    SYNTAX  TimeTicks
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The time (in hundredths of a second) since the
++            last time a topology change was detected by the
++            bridge entity."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.8.1.1.3"
++    ::= { dot1dStp 3 }
++
++dot1dStpTopChanges OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The total number of topology changes detected by
++            this bridge since the management entity was last
++            reset or initialized."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.8.1.1.3"
++    ::= { dot1dStp 4 }
++
++dot1dStpDesignatedRoot OBJECT-TYPE
++    SYNTAX  BridgeId
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The bridge identifier of the root of the spanning
++            tree as determined by the Spanning Tree Protocol
++            as executed by this node.  This value is used as
++
++            the Root Identifier parameter in all Configuration
++            Bridge PDUs originated by this node."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.1"
++    ::= { dot1dStp 5 }
++
++dot1dStpRootCost OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The cost of the path to the root as seen from
++            this bridge."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.2"
++    ::= { dot1dStp 6 }
++
++dot1dStpRootPort OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the port which offers the
++            lowest cost path from this bridge to the root
++            bridge."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.3"
++    ::= { dot1dStp 7 }
++
++dot1dStpMaxAge OBJECT-TYPE
++    SYNTAX  Timeout
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The maximum age of Spanning Tree Protocol
++            information learned from the network on any port
++            before it is discarded, in units of hundredths of
++            a second.  This is the actual value that this
++            bridge is currently using."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.4"
++    ::= { dot1dStp 8 }
++
++dot1dStpHelloTime OBJECT-TYPE
++    SYNTAX  Timeout
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++
++            "The amount of time between the transmission of
++            Configuration bridge PDUs by this node on any port
++            when it is the root of the spanning tree or trying
++            to become so, in units of hundredths of a second.
++            This is the actual value that this bridge is
++            currently using."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.5"
++    ::= { dot1dStp 9 }
++
++dot1dStpHoldTime OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "This time value determines the interval length
++            during which no more than two Configuration bridge
++            PDUs shall be transmitted by this node, in units
++            of hundredths of a second."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.14"
++    ::= { dot1dStp 10 }
++
++dot1dStpForwardDelay OBJECT-TYPE
++    SYNTAX  Timeout
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "This time value, measured in units of hundredths
++            of a second, controls how fast a port changes its
++            spanning state when moving towards the Forwarding
++            state.  The value determines how long the port
++            stays in each of the Listening and Learning
++            states, which precede the Forwarding state.  This
++            value is also used, when a topology change has
++            been detected and is underway, to age all dynamic
++            entries in the Forwarding Database.  [Note that
++            this value is the one that this bridge is
++            currently using, in contrast to
++            dot1dStpBridgeForwardDelay which is the value that
++            this bridge and all others would start using
++            if/when this bridge were to become the root.]"
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.6"
++    ::= { dot1dStp 11 }
++
++dot1dStpBridgeMaxAge OBJECT-TYPE
++    SYNTAX  Timeout (600..4000)
++
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The value that all bridges use for MaxAge when
++            this bridge is acting as the root.  Note that
++            802.1D-1990 specifies that the range for this
++            parameter is related to the value of
++            dot1dStpBridgeHelloTime. The granularity of this
++            timer is specified by 802.1D-1990 to be 1 second.
++            An agent may return a badValue error if a set is
++            attempted to a value which is not a whole number
++            of seconds."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.8"
++    ::= { dot1dStp 12 }
++
++dot1dStpBridgeHelloTime OBJECT-TYPE
++    SYNTAX  Timeout (100..1000)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The value that all bridges use for HelloTime when
++            this bridge is acting as the root.  The
++            granularity of this timer is specified by 802.1D-
++            1990 to be 1 second.  An agent may return a
++            badValue error if a set is attempted to a value
++            which is not a whole number of seconds."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.9"
++    ::= { dot1dStp 13 }
++
++dot1dStpBridgeForwardDelay OBJECT-TYPE
++    SYNTAX  Timeout (400..3000)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The value that all bridges use for ForwardDelay
++            when this bridge is acting as the root.  Note that
++            802.1D-1990 specifies that the range for this
++            parameter is related to the value of
++            dot1dStpBridgeMaxAge.  The granularity of this
++            timer is specified by 802.1D-1990 to be 1 second.
++            An agent may return a badValue error if a set is
++            attempted to a value which is not a whole number
++            of seconds."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.3.10"
++    ::= { dot1dStp 14 }
++
++-- The Spanning Tree Port Table
++
++dot1dStpPortTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dStpPortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table that contains port-specific information
++            for the Spanning Tree Protocol."
++    ::= { dot1dStp 15 }
++
++dot1dStpPortEntry OBJECT-TYPE
++    SYNTAX  Dot1dStpPortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A list of information maintained by every port
++            about the Spanning Tree Protocol state for that
++            port."
++    INDEX   { dot1dStpPort }
++    ::= { dot1dStpPortTable 1 }
++
++Dot1dStpPortEntry ::=
++    SEQUENCE {
++        dot1dStpPort
++            INTEGER,
++        dot1dStpPortPriority
++            INTEGER,
++        dot1dStpPortState
++            INTEGER,
++        dot1dStpPortEnable
++            INTEGER,
++        dot1dStpPortPathCost
++            INTEGER,
++        dot1dStpPortDesignatedRoot
++            BridgeId,
++        dot1dStpPortDesignatedCost
++            INTEGER,
++        dot1dStpPortDesignatedBridge
++            BridgeId,
++        dot1dStpPortDesignatedPort
++            OCTET STRING,
++        dot1dStpPortForwardTransitions
++            Counter
++    }
++
++dot1dStpPort OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the port for which this entry
++            contains Spanning Tree Protocol management
++            information."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.8.2.1.2"
++    ::= { dot1dStpPortEntry 1 }
++
++dot1dStpPortPriority OBJECT-TYPE
++    SYNTAX  INTEGER (0..255)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The value of the priority field which is
++            contained in the first (in network byte order)
++            octet of the (2 octet long) Port ID.  The other
++            octet of the Port ID is given by the value of
++            dot1dStpPort."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.1"
++    ::= { dot1dStpPortEntry 2 }
++
++dot1dStpPortState OBJECT-TYPE
++    SYNTAX  INTEGER {
++                disabled(1),
++                blocking(2),
++                listening(3),
++                learning(4),
++                forwarding(5),
++                broken(6)
++            }
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The port's current state as defined by
++            application of the Spanning Tree Protocol.  This
++            state controls what action a port takes on
++            reception of a frame.  If the bridge has detected
++            a port that is malfunctioning it will place that
++            port into the broken(6) state.  For ports which
++            are disabled (see dot1dStpPortEnable), this object
++            will have a value of disabled(1)."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.2"
++    ::= { dot1dStpPortEntry 3 }
++
++dot1dStpPortEnable OBJECT-TYPE
++    SYNTAX  INTEGER {
++                enabled(1),
++                disabled(2)
++            }
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The enabled/disabled status of the port."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.2"
++    ::= { dot1dStpPortEntry 4 }
++
++dot1dStpPortPathCost OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The contribution of this port to the path cost of
++            paths towards the spanning tree root which include
++            this port.  802.1D-1990 recommends that the
++            default value of this parameter be in inverse
++            proportion to the speed of the attached LAN."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.3"
++    ::= { dot1dStpPortEntry 5 }
++
++dot1dStpPortDesignatedRoot OBJECT-TYPE
++    SYNTAX  BridgeId
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The unique Bridge Identifier of the Bridge
++            recorded as the Root in the Configuration BPDUs
++            transmitted by the Designated Bridge for the
++            segment to which the port is attached."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.4"
++    ::= { dot1dStpPortEntry 6 }
++
++dot1dStpPortDesignatedCost OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The path cost of the Designated Port of the
++            segment connected to this port.  This value is
++            compared to the Root Path Cost field in received
++
++            bridge PDUs."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.5"
++    ::= { dot1dStpPortEntry 7 }
++
++dot1dStpPortDesignatedBridge OBJECT-TYPE
++    SYNTAX  BridgeId
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The Bridge Identifier of the bridge which this
++            port considers to be the Designated Bridge for
++            this port's segment."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.6"
++    ::= { dot1dStpPortEntry 8 }
++
++dot1dStpPortDesignatedPort OBJECT-TYPE
++    SYNTAX  OCTET STRING (SIZE (2))
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The Port Identifier of the port on the Designated
++            Bridge for this port's segment."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 4.5.5.7"
++    ::= { dot1dStpPortEntry 9 }
++
++dot1dStpPortForwardTransitions OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of times this port has transitioned
++            from the Learning state to the Forwarding state."
++    ::= { dot1dStpPortEntry 10 }
++
++-- the dot1dTp group
++
++-- Implementation of the dot1dTp group is optional.  It is
++-- implemented by those bridges that support the transparent
++-- bridging mode.  A transparent or SRT bridge will implement
++-- this group.
++
++dot1dTpLearnedEntryDiscards OBJECT-TYPE
++    SYNTAX  Counter
++
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The total number of Forwarding Database entries,
++            which have been or would have been learnt, but
++            have been discarded due to a lack of space to
++            store them in the Forwarding Database.  If this
++            counter is increasing, it indicates that the
++            Forwarding Database is regularly becoming full (a
++            condition which has unpleasant performance effects
++            on the subnetwork).  If this counter has a
++            significant value but is not presently increasing,
++            it indicates that the problem has been occurring
++            but is not persistent."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.7.1.1.3"
++    ::= { dot1dTp 1 }
++
++dot1dTpAgingTime OBJECT-TYPE
++    SYNTAX   INTEGER (10..1000000)
++    ACCESS   read-write
++    STATUS   mandatory
++    DESCRIPTION
++            "The timeout period in seconds for aging out
++            dynamically learned forwarding information.
++            802.1D-1990 recommends a default of 300 seconds."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.7.1.1.3"
++    ::= { dot1dTp 2 }
++
++--  The Forwarding Database for Transparent Bridges
++
++dot1dTpFdbTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dTpFdbEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table that contains information about unicast
++            entries for which the bridge has forwarding and/or
++            filtering information.  This information is used
++            by the transparent bridging function in
++            determining how to propagate a received frame."
++    ::= { dot1dTp 3 }
++
++dot1dTpFdbEntry OBJECT-TYPE
++    SYNTAX  Dot1dTpFdbEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "Information about a specific unicast MAC address
++            for which the bridge has some forwarding and/or
++            filtering information."
++    INDEX   { dot1dTpFdbAddress }
++    ::= { dot1dTpFdbTable 1 }
++
++Dot1dTpFdbEntry ::=
++    SEQUENCE {
++        dot1dTpFdbAddress
++            MacAddress,
++        dot1dTpFdbPort
++            INTEGER,
++        dot1dTpFdbStatus
++            INTEGER
++    }
++
++dot1dTpFdbAddress OBJECT-TYPE
++    SYNTAX  MacAddress
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "A unicast MAC address for which the bridge has
++            forwarding and/or filtering information."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
++    ::= { dot1dTpFdbEntry 1 }
++
++dot1dTpFdbPort OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "Either the value '0', or the port number of the
++            port on which a frame having a source address
++            equal to the value of the corresponding instance
++            of dot1dTpFdbAddress has been seen.  A value of
++            '0' indicates that the port number has not been
++            learned but that the bridge does have some
++            forwarding/filtering information about this
++            address (e.g. in the dot1dStaticTable).
++            Implementors are encouraged to assign the port
++            value to this object whenever it is learned even
++            for addresses for which the corresponding value of
++            dot1dTpFdbStatus is not learned(3)."
++    ::= { dot1dTpFdbEntry 2 }
++
++dot1dTpFdbStatus OBJECT-TYPE
++    SYNTAX  INTEGER {
++                other(1),
++                invalid(2),
++                learned(3),
++                self(4),
++                mgmt(5)
++            }
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The status of this entry.  The meanings of the
++            values are:
++              other(1)   : none of the following.  This would
++                           include the case where some other
++                           MIB object (not the corresponding
++                           instance of dot1dTpFdbPort, nor an
++                           entry in the dot1dStaticTable) is
++                           being used to determine if and how
++                           frames addressed to the value of
++                           the corresponding instance of
++                           dot1dTpFdbAddress are being
++                           forwarded.
++              invalid(2) : this entry is not longer valid
++                           (e.g., it was learned but has since
++                           aged-out), but has not yet been
++                           flushed from the table.
++              learned(3) : the value of the corresponding
++                           instance of dot1dTpFdbPort was
++                           learned, and is being used.
++              self(4)    : the value of the corresponding
++                           instance of dot1dTpFdbAddress
++                           represents one of the bridge's
++                           addresses.  The corresponding
++                           instance of dot1dTpFdbPort
++                           indicates which of the bridge's
++                           ports has this address.
++              mgmt(5)    : the value of the corresponding
++                           instance of dot1dTpFdbAddress is
++                           also the value of an existing
++                           instance of dot1dStaticAddress."
++    ::= { dot1dTpFdbEntry 3 }
++
++--  Port Table for Transparent Bridges
++
++dot1dTpPortTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dTpPortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table that contains information about every
++            port that is associated with this transparent
++            bridge."
++    ::= { dot1dTp 4 }
++
++dot1dTpPortEntry OBJECT-TYPE
++    SYNTAX  Dot1dTpPortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A list of information for each port of a
++            transparent bridge."
++    INDEX   { dot1dTpPort }
++    ::= { dot1dTpPortTable 1 }
++
++Dot1dTpPortEntry ::=
++    SEQUENCE {
++        dot1dTpPort
++            INTEGER,
++        dot1dTpPortMaxInfo
++            INTEGER,
++        dot1dTpPortInFrames
++            Counter,
++        dot1dTpPortOutFrames
++            Counter,
++        dot1dTpPortInDiscards
++            Counter
++    }
++
++dot1dTpPort OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the port for which this entry
++            contains Transparent bridging management
++            information."
++    ::= { dot1dTpPortEntry 1 }
++
++-- It would be nice if we could use ifMtu as the size of the
++-- largest INFO field, but we can't because ifMtu is defined
++-- to be the size that the (inter-)network layer can use which
++-- can differ from the MAC layer (especially if several layers
++-- of encapsulation are used).
++
++dot1dTpPortMaxInfo OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The maximum size of the INFO (non-MAC) field that
++            this port will receive or transmit."
++    ::= { dot1dTpPortEntry 2 }
++
++dot1dTpPortInFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of frames that have been received by
++            this port from its segment. Note that a frame
++            received on the interface corresponding to this
++            port is only counted by this object if and only if
++            it is for a protocol being processed by the local
++            bridging function, including bridge management
++            frames."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.6.1.1.3"
++    ::= { dot1dTpPortEntry 3 }
++
++dot1dTpPortOutFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of frames that have been transmitted
++            by this port to its segment.  Note that a frame
++            transmitted on the interface corresponding to this
++            port is only counted by this object if and only if
++            it is for a protocol being processed by the local
++            bridging function, including bridge management
++            frames."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.6.1.1.3"
++    ::= { dot1dTpPortEntry 4 }
++
++dot1dTpPortInDiscards OBJECT-TYPE
++    SYNTAX   Counter
++    ACCESS   read-only
++    STATUS   mandatory
++    DESCRIPTION
++            "Count of valid frames received which were
++            discarded (i.e., filtered) by the Forwarding
++            Process."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.6.1.1.3"
++    ::= { dot1dTpPortEntry 5 }
++-- The Static (Destination-Address Filtering) Database
++
++-- Implementation of this group is optional.
++
++dot1dStaticTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dStaticEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table containing filtering information
++            configured into the bridge by (local or network)
++            management specifying the set of ports to which
++            frames received from specific ports and containing
++            specific destination addresses are allowed to be
++            forwarded.  The value of zero in this table as the
++            port number from which frames with a specific
++            destination address are received, is used to
++            specify all ports for which there is no specific
++            entry in this table for that particular
++            destination address.  Entries are valid for
++            unicast and for group/broadcast addresses."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.7.2"
++    ::= { dot1dStatic 1 }
++
++dot1dStaticEntry OBJECT-TYPE
++    SYNTAX  Dot1dStaticEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "Filtering information configured into the bridge
++            by (local or network) management specifying the
++            set of ports to which frames received from a
++            specific port and containing a specific
++            destination address are allowed to be forwarded."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 6.7.2"
++    INDEX   { dot1dStaticAddress, dot1dStaticReceivePort }
++    ::= { dot1dStaticTable 1 }
++
++Dot1dStaticEntry ::=
++    SEQUENCE {
++        dot1dStaticAddress
++            MacAddress,
++        dot1dStaticReceivePort
++            INTEGER,
++        dot1dStaticAllowedToGoTo
++            OCTET STRING,
++        dot1dStaticStatus
++            INTEGER
++    }
++
++dot1dStaticAddress OBJECT-TYPE
++    SYNTAX  MacAddress
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The destination MAC address in a frame to which
++            this entry's filtering information applies.  This
++            object can take the value of a unicast address, a
++            group address or the broadcast address."
++    REFERENCE
++            "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
++    ::= { dot1dStaticEntry 1 }
++
++dot1dStaticReceivePort OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "Either the value '0', or the port number of the
++            port from which a frame must be received in order
++            for this entry's filtering information to apply.
++            A value of zero indicates that this entry applies
++            on all ports of the bridge for which there is no
++            other applicable entry."
++    ::= { dot1dStaticEntry 2 }
++
++dot1dStaticAllowedToGoTo OBJECT-TYPE
++    SYNTAX  OCTET STRING
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The set of ports to which frames received from a
++            specific port and destined for a specific MAC
++
++            address, are allowed to be forwarded.  Each octet
++            within the value of this object specifies a set of
++            eight ports, with the first octet specifying ports
++            1 through 8, the second octet specifying ports 9
++            through 16, etc.  Within each octet, the most
++            significant bit represents the lowest numbered
++            port, and the least significant bit represents the
++            highest numbered port.  Thus, each port of the
++            bridge is represented by a single bit within the
++            value of this object.  If that bit has a value of
++            '1' then that port is included in the set of
++            ports; the port is not included if its bit has a
++            value of '0'.  (Note that the setting of the bit
++            corresponding to the port from which a frame is
++            received is irrelevant.)  The default value of
++            this object is a string of ones of appropriate
++            length."
++    ::= { dot1dStaticEntry 3 }
++
++dot1dStaticStatus OBJECT-TYPE
++    SYNTAX  INTEGER {
++                other(1),
++                invalid(2),
++                permanent(3),
++                deleteOnReset(4),
++                deleteOnTimeout(5)
++            }
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "This object indicates the status of this entry.
++            The default value is permanent(3).
++                 other(1) - this entry is currently in use but
++                      the conditions under which it will
++                      remain so are different from each of the
++                      following values.
++                 invalid(2) - writing this value to the object
++                      removes the corresponding entry.
++                 permanent(3) - this entry is currently in use
++                      and will remain so after the next reset
++                      of the bridge.
++                 deleteOnReset(4) - this entry is currently in
++                      use and will remain so until the next
++                      reset of the bridge.
++                 deleteOnTimeout(5) - this entry is currently
++                      in use and will remain so until it is
++                      aged out."
++
++    ::= { dot1dStaticEntry 4 }
++
++-- Traps for use by Bridges
++
++-- Traps for the Spanning Tree Protocol
++
++newRoot TRAP-TYPE
++    ENTERPRISE  dot1dBridge
++    DESCRIPTION
++            "The newRoot trap indicates that the sending agent
++            has become the new root of the Spanning Tree; the
++            trap is sent by a bridge soon after its election
++            as the new root, e.g., upon expiration of the
++            Topology Change Timer immediately subsequent to
++            its election.  Implementation of this trap is
++            optional."
++    ::= 1
++
++topologyChange TRAP-TYPE
++    ENTERPRISE  dot1dBridge
++    DESCRIPTION
++            "A topologyChange trap is sent by a bridge when
++            any of its configured ports transitions from the
++            Learning state to the Forwarding state, or from
++            the Forwarding state to the Blocking state.  The
++            trap is not sent if a newRoot trap is sent for the
++            same transition.  Implementation of this trap is
++            optional."
++    ::= 2
++
++END
+diff -ruN net-snmp-5.4.1.orig/mibs/GNOME-SMI.txt net-snmp-5.4.1/mibs/GNOME-SMI.txt
+--- net-snmp-5.4.1.orig/mibs/GNOME-SMI.txt     1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/GNOME-SMI.txt  2007-09-20 16:33:55.000000000 +0200
+@@ -0,0 +1,88 @@
++GNOME-SMI DEFINITIONS ::= BEGIN
++
++IMPORTS
++      MODULE-IDENTITY,
++      OBJECT-IDENTITY,
++      enterprises
++              FROM SNMPv2-SMI;
++
++gnome MODULE-IDENTITY
++      LAST-UPDATED "200709070000Z"
++      ORGANIZATION "GNOME project"
++      CONTACT-INFO
++              "GNU Network Object Model Environment project
++              
++              see http://www.gnome.org for contact persons of a particular
++              area or subproject of GNOME.
++
++              Administrative contact for MIB module:
++
++              Jochen Friedrich
++              Ramsaystr. 9
++              63450 Hanau
++              Germany 
++
++              email: jochen@scram.de"
++      DESCRIPTION
++              "The Structure of GNOME."
++
++      -- revision history
++
++      REVISION "200709070000Z"  -- Sep 07, 2007
++      DESCRIPTION
++              "Fixed wrong enterprise number (how comes this
++              typo was unnoticed for so long?)."
++
++      REVISION "200505070000Z"  -- May 07, 2005
++      DESCRIPTION
++              "Added gnomeLDAP subtree for LDAP definitions."
++
++      REVISION "200312070000Z"  -- December 07, 2003
++      DESCRIPTION
++              "Added gnomeSysadmin subtree for GNOME project system administration.
++              Updated contact info."
++
++      REVISION "9809010000Z"  -- September 01, 1998
++      DESCRIPTION
++              "Initial version."
++
++      ::= { enterprises 3319 }        -- assigned by IANA
++
++gnomeProducts OBJECT-IDENTITY
++      STATUS  current
++      DESCRIPTION
++              "gnomeProducts is the root OBJECT IDENTIFIER from
++              which sysObjectID values are assigned."
++      ::= { gnome 1 }
++
++gnomeMgmt OBJECT-IDENTITY
++      STATUS  current
++      DESCRIPTION
++              "gnomeMgmt defines the subtree for production GNOME related
++              MIB registrations."
++      ::= { gnome 2 }
++
++gnomeTest OBJECT-IDENTITY
++      STATUS  current
++      DESCRIPTION
++              "gnomeTest defines the subtree for testing GNOME related
++              MIB registrations."
++      ::= { gnome 3 }
++
++gnomeSysadmin OBJECT-IDENTITY
++      STATUS  current
++      DESCRIPTION
++              "gnomeSysadmin defines the subtree for GNOME related Sysadmin
++              MIB registrations."
++      ::= { gnome 4 }
++
++gnomeLDAP OBJECT-IDENTITY
++      STATUS  current
++      DESCRIPTION
++              "gnomeLDAP defines the subtree for GNOME related LDAP
++              registrations."
++      ::= { gnome 5 }
++
++-- more to come if necessary.
++
++END
+diff -ruN net-snmp-5.4.1.orig/mibs/OSPF-MIB.txt net-snmp-5.4.1/mibs/OSPF-MIB.txt
+--- net-snmp-5.4.1.orig/mibs/OSPF-MIB.txt      1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/OSPF-MIB.txt   2007-09-20 16:30:52.000000000 +0200
+@@ -0,0 +1,2723 @@
++OSPF-MIB DEFINITIONS ::= BEGIN
++
++    IMPORTS
++            MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
++            Integer32, IpAddress
++                FROM SNMPv2-SMI
++            TEXTUAL-CONVENTION, TruthValue, RowStatus
++                FROM SNMPv2-TC
++            MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
++            mib-2                                    FROM RFC1213-MIB;
++
++--  This MIB module uses the extended OBJECT-TYPE macro as
++--  defined in [9].
++
++ospf MODULE-IDENTITY
++        LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
++        ORGANIZATION "IETF OSPF Working Group"
++        CONTACT-INFO
++       "       Fred Baker
++       Postal: Cisco Systems
++               519 Lado Drive
++               Santa Barbara, California 93111
++       Tel:    +1 805 681 0115
++       E-Mail: fred@cisco.com
++
++               Rob Coltun
++       Postal: RainbowBridge Communications
++       Tel:    (301) 340-9416
++       E-Mail: rcoltun@rainbow-bridge.com"
++    DESCRIPTION
++       "The MIB module to describe the OSPF Version 2
++       Protocol"
++    ::= { mib-2 14 }
++
++--  The Area ID, in OSPF, has the same format as an IP Address,
++--  but has the function of defining a summarization point for
++--  Link State Advertisements
++
++AreaID ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "An OSPF Area Identifier."
++    SYNTAX      IpAddress
++
++
++--  The Router ID, in OSPF, has the same format as an IP Address,
++--  but identifies the router independent of its IP Address.
++
++RouterID ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "A OSPF Router Identifier."
++    SYNTAX      IpAddress
++
++
++--  The OSPF Metric is defined as an unsigned value in the range
++
++Metric ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The OSPF Internal Metric."
++    SYNTAX      Integer32 (0..'FFFF'h)
++
++BigMetric ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The OSPF External Metric."
++    SYNTAX      Integer32 (0..'FFFFFF'h)
++
++--  Status Values
++
++Status ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The status of an interface: 'enabled' indicates that
++       it is willing to communicate with other OSPF Routers,
++       while 'disabled' indicates that it is not."
++    SYNTAX      INTEGER { enabled (1), disabled (2) }
++
++--  Time Durations measured in seconds
++
++PositiveInteger ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "A positive integer. Values in excess are precluded as
++       unnecessary and prone to interoperability issues."
++    SYNTAX      Integer32 (0..'7FFFFFFF'h)
++
++HelloRange ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The range of intervals on which hello messages are
++       exchanged."
++    SYNTAX      Integer32 (1..'FFFF'h)
++
++UpToMaxAge ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The values that one might find or configure for
++       variables bounded by the maximum age of an LSA."
++    SYNTAX      Integer32 (0..3600)
++
++
++--  The range of ifIndex
++
++InterfaceIndex ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The range of ifIndex."
++    SYNTAX      Integer32
++
++
++--  Potential Priorities for the Designated Router Election
++
++DesignatedRouterPriority ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "The values defined for the priority of a system for
++       becoming the designated router."
++    SYNTAX      Integer32 (0..'FF'h)
++
++TOSType ::= TEXTUAL-CONVENTION
++    STATUS      current
++    DESCRIPTION
++       "Type of Service is defined as a mapping to the IP Type of
++       Service Flags as defined in the IP Forwarding Table MIB
++
++       +-----+-----+-----+-----+-----+-----+-----+-----+
++       |                 |                       |     |
++       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
++       |                 |                       |     |
++       +-----+-----+-----+-----+-----+-----+-----+-----+
++
++                IP TOS                IP TOS
++           Field     Policy      Field     Policy
++
++           Contents    Code      Contents    Code
++           0 0 0 0  ==>   0      0 0 0 1  ==>   2
++           0 0 1 0  ==>   4      0 0 1 1  ==>   6
++           0 1 0 0  ==>   8      0 1 0 1  ==>  10
++           0 1 1 0  ==>  12      0 1 1 1  ==>  14
++           1 0 0 0  ==>  16      1 0 0 1  ==>  18
++           1 0 1 0  ==>  20      1 0 1 1  ==>  22
++           1 1 0 0  ==>  24      1 1 0 1  ==>  26
++           1 1 1 0  ==>  28      1 1 1 1  ==>  30
++
++       The remaining values are left for future definition."
++    SYNTAX      Integer32 (0..30)
++
++
++--  OSPF General Variables
++
++--      These parameters apply globally to the Router's
++--      OSPF Process.
++
++ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 }
++
++
++    ospfRouterId OBJECT-TYPE
++        SYNTAX   RouterID
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "A  32-bit  integer  uniquely  identifying  the
++           router in the Autonomous System.
++
++           By  convention,  to  ensure  uniqueness,   this
++           should  default  to  the  value  of  one of the
++           router's IP interface addresses."
++       REFERENCE
++          "OSPF Version 2, C.1 Global parameters"
++      ::= { ospfGeneralGroup 1 }
++
++
++    ospfAdminStat OBJECT-TYPE
++        SYNTAX   Status
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "The  administrative  status  of  OSPF  in  the
++           router.   The  value 'enabled' denotes that the
++           OSPF Process is active on at least  one  inter-
++           face;  'disabled'  disables  it  on  all inter-
++           faces."
++       ::= { ospfGeneralGroup 2 }
++
++    ospfVersionNumber OBJECT-TYPE
++        SYNTAX   INTEGER    { version2 (2) }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The current version number of the OSPF  proto-
++           col is 2."
++       REFERENCE
++          "OSPF Version 2, Title"
++      ::= { ospfGeneralGroup 3 }
++
++
++    ospfAreaBdrRtrStatus OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "A flag to note whether this router is an  area
++           border router."
++       REFERENCE
++          "OSPF Version 2, Section 3 Splitting the AS into
++          Areas"
++      ::= { ospfGeneralGroup 4 }
++
++
++    ospfASBdrRtrStatus OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "A flag to note whether this router is  config-
++           ured as an Autonomous System border router."
++       REFERENCE
++          "OSPF Version 2, Section 3.3  Classification  of
++          routers"
++      ::= { ospfGeneralGroup 5 }
++
++    ospfExternLsaCount OBJECT-TYPE
++        SYNTAX   Gauge32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of external (LS type 5)  link-state
++           advertisements in the link-state database."
++       REFERENCE
++          "OSPF Version 2, Appendix A.4.5 AS external link
++          advertisements"
++      ::= { ospfGeneralGroup 6 }
++
++
++    ospfExternLsaCksumSum OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The 32-bit unsigned sum of the LS checksums of
++           the  external  link-state  advertisements  con-
++           tained in the link-state  database.   This  sum
++           can  be  used  to determine if there has been a
++           change in a router's link state  database,  and
++           to  compare  the  link-state  database  of  two
++           routers."
++       ::= { ospfGeneralGroup 7 }
++
++
++    ospfTOSSupport OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "The router's support for type-of-service rout-
++           ing."
++       REFERENCE
++          "OSPF Version 2,  Appendix  F.1.2  Optional  TOS
++          support"
++      ::= { ospfGeneralGroup 8 }
++
++    ospfOriginateNewLsas OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of  new  link-state  advertisements
++           that  have been originated.  This number is in-
++           cremented each time the router originates a new
++           LSA."
++       ::= { ospfGeneralGroup 9 }
++
++
++    ospfRxNewLsas OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of  link-state  advertisements  re-
++           ceived  determined  to  be  new instantiations.
++           This number does not include  newer  instantia-
++           tions  of self-originated link-state advertise-
++           ments."
++       ::= { ospfGeneralGroup 10 }
++
++    ospfExtLsdbLimit OBJECT-TYPE
++        SYNTAX   Integer32 (-1..'7FFFFFFF'h)
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "The  maximum   number   of   non-default   AS-
++           external-LSAs entries that can be stored in the
++           link-state database.  If the value is -1,  then
++           there is no limit.
++
++           When the number of non-default AS-external-LSAs
++           in   a  router's  link-state  database  reaches
++           ospfExtLsdbLimit, the router  enters  Overflow-
++           State.   The   router  never  holds  more  than
++           ospfExtLsdbLimit  non-default  AS-external-LSAs
++           in  its  database. OspfExtLsdbLimit MUST be set
++           identically in all routers attached to the OSPF
++           backbone  and/or  any regular OSPF area. (i.e.,
++           OSPF stub areas and NSSAs are excluded)."
++       DEFVAL { -1 }
++       ::= { ospfGeneralGroup 11 }
++
++    ospfMulticastExtensions OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "A Bit Mask indicating whether  the  router  is
++           forwarding  IP  multicast  (Class  D) datagrams
++           based on the algorithms defined in  the  Multi-
++           cast Extensions to OSPF.
++
++           Bit 0, if set, indicates that  the  router  can
++           forward  IP multicast datagrams in the router's
++           directly attached areas (called intra-area mul-
++           ticast routing).
++
++           Bit 1, if set, indicates that  the  router  can
++           forward  IP  multicast  datagrams  between OSPF
++           areas (called inter-area multicast routing).
++
++           Bit 2, if set, indicates that  the  router  can
++           forward  IP  multicast  datagrams between Auto-
++           nomous Systems (called inter-AS multicast rout-
++           ing).
++
++           Only certain combinations of bit  settings  are
++           allowed,  namely: 0 (no multicast forwarding is
++           enabled), 1 (intra-area multicasting  only),  3
++           (intra-area  and  inter-area  multicasting),  5
++           (intra-area and inter-AS  multicasting)  and  7
++           (multicasting  everywhere). By default, no mul-
++           ticast forwarding is enabled."
++       DEFVAL { 0 }
++       ::= { ospfGeneralGroup 12 }
++
++    ospfExitOverflowInterval OBJECT-TYPE
++        SYNTAX   PositiveInteger
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "The number of  seconds  that,  after  entering
++           OverflowState,  a  router will attempt to leave
++           OverflowState. This allows the router to  again
++           originate  non-default  AS-external-LSAs.  When
++           set to 0, the router will not  leave  Overflow-
++           State until restarted."
++       DEFVAL { 0 }
++       ::= { ospfGeneralGroup 13 }
++
++
++    ospfDemandExtensions OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "The router's support for demand routing."
++       REFERENCE
++          "OSPF Version 2, Appendix on Demand Routing"
++      ::= { ospfGeneralGroup 14 }
++
++
++--      The OSPF Area Data Structure contains information
++--      regarding the various areas. The interfaces and
++--      virtual links are configured as part of these areas.
++--      Area 0.0.0.0, by definition, is the Backbone Area
++
++
++    ospfAreaTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfAreaEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "Information describing the configured  parame-
++           ters  and cumulative statistics of the router's
++           attached areas."
++       REFERENCE
++          "OSPF Version 2, Section 6  The Area Data Struc-
++          ture"
++      ::= { ospf 2 }
++
++
++    ospfAreaEntry OBJECT-TYPE
++        SYNTAX   OspfAreaEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "Information describing the configured  parame-
++           ters  and  cumulative  statistics of one of the
++           router's attached areas."
++       INDEX { ospfAreaId }
++       ::= { ospfAreaTable 1 }
++
++OspfAreaEntry ::=
++    SEQUENCE {
++        ospfAreaId
++            AreaID,
++        ospfAuthType
++            Integer32,
++        ospfImportAsExtern
++            INTEGER,
++        ospfSpfRuns
++            Counter32,
++        ospfAreaBdrRtrCount
++            Gauge32,
++        ospfAsBdrRtrCount
++            Gauge32,
++        ospfAreaLsaCount
++            Gauge32,
++        ospfAreaLsaCksumSum
++            Integer32,
++        ospfAreaSummary
++            INTEGER,
++        ospfAreaStatus
++            RowStatus
++              }
++
++    ospfAreaId OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "A 32-bit integer uniquely identifying an area.
++           Area ID 0.0.0.0 is used for the OSPF backbone."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaEntry 1 }
++
++
++    ospfAuthType OBJECT-TYPE
++        SYNTAX   Integer32
++                    -- none (0),
++                    -- simplePassword (1)
++                    -- md5 (2)
++                    -- reserved for specification by IANA (> 2)
++        MAX-ACCESS   read-create
++        STATUS   obsolete
++        DESCRIPTION
++           "The authentication type specified for an area.
++           Additional authentication types may be assigned
++           locally on a per Area basis."
++       REFERENCE
++          "OSPF Version 2, Appendix E Authentication"
++      DEFVAL { 0 }        -- no authentication, by default
++      ::= { ospfAreaEntry 2 }
++
++    ospfImportAsExtern OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    importExternal (1),
++                    importNoExternal (2),
++                    importNssa (3)
++                  }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The area's support for importing  AS  external
++           link- state advertisements."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      DEFVAL { importExternal }
++      ::= { ospfAreaEntry 3 }
++
++
++    ospfSpfRuns OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of times that the intra-area  route
++           table  has  been  calculated  using this area's
++           link-state database.  This  is  typically  done
++           using Dijkstra's algorithm."
++       ::= { ospfAreaEntry 4 }
++
++
++    ospfAreaBdrRtrCount OBJECT-TYPE
++        SYNTAX   Gauge32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The total number of area border routers reach-
++           able within this area.  This is initially zero,
++           and is calculated in each SPF Pass."
++       ::= { ospfAreaEntry 5 }
++
++    ospfAsBdrRtrCount OBJECT-TYPE
++        SYNTAX   Gauge32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The total number of Autonomous  System  border
++           routers  reachable  within  this area.  This is
++           initially zero, and is calculated in  each  SPF
++           Pass."
++       ::= { ospfAreaEntry 6 }
++
++
++    ospfAreaLsaCount OBJECT-TYPE
++        SYNTAX   Gauge32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The total number of link-state  advertisements
++           in  this  area's link-state database, excluding
++           AS External LSA's."
++       ::= { ospfAreaEntry 7 }
++
++
++    ospfAreaLsaCksumSum OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The 32-bit unsigned sum of the link-state  ad-
++           vertisements'  LS  checksums  contained in this
++           area's link-state database.  This sum  excludes
++           external (LS type 5) link-state advertisements.
++           The sum can be used to determine if  there  has
++           been  a  change  in a router's link state data-
++           base, and to compare the link-state database of
++           two routers."
++       DEFVAL   { 0 }
++       ::= { ospfAreaEntry 8 }
++
++    ospfAreaSummary OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    noAreaSummary (1),
++                    sendAreaSummary (2)
++                  }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The variable ospfAreaSummary controls the  im-
++           port  of  summary LSAs into stub areas.  It has
++           no effect on other areas.
++
++           If it is noAreaSummary, the router will neither
++           originate  nor  propagate summary LSAs into the
++           stub area.  It will rely entirely  on  its  de-
++           fault route.
++
++           If it is sendAreaSummary, the router will  both
++           summarize and propagate summary LSAs."
++       DEFVAL   { noAreaSummary }
++       ::= { ospfAreaEntry 9 }
++
++
++    ospfAreaStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfAreaEntry 10 }
++
++
++--  OSPF Area Default Metric Table
++
++--      The OSPF Area Default Metric Table describes the metrics
++--      that a default Area Border Router will advertise into a
++--      Stub area.
++
++
++    ospfStubAreaTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfStubAreaEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The set of metrics that will be advertised  by
++           a default Area Border Router into a stub area."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2, Area Parameters"
++      ::= { ospf 3 }
++
++
++    ospfStubAreaEntry OBJECT-TYPE
++        SYNTAX   OspfStubAreaEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The metric for a given Type  of  Service  that
++           will  be  advertised  by  a default Area Border
++           Router into a stub area."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2, Area Parameters"
++      INDEX { ospfStubAreaId, ospfStubTOS }
++      ::= { ospfStubAreaTable 1 }
++
++OspfStubAreaEntry ::=
++    SEQUENCE {
++        ospfStubAreaId
++            AreaID,
++        ospfStubTOS
++            TOSType,
++        ospfStubMetric
++            BigMetric,
++        ospfStubStatus
++            RowStatus,
++        ospfStubMetricType
++            INTEGER
++              }
++
++    ospfStubAreaId OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The 32 bit identifier for the Stub  Area.   On
++           creation,  this  can  be  derived  from the in-
++           stance."
++       ::= { ospfStubAreaEntry 1 }
++
++
++    ospfStubTOS OBJECT-TYPE
++        SYNTAX   TOSType
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The  Type  of  Service  associated  with   the
++           metric.   On creation, this can be derived from
++           the instance."
++       ::= { ospfStubAreaEntry 2 }
++
++
++    ospfStubMetric OBJECT-TYPE
++        SYNTAX   BigMetric
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The metric value applied at the indicated type
++           of  service.  By default, this equals the least
++           metric at the type of service among the  inter-
++           faces to other areas."
++       ::= { ospfStubAreaEntry 3 }
++
++
++    ospfStubStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfStubAreaEntry 4 }
++
++    ospfStubMetricType OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    ospfMetric (1),                -- OSPF Metric
++                    comparableCost (2),        -- external type 1
++                    nonComparable  (3)        -- external type 2
++                  }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the type of metric  ad-
++           vertised as a default route."
++       DEFVAL   { ospfMetric }
++       ::= { ospfStubAreaEntry 5 }
++
++--  OSPF Link State Database
++
++--      The Link State Database contains the Link State
++--      Advertisements from throughout the areas that the
++--      device is attached to.
++
++
++    ospfLsdbTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfLsdbEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The OSPF Process's Link State Database."
++       REFERENCE
++          "OSPF Version 2, Section 12  Link  State  Adver-
++          tisements"
++      ::= { ospf 4 }
++
++
++    ospfLsdbEntry OBJECT-TYPE
++        SYNTAX   OspfLsdbEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A single Link State Advertisement."
++       INDEX { ospfLsdbAreaId, ospfLsdbType,
++               ospfLsdbLsid, ospfLsdbRouterId }
++       ::= { ospfLsdbTable 1 }
++
++OspfLsdbEntry ::=
++    SEQUENCE {
++        ospfLsdbAreaId
++            AreaID,
++        ospfLsdbType
++            INTEGER,
++        ospfLsdbLsid
++            IpAddress,
++        ospfLsdbRouterId
++            RouterID,
++        ospfLsdbSequence
++            Integer32,
++        ospfLsdbAge
++            Integer32,
++        ospfLsdbChecksum
++            Integer32,
++        ospfLsdbAdvertisement
++            OCTET STRING
++              }
++    ospfLsdbAreaId OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The 32 bit identifier of the Area  from  which
++           the LSA was received."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfLsdbEntry 1 }
++
++-- External Link State Advertisements are permitted
++-- for backward compatibility, but should be displayed in
++-- the ospfExtLsdbTable rather than here.
++
++    ospfLsdbType OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    routerLink (1),
++                    networkLink (2),
++                    summaryLink (3),
++                    asSummaryLink (4),
++                    asExternalLink (5), -- but see ospfExtLsdbTable
++                    multicastLink (6),
++                    nssaExternalLink (7)
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The type  of  the  link  state  advertisement.
++           Each  link state type has a separate advertise-
++           ment format."
++       REFERENCE
++          "OSPF Version 2, Appendix A.4.1 The  Link  State
++          Advertisement header"
++      ::= { ospfLsdbEntry 2 }
++
++    ospfLsdbLsid OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Link State ID is an LS Type Specific field
++           containing either a Router ID or an IP Address;
++           it identifies the piece of the  routing  domain
++           that is being described by the advertisement."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.4 Link State ID"
++      ::= { ospfLsdbEntry 3 }
++    ospfLsdbRouterId OBJECT-TYPE
++        SYNTAX   RouterID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The 32 bit number that uniquely identifies the
++           originating router in the Autonomous System."
++       REFERENCE
++          "OSPF Version 2, Appendix C.1 Global parameters"
++      ::= { ospfLsdbEntry 4 }
++
++--  Note that the OSPF Sequence Number is a 32 bit signed
++--  integer.  It starts with the value '80000001'h,
++--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
++--  Thus, a typical sequence number will be very negative.
++
++    ospfLsdbSequence OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The sequence number field is a  signed  32-bit
++           integer.   It  is used to detect old and dupli-
++           cate link state advertisements.  The  space  of
++           sequence  numbers  is  linearly  ordered.   The
++           larger the sequence number the more recent  the
++           advertisement."
++       REFERENCE
++          "OSPF Version  2,  Section  12.1.6  LS  sequence
++          number"
++      ::= { ospfLsdbEntry 5 }
++
++
++    ospfLsdbAge OBJECT-TYPE
++        SYNTAX   Integer32    -- Should be 0..MaxAge
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "This field is the age of the link state adver-
++           tisement in seconds."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.1 LS age"
++      ::= { ospfLsdbEntry 6 }
++
++    ospfLsdbChecksum OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "This field is the  checksum  of  the  complete
++           contents  of  the  advertisement, excepting the
++           age field.  The age field is excepted  so  that
++           an   advertisement's  age  can  be  incremented
++           without updating the  checksum.   The  checksum
++           used  is  the same that is used for ISO connec-
++           tionless datagrams; it is commonly referred  to
++           as the Fletcher checksum."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.7 LS checksum"
++      ::= { ospfLsdbEntry 7 }
++
++
++    ospfLsdbAdvertisement OBJECT-TYPE
++        SYNTAX   OCTET STRING (SIZE (1..65535))
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The entire Link State Advertisement, including
++           its header."
++       REFERENCE
++          "OSPF Version 2, Section 12  Link  State  Adver-
++          tisements"
++      ::= { ospfLsdbEntry 8 }
++
++
++--  Address Range Table
++
++--      The Address Range Table acts as an adjunct to the Area
++--      Table; It describes those Address Range Summaries that
++--      are configured to be propagated from an Area to reduce
++--      the amount of information about it which is known beyond
++--      its borders.
++
++    ospfAreaRangeTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfAreaRangeEntry
++        MAX-ACCESS   not-accessible
++        STATUS   obsolete
++        DESCRIPTION
++           "A range if IP addresses  specified  by  an  IP
++           address/IP  network  mask  pair.   For example,
++           class B address range of X.X.X.X with a network
++           mask  of  255.255.0.0 includes all IP addresses
++           from X.X.0.0 to X.X.255.255"
++       REFERENCE
++          "OSPF Version 2, Appendix C.2  Area parameters"
++      ::= { ospf 5 }
++    ospfAreaRangeEntry OBJECT-TYPE
++        SYNTAX   OspfAreaRangeEntry
++        MAX-ACCESS   not-accessible
++        STATUS   obsolete
++        DESCRIPTION
++           "A range if IP addresses  specified  by  an  IP
++           address/IP  network  mask  pair.   For example,
++           class B address range of X.X.X.X with a network
++           mask  of  255.255.0.0 includes all IP addresses
++           from X.X.0.0 to X.X.255.255"
++       REFERENCE
++          "OSPF Version 2, Appendix C.2  Area parameters"
++      INDEX { ospfAreaRangeAreaId, ospfAreaRangeNet }
++      ::= { ospfAreaRangeTable 1 }
++
++OspfAreaRangeEntry ::=
++    SEQUENCE {
++        ospfAreaRangeAreaId
++            AreaID,
++        ospfAreaRangeNet
++            IpAddress,
++        ospfAreaRangeMask
++            IpAddress,
++        ospfAreaRangeStatus
++            RowStatus,
++        ospfAreaRangeEffect
++            INTEGER
++              }
++
++    ospfAreaRangeAreaId OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   obsolete
++        DESCRIPTION
++           "The Area the Address  Range  is  to  be  found
++           within."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaRangeEntry 1 }
++
++
++    ospfAreaRangeNet OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   obsolete
++        DESCRIPTION
++           "The IP Address of the Net or Subnet  indicated
++           by the range."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaRangeEntry 2 }
++
++
++    ospfAreaRangeMask OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-create
++        STATUS   obsolete
++        DESCRIPTION
++           "The Subnet Mask that pertains to  the  Net  or
++           Subnet."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaRangeEntry 3 }
++
++    ospfAreaRangeStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   obsolete
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfAreaRangeEntry 4 }
++
++
++    ospfAreaRangeEffect OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    advertiseMatching (1),
++                    doNotAdvertiseMatching (2)
++                  }
++        MAX-ACCESS   read-create
++        STATUS   obsolete
++        DESCRIPTION
++           "Subnets subsumed by ranges either trigger  the
++           advertisement  of the indicated summary (adver-
++           tiseMatching), or result in  the  subnet's  not
++           being advertised at all outside the area."
++       DEFVAL   { advertiseMatching }
++       ::= { ospfAreaRangeEntry 5 }
++
++
++
++--  OSPF Host Table
++
++--      The Host/Metric Table indicates what hosts are directly
++--      attached to the Router, and what metrics and types of
++--      service should be advertised for them.
++
++    ospfHostTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfHostEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The list of Hosts, and their metrics, that the
++           router will advertise as host routes."
++       REFERENCE
++          "OSPF Version 2, Appendix C.6  Host route param-
++          eters"
++      ::= { ospf 6 }
++
++
++    ospfHostEntry OBJECT-TYPE
++        SYNTAX   OspfHostEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A metric to be advertised, for a given type of
++           service, when a given host is reachable."
++       INDEX { ospfHostIpAddress, ospfHostTOS }
++       ::= { ospfHostTable 1 }
++
++OspfHostEntry ::=
++    SEQUENCE {
++        ospfHostIpAddress
++            IpAddress,
++        ospfHostTOS
++            TOSType,
++        ospfHostMetric
++            Metric,
++        ospfHostStatus
++            RowStatus,
++        ospfHostAreaID
++            AreaID
++              }
++
++    ospfHostIpAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP Address of the Host."
++       REFERENCE
++          "OSPF Version 2, Appendix C.6 Host route parame-
++          ters"
++      ::= { ospfHostEntry 1 }
++
++
++    ospfHostTOS OBJECT-TYPE
++        SYNTAX   TOSType
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Type of Service of the route being config-
++           ured."
++       REFERENCE
++          "OSPF Version 2, Appendix C.6 Host route parame-
++          ters"
++      ::= { ospfHostEntry 2 }
++
++
++    ospfHostMetric OBJECT-TYPE
++        SYNTAX   Metric
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The Metric to be advertised."
++       REFERENCE
++          "OSPF Version 2, Appendix C.6 Host route parame-
++          ters"
++      ::= { ospfHostEntry 3 }
++
++    ospfHostStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfHostEntry 4 }
++
++
++    ospfHostAreaID OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Area the Host Entry is to be found within.
++           By  default, the area that a subsuming OSPF in-
++           terface is in, or 0.0.0.0"
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfHostEntry 5 }
++
++
++--  OSPF Interface Table
++
++--      The OSPF Interface Table augments the ipAddrTable
++--             with OSPF specific information.
++
++    ospfIfTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfIfEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The OSPF Interface Table describes the  inter-
++           faces from the viewpoint of OSPF."
++       REFERENCE
++          "OSPF Version 2, Appendix C.3  Router  interface
++          parameters"
++      ::= { ospf 7 }
++
++
++    ospfIfEntry OBJECT-TYPE
++        SYNTAX   OspfIfEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The OSPF Interface Entry describes one  inter-
++           face from the viewpoint of OSPF."
++       INDEX { ospfIfIpAddress, ospfAddressLessIf }
++       ::= { ospfIfTable 1 }
++
++OspfIfEntry ::=
++    SEQUENCE {
++        ospfIfIpAddress
++            IpAddress,
++        ospfAddressLessIf
++            Integer32,
++        ospfIfAreaId
++            AreaID,
++        ospfIfType
++            INTEGER,
++        ospfIfAdminStat
++            Status,
++        ospfIfRtrPriority
++            DesignatedRouterPriority,
++        ospfIfTransitDelay
++            UpToMaxAge,
++        ospfIfRetransInterval
++            UpToMaxAge,
++        ospfIfHelloInterval
++            HelloRange,
++        ospfIfRtrDeadInterval
++            PositiveInteger,
++        ospfIfPollInterval
++            PositiveInteger,
++        ospfIfState
++            INTEGER,
++        ospfIfDesignatedRouter
++            IpAddress,
++        ospfIfBackupDesignatedRouter
++            IpAddress,
++        ospfIfEvents
++            Counter32,
++        ospfIfAuthType
++            INTEGER,
++        ospfIfAuthKey
++            OCTET STRING,
++        ospfIfStatus
++            RowStatus,
++        ospfIfMulticastForwarding
++            INTEGER,
++        ospfIfDemand
++            TruthValue
++              }
++
++    ospfIfIpAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP address of this OSPF interface."
++       ::= { ospfIfEntry 1 }
++
++    ospfAddressLessIf OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "For the purpose of easing  the  instancing  of
++           addressed   and  addressless  interfaces;  This
++           variable takes the value 0 on  interfaces  with
++           IP  Addresses,  and  the corresponding value of
++           ifIndex for interfaces having no IP Address."
++       ::= { ospfIfEntry 2 }
++    ospfIfAreaId OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "A 32-bit integer uniquely identifying the area
++           to  which  the  interface  connects.   Area  ID
++           0.0.0.0 is used for the OSPF backbone."
++       DEFVAL   { '00000000'H }    -- 0.0.0.0
++       ::= { ospfIfEntry 3 }
++
++    ospfIfType OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    broadcast (1),
++                    nbma (2),
++                    pointToPoint (3),
++                    pointToMultipoint (5)
++                  }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The OSPF interface type.
++
++           By way of a default, this field may be intuited
++           from the corresponding value of ifType.  Broad-
++           cast LANs, such as  Ethernet  and  IEEE  802.5,
++           take  the  value  'broadcast', X.25 and similar
++           technologies take the value 'nbma',  and  links
++           that  are  definitively point to point take the
++           value 'pointToPoint'."
++       ::= { ospfIfEntry 4 }
++
++
++    ospfIfAdminStat OBJECT-TYPE
++        SYNTAX   Status
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The OSPF  interface's  administrative  status.
++           The  value formed on the interface, and the in-
++           terface will be advertised as an internal route
++           to  some  area.   The  value 'disabled' denotes
++           that the interface is external to OSPF."
++       DEFVAL { enabled }
++       ::= { ospfIfEntry 5 }
++
++    ospfIfRtrPriority OBJECT-TYPE
++        SYNTAX   DesignatedRouterPriority
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The  priority  of  this  interface.   Used  in
++           multi-access  networks,  this  field is used in
++           the designated router election algorithm.   The
++           value 0 signifies that the router is not eligi-
++           ble to become the  designated  router  on  this
++           particular  network.   In the event of a tie in
++           this value, routers will use their Router ID as
++           a tie breaker."
++       DEFVAL { 1 }
++       ::= { ospfIfEntry 6 }
++
++
++    ospfIfTransitDelay OBJECT-TYPE
++        SYNTAX   UpToMaxAge
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The estimated number of seconds  it  takes  to
++           transmit  a  link state update packet over this
++           interface."
++       DEFVAL { 1 }
++       ::= { ospfIfEntry 7 }
++
++
++    ospfIfRetransInterval OBJECT-TYPE
++        SYNTAX   UpToMaxAge
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The number of seconds between  link-state  ad-
++           vertisement  retransmissions,  for  adjacencies
++           belonging to this  interface.   This  value  is
++           also used when retransmitting database descrip-
++           tion and link-state request packets."
++       DEFVAL { 5 }
++       ::= { ospfIfEntry 8 }
++
++
++    ospfIfHelloInterval OBJECT-TYPE
++        SYNTAX   HelloRange
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The length of time, in  seconds,  between  the
++           Hello  packets that the router sends on the in-
++           terface.  This value must be the same  for  all
++           routers attached to a common network."
++       DEFVAL { 10 }
++       ::= { ospfIfEntry 9 }
++
++
++    ospfIfRtrDeadInterval OBJECT-TYPE
++        SYNTAX   PositiveInteger
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The number of seconds that  a  router's  Hello
++           packets  have  not been seen before it's neigh-
++           bors declare the router down.  This  should  be
++           some  multiple  of  the  Hello  interval.  This
++           value must be the same for all routers attached
++           to a common network."
++       DEFVAL { 40 }
++       ::= { ospfIfEntry 10 }
++
++
++    ospfIfPollInterval OBJECT-TYPE
++        SYNTAX   PositiveInteger
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The larger time interval, in seconds,  between
++           the  Hello  packets  sent  to  an inactive non-
++           broadcast multi- access neighbor."
++       DEFVAL { 120 }
++       ::= { ospfIfEntry 11 }
++
++
++    ospfIfState OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    down (1),
++                    loopback (2),
++                    waiting (3),
++                    pointToPoint (4),
++                    designatedRouter (5),
++                    backupDesignatedRouter (6),
++                    otherDesignatedRouter (7)
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The OSPF Interface State."
++       DEFVAL { down }
++       ::= { ospfIfEntry 12 }
++
++
++    ospfIfDesignatedRouter OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP Address of the Designated Router."
++       DEFVAL   { '00000000'H }    -- 0.0.0.0
++       ::= { ospfIfEntry 13 }
++
++
++    ospfIfBackupDesignatedRouter OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The  IP  Address  of  the  Backup   Designated
++           Router."
++       DEFVAL   { '00000000'H }    -- 0.0.0.0
++       ::= { ospfIfEntry 14 }
++
++    ospfIfEvents OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of times this  OSPF  interface  has
++           changed its state, or an error has occurred."
++       ::= { ospfIfEntry 15 }
++
++
++    ospfIfAuthKey OBJECT-TYPE
++        SYNTAX   OCTET STRING (SIZE (0..256))
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The Authentication Key.  If the Area's Author-
++           ization  Type  is  simplePassword,  and the key
++           length is shorter than 8 octets, the agent will
++           left adjust and zero fill to 8 octets.
++
++           Note that unauthenticated  interfaces  need  no
++           authentication key, and simple password authen-
++           tication cannot use a key of more  than  8  oc-
++           tets.  Larger keys are useful only with authen-
++           tication mechanisms not specified in this docu-
++           ment.
++
++           When read, ospfIfAuthKey always returns an  Oc-
++           tet String of length zero."
++       REFERENCE
++          "OSPF Version 2, Section 9  The  Interface  Data
++          Structure"
++      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
++      ::= { ospfIfEntry 16 }
++
++    ospfIfStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfIfEntry 17 }
++
++
++    ospfIfMulticastForwarding OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                            blocked (1),        -- no multicast forwarding
++                            multicast (2),        -- using multicast address
++                            unicast (3)        -- to each OSPF neighbor
++                  }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The way multicasts should  forwarded  on  this
++           interface;  not  forwarded,  forwarded  as data
++           link multicasts, or forwarded as data link uni-
++           casts.   Data link multicasting is not meaning-
++           ful on point to point and NBMA interfaces,  and
++           setting ospfMulticastForwarding to 0 effective-
++           ly disables all multicast forwarding."
++       DEFVAL { blocked }
++       ::= { ospfIfEntry 18 }
++
++
++    ospfIfDemand OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "Indicates whether Demand OSPF procedures (hel-
++           lo supression to FULL neighbors and setting the
++           DoNotAge flag on proogated LSAs) should be per-
++           formed on this interface."
++       DEFVAL { false }
++       ::= { ospfIfEntry 19 }
++
++
++    ospfIfAuthType OBJECT-TYPE
++        SYNTAX   INTEGER (0..255)
++                    -- none (0),
++                    -- simplePassword (1)
++                    -- md5 (2)
++                    -- reserved for specification by IANA (> 2)
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The authentication type specified for  an  in-
++           terface.   Additional  authentication types may
++           be assigned locally."
++       REFERENCE
++          "OSPF Version 2, Appendix E Authentication"
++      DEFVAL { 0 }        -- no authentication, by default
++      ::= { ospfIfEntry 20 }
++
++
++--  OSPF Interface Metric Table
++
++--      The Metric Table describes the metrics to be advertised
++--      for a specified interface at the various types of service.
++--      As such, this table is an adjunct of the OSPF Interface
++--      Table.
++
++-- Types of service, as defined by RFC 791, have the ability
++-- to request low delay, high bandwidth, or reliable linkage.
++
++-- For the purposes of this specification, the measure of
++-- bandwidth
++
++--      Metric = 10^8 / ifSpeed
++
++-- is the default value.  For multiple link interfaces, note
++-- that ifSpeed is the sum of the individual link speeds.
++-- This yields a number having the following typical values:
++
++--      Network Type/bit rate   Metric
++
++--      >= 100 MBPS                 1
++--      Ethernet/802.3             10
++--      E1                         48
++--      T1 (ESF)                   65
++--       64 KBPS                 1562
++--       56 KBPS                 1785
++--       19.2 KBPS               5208
++--        9.6 KBPS              10416
++
++-- Routes that are not specified use the default (TOS 0) metric
++
++    ospfIfMetricTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfIfMetricEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The TOS metrics for  a  non-virtual  interface
++           identified by the interface index."
++       REFERENCE
++          "OSPF Version 2, Appendix C.3  Router  interface
++          parameters"
++      ::= { ospf 8 }
++
++    ospfIfMetricEntry OBJECT-TYPE
++        SYNTAX   OspfIfMetricEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A particular TOS metric for a non-virtual  in-
++           terface identified by the interface index."
++       REFERENCE
++          "OSPF Version 2, Appendix C.3  Router  interface
++          parameters"
++      INDEX { ospfIfMetricIpAddress,
++  ospfIfMetricAddressLessIf,
++  ospfIfMetricTOS }
++      ::= { ospfIfMetricTable 1 }
++
++OspfIfMetricEntry ::=
++    SEQUENCE {
++        ospfIfMetricIpAddress
++            IpAddress,
++        ospfIfMetricAddressLessIf
++            Integer32,
++        ospfIfMetricTOS
++            TOSType,
++        ospfIfMetricValue
++            Metric,
++        ospfIfMetricStatus
++            RowStatus
++              }
++
++    ospfIfMetricIpAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP address of this OSPF interface.  On row
++           creation,  this  can  be  derived  from the in-
++           stance."
++       ::= { ospfIfMetricEntry 1 }
++
++    ospfIfMetricAddressLessIf OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "For the purpose of easing  the  instancing  of
++           addressed   and  addressless  interfaces;  This
++           variable takes the value 0 on  interfaces  with
++           IP  Addresses, and the value of ifIndex for in-
++           terfaces having no IP Address.   On  row  crea-
++           tion, this can be derived from the instance."
++       ::= { ospfIfMetricEntry 2 }
++
++
++    ospfIfMetricTOS OBJECT-TYPE
++        SYNTAX   TOSType
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The type of service metric  being  referenced.
++           On  row  creation, this can be derived from the
++           instance."
++       ::= { ospfIfMetricEntry 3 }
++
++
++    ospfIfMetricValue OBJECT-TYPE
++        SYNTAX   Metric
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The metric of using this type  of  service  on
++           this interface.  The default value of the TOS 0
++           Metric is 10^8 / ifSpeed."
++       ::= { ospfIfMetricEntry 4 }
++
++    ospfIfMetricStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfIfMetricEntry 5 }
++
++
++--  OSPF Virtual Interface Table
++
++--      The Virtual Interface Table describes the virtual
++--      links that the OSPF Process is configured to
++--      carry on.
++
++    ospfVirtIfTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfVirtIfEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "Information about this router's virtual inter-
++           faces."
++       REFERENCE
++          "OSPF Version  2,  Appendix  C.4   Virtual  link
++          parameters"
++      ::= { ospf 9 }
++
++
++    ospfVirtIfEntry OBJECT-TYPE
++        SYNTAX   OspfVirtIfEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "Information about a single Virtual Interface."
++       INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor }
++       ::= { ospfVirtIfTable 1 }
++
++OspfVirtIfEntry ::=
++    SEQUENCE {
++        ospfVirtIfAreaId
++            AreaID,
++        ospfVirtIfNeighbor
++            RouterID,
++        ospfVirtIfTransitDelay
++            UpToMaxAge,
++        ospfVirtIfRetransInterval
++            UpToMaxAge,
++        ospfVirtIfHelloInterval
++            HelloRange,
++        ospfVirtIfRtrDeadInterval
++            PositiveInteger,
++        ospfVirtIfState
++            INTEGER,
++        ospfVirtIfEvents
++            Counter32,
++        ospfVirtIfAuthType
++            INTEGER,
++        ospfVirtIfAuthKey
++            OCTET STRING,
++        ospfVirtIfStatus
++            RowStatus
++              }
++
++    ospfVirtIfAreaId OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The  Transit  Area  that  the   Virtual   Link
++           traverses.  By definition, this is not 0.0.0.0"
++       ::= { ospfVirtIfEntry 1 }
++
++
++    ospfVirtIfNeighbor OBJECT-TYPE
++        SYNTAX   RouterID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Router ID of the Virtual Neighbor."
++       ::= { ospfVirtIfEntry 2 }
++
++
++    ospfVirtIfTransitDelay OBJECT-TYPE
++        SYNTAX   UpToMaxAge
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The estimated number of seconds  it  takes  to
++           transmit  a link- state update packet over this
++           interface."
++       DEFVAL { 1 }
++       ::= { ospfVirtIfEntry 3 }
++
++
++    ospfVirtIfRetransInterval OBJECT-TYPE
++        SYNTAX   UpToMaxAge
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The number of seconds between  link-state  ad-
++           vertisement  retransmissions,  for  adjacencies
++           belonging to this  interface.   This  value  is
++           also used when retransmitting database descrip-
++           tion  and  link-state  request  packets.   This
++           value  should  be well over the expected round-
++           trip time."
++       DEFVAL { 5 }
++       ::= { ospfVirtIfEntry 4 }
++
++
++    ospfVirtIfHelloInterval OBJECT-TYPE
++        SYNTAX   HelloRange
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The length of time, in  seconds,  between  the
++           Hello  packets that the router sends on the in-
++           terface.  This value must be the same  for  the
++           virtual neighbor."
++       DEFVAL { 10 }
++       ::= { ospfVirtIfEntry 5 }
++
++
++    ospfVirtIfRtrDeadInterval OBJECT-TYPE
++        SYNTAX   PositiveInteger
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The number of seconds that  a  router's  Hello
++           packets  have  not been seen before it's neigh-
++           bors declare the router down.  This  should  be
++           some  multiple  of  the  Hello  interval.  This
++           value must be the same for the  virtual  neigh-
++           bor."
++       DEFVAL { 60 }
++       ::= { ospfVirtIfEntry 6 }
++
++
++    ospfVirtIfState OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    down (1),            -- these use the same encoding
++                    pointToPoint (4)     -- as the ospfIfTable
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "OSPF virtual interface states."
++       DEFVAL   { down }
++       ::= { ospfVirtIfEntry 7 }
++
++
++    ospfVirtIfEvents OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of state changes or error events on
++           this Virtual Link"
++       ::= { ospfVirtIfEntry 8 }
++
++
++    ospfVirtIfAuthKey OBJECT-TYPE
++        SYNTAX   OCTET STRING (SIZE(0..256))
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "If Authentication Type is simplePassword,  the
++           device  will left adjust and zero fill to 8 oc-
++           tets.
++
++           Note that unauthenticated  interfaces  need  no
++           authentication key, and simple password authen-
++           tication cannot use a key of more  than  8  oc-
++           tets.  Larger keys are useful only with authen-
++           tication mechanisms not specified in this docu-
++           ment.
++
++           When  read,  ospfVifAuthKey  always  returns  a
++           string of length zero."
++       REFERENCE
++          "OSPF Version 2, Section 9  The  Interface  Data
++          Structure"
++      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
++      ::= { ospfVirtIfEntry 9 }
++
++
++    ospfVirtIfStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfVirtIfEntry 10 }
++
++
++    ospfVirtIfAuthType OBJECT-TYPE
++        SYNTAX   INTEGER (0..255)
++                    -- none (0),
++                    -- simplePassword (1)
++                    -- md5 (2)
++                    -- reserved for specification by IANA (> 2)
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The authentication type specified for a virtu-
++           al  interface.  Additional authentication types
++           may be assigned locally."
++       REFERENCE
++          "OSPF Version 2, Appendix E Authentication"
++      DEFVAL { 0 }        -- no authentication, by default
++      ::= { ospfVirtIfEntry 11 }
++
++
++--  OSPF Neighbor Table
++
++--      The OSPF Neighbor Table describes all neighbors in
++--      the locality of the subject router.
++
++    ospfNbrTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfNbrEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A table of non-virtual neighbor information."
++       REFERENCE
++          "OSPF Version 2, Section 10  The  Neighbor  Data
++          Structure"
++      ::= { ospf 10 }
++
++
++    ospfNbrEntry OBJECT-TYPE
++        SYNTAX   OspfNbrEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The information regarding a single neighbor."
++       REFERENCE
++          "OSPF Version 2, Section 10  The  Neighbor  Data
++          Structure"
++      INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex }
++      ::= { ospfNbrTable 1 }
++
++OspfNbrEntry ::=
++    SEQUENCE {
++        ospfNbrIpAddr
++            IpAddress,
++        ospfNbrAddressLessIndex
++            InterfaceIndex,
++        ospfNbrRtrId
++            RouterID,
++        ospfNbrOptions
++            Integer32,
++        ospfNbrPriority
++            DesignatedRouterPriority,
++        ospfNbrState
++            INTEGER,
++        ospfNbrEvents
++            Counter32,
++        ospfNbrLsRetransQLen
++            Gauge32,
++        ospfNbmaNbrStatus
++            RowStatus,
++        ospfNbmaNbrPermanence
++            INTEGER,
++        ospfNbrHelloSuppressed
++            TruthValue
++              }
++
++    ospfNbrIpAddr OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP address this neighbor is using  in  its
++           IP  Source  Address.  Note that, on addressless
++           links, this will not be 0.0.0.0,  but  the  ad-
++           dress of another of the neighbor's interfaces."
++       ::= { ospfNbrEntry 1 }
++
++
++    ospfNbrAddressLessIndex OBJECT-TYPE
++        SYNTAX   InterfaceIndex
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "On an interface having an  IP  Address,  zero.
++           On  addressless  interfaces,  the corresponding
++           value of ifIndex in the Internet Standard  MIB.
++           On  row  creation, this can be derived from the
++           instance."
++       ::= { ospfNbrEntry 2 }
++
++
++    ospfNbrRtrId OBJECT-TYPE
++        SYNTAX   RouterID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "A 32-bit integer (represented as a type  IpAd-
++           dress)  uniquely  identifying  the  neighboring
++           router in the Autonomous System."
++       DEFVAL   { '00000000'H }    -- 0.0.0.0
++       ::= { ospfNbrEntry 3 }
++
++
++    ospfNbrOptions OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "A Bit Mask corresponding to the neighbor's op-
++           tions field.
++
++           Bit 0, if set, indicates that the  system  will
++           operate  on  Type of Service metrics other than
++           TOS 0.  If zero, the neighbor will  ignore  all
++           metrics except the TOS 0 metric.
++
++           Bit 1, if set, indicates  that  the  associated
++           area  accepts and operates on external informa-
++           tion; if zero, it is a stub area.
++
++           Bit 2, if set, indicates that the system is ca-
++           pable  of routing IP Multicast datagrams; i.e.,
++           that it implements the Multicast Extensions  to
++           OSPF.
++
++           Bit 3, if set, indicates  that  the  associated
++           area  is  an  NSSA.  These areas are capable of
++           carrying type 7 external advertisements,  which
++           are  translated into type 5 external advertise-
++           ments at NSSA borders."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.2 Options"
++      DEFVAL { 0 }
++      ::= { ospfNbrEntry 4 }
++
++
++    ospfNbrPriority OBJECT-TYPE
++        SYNTAX   DesignatedRouterPriority
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The priority of this neighbor in the designat-
++           ed router election algorithm.  The value 0 sig-
++           nifies that the neighbor is not eligible to be-
++           come  the  designated router on this particular
++           network."
++       DEFVAL { 1 }
++       ::= { ospfNbrEntry 5 }
++
++
++    ospfNbrState OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    down (1),
++                    attempt (2),
++                    init (3),
++                    twoWay (4),
++                    exchangeStart (5),
++                    exchange (6),
++                    loading (7),
++                    full (8)
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The State of the relationship with this Neigh-
++           bor."
++       REFERENCE
++          "OSPF Version 2, Section 10.1 Neighbor States"
++      DEFVAL   { down }
++      ::= { ospfNbrEntry 6 }
++
++
++    ospfNbrEvents OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of times this neighbor relationship
++           has changed state, or an error has occurred."
++       ::= { ospfNbrEntry 7 }
++
++
++    ospfNbrLsRetransQLen OBJECT-TYPE
++        SYNTAX   Gauge32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The  current  length  of  the   retransmission
++           queue."
++       ::= { ospfNbrEntry 8 }
++
++
++    ospfNbmaNbrStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfNbrEntry 9 }
++
++
++    ospfNbmaNbrPermanence OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    dynamic (1),        -- learned through protocol
++                    permanent (2)       -- configured address
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.   'dynamic'  and  'permanent' refer to how
++           the neighbor became known."
++       DEFVAL { permanent }
++       ::= { ospfNbrEntry 10 }
++
++
++    ospfNbrHelloSuppressed OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "Indicates whether Hellos are being  suppressed
++           to the neighbor"
++       ::= { ospfNbrEntry 11 }
++
++
++--  OSPF Virtual Neighbor Table
++
++--      This table describes all virtual neighbors.
++--      Since Virtual Links are configured in the
++--      virtual interface table, this table is read-only.
++
++    ospfVirtNbrTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfVirtNbrEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A table of virtual neighbor information."
++       REFERENCE
++          "OSPF Version 2, Section 15  Virtual Links"
++      ::= { ospf 11 }
++
++
++    ospfVirtNbrEntry OBJECT-TYPE
++        SYNTAX   OspfVirtNbrEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "Virtual neighbor information."
++       INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId }
++       ::= { ospfVirtNbrTable 1 }
++
++OspfVirtNbrEntry ::=
++    SEQUENCE {
++        ospfVirtNbrArea
++            AreaID,
++        ospfVirtNbrRtrId
++            RouterID,
++        ospfVirtNbrIpAddr
++            IpAddress,
++        ospfVirtNbrOptions
++            Integer32,
++        ospfVirtNbrState
++            INTEGER,
++        ospfVirtNbrEvents
++            Counter32,
++        ospfVirtNbrLsRetransQLen
++            Gauge32,
++        ospfVirtNbrHelloSuppressed
++                TruthValue
++              }
++
++    ospfVirtNbrArea OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Transit Area Identifier."
++       ::= { ospfVirtNbrEntry 1 }
++
++
++    ospfVirtNbrRtrId OBJECT-TYPE
++        SYNTAX   RouterID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "A  32-bit  integer  uniquely  identifying  the
++           neighboring router in the Autonomous System."
++       ::= { ospfVirtNbrEntry 2 }
++
++
++    ospfVirtNbrIpAddr OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP address this Virtual  Neighbor  is  us-
++           ing."
++       ::= { ospfVirtNbrEntry 3 }
++
++
++    ospfVirtNbrOptions OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "A Bit Mask corresponding to the neighbor's op-
++           tions field.
++
++           Bit 1, if set, indicates that the  system  will
++           operate  on  Type of Service metrics other than
++           TOS 0.  If zero, the neighbor will  ignore  all
++           metrics except the TOS 0 metric.
++
++           Bit 2, if set, indicates  that  the  system  is
++           Network  Multicast  capable; ie, that it imple-
++           ments OSPF Multicast Routing."
++       ::= { ospfVirtNbrEntry 4 }
++    ospfVirtNbrState OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    down (1),
++                    attempt (2),
++                    init (3),
++                    twoWay (4),
++                    exchangeStart (5),
++                    exchange (6),
++                    loading (7),
++                    full (8)
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The state of the  Virtual  Neighbor  Relation-
++           ship."
++       ::= { ospfVirtNbrEntry 5 }
++
++
++    ospfVirtNbrEvents OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of  times  this  virtual  link  has
++           changed its state, or an error has occurred."
++       ::= { ospfVirtNbrEntry 6 }
++
++
++    ospfVirtNbrLsRetransQLen OBJECT-TYPE
++        SYNTAX   Gauge32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The  current  length  of  the   retransmission
++           queue."
++       ::= { ospfVirtNbrEntry 7 }
++
++
++    ospfVirtNbrHelloSuppressed OBJECT-TYPE
++        SYNTAX   TruthValue
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "Indicates whether Hellos are being  suppressed
++           to the neighbor"
++       ::= { ospfVirtNbrEntry 8 }
++
++--  OSPF Link State Database, External
++
++--      The Link State Database contains the Link State
++--      Advertisements from throughout the areas that the
++--      device is attached to.
++
++--             This table is identical to the OSPF LSDB Table in
++--      format, but contains only External Link State
++--             Advertisements.  The purpose is to allow external
++--      LSAs to be displayed once for the router rather
++--      than once in each non-stub area.
++
++    ospfExtLsdbTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfExtLsdbEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "The OSPF Process's Links State Database."
++       REFERENCE
++          "OSPF Version 2, Section 12  Link  State  Adver-
++          tisements"
++      ::= { ospf 12 }
++
++
++    ospfExtLsdbEntry OBJECT-TYPE
++        SYNTAX   OspfExtLsdbEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A single Link State Advertisement."
++       INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId }
++       ::= { ospfExtLsdbTable 1 }
++
++OspfExtLsdbEntry ::=
++    SEQUENCE {
++        ospfExtLsdbType
++            INTEGER,
++        ospfExtLsdbLsid
++            IpAddress,
++        ospfExtLsdbRouterId
++            RouterID,
++        ospfExtLsdbSequence
++            Integer32,
++        ospfExtLsdbAge
++            Integer32,
++        ospfExtLsdbChecksum
++            Integer32,
++        ospfExtLsdbAdvertisement
++            OCTET STRING
++              }
++
++    ospfExtLsdbType OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    asExternalLink (5)
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The type  of  the  link  state  advertisement.
++           Each  link state type has a separate advertise-
++           ment format."
++       REFERENCE
++          "OSPF Version 2, Appendix A.4.1 The  Link  State
++          Advertisement header"
++      ::= { ospfExtLsdbEntry 1 }
++
++
++    ospfExtLsdbLsid OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Link State ID is an LS Type Specific field
++           containing either a Router ID or an IP Address;
++           it identifies the piece of the  routing  domain
++           that is being described by the advertisement."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.4 Link State ID"
++      ::= { ospfExtLsdbEntry 2 }
++
++
++    ospfExtLsdbRouterId OBJECT-TYPE
++        SYNTAX   RouterID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The 32 bit number that uniquely identifies the
++           originating router in the Autonomous System."
++       REFERENCE
++          "OSPF Version 2, Appendix C.1 Global parameters"
++      ::= { ospfExtLsdbEntry 3 }
++
++--  Note that the OSPF Sequence Number is a 32 bit signed
++--  integer.  It starts with the value '80000001'h,
++--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
++--  Thus, a typical sequence number will be very negative.
++    ospfExtLsdbSequence OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The sequence number field is a  signed  32-bit
++           integer.   It  is used to detect old and dupli-
++           cate link state advertisements.  The  space  of
++           sequence  numbers  is  linearly  ordered.   The
++           larger the sequence number the more recent  the
++           advertisement."
++       REFERENCE
++          "OSPF Version  2,  Section  12.1.6  LS  sequence
++          number"
++      ::= { ospfExtLsdbEntry 4 }
++
++
++    ospfExtLsdbAge OBJECT-TYPE
++        SYNTAX   Integer32    -- Should be 0..MaxAge
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "This field is the age of the link state adver-
++           tisement in seconds."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.1 LS age"
++      ::= { ospfExtLsdbEntry 5 }
++
++
++    ospfExtLsdbChecksum OBJECT-TYPE
++        SYNTAX   Integer32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "This field is the  checksum  of  the  complete
++           contents  of  the  advertisement, excepting the
++           age field.  The age field is excepted  so  that
++           an   advertisement's  age  can  be  incremented
++           without updating the  checksum.   The  checksum
++           used  is  the same that is used for ISO connec-
++           tionless datagrams; it is commonly referred  to
++           as the Fletcher checksum."
++       REFERENCE
++          "OSPF Version 2, Section 12.1.7 LS checksum"
++      ::= { ospfExtLsdbEntry 6 }
++
++
++    ospfExtLsdbAdvertisement OBJECT-TYPE
++        SYNTAX   OCTET STRING (SIZE(36))
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The entire Link State Advertisement, including
++           its header."
++       REFERENCE
++          "OSPF Version 2, Section 12  Link  State  Adver-
++          tisements"
++      ::= { ospfExtLsdbEntry 7 }
++
++
++--  OSPF Use of the CIDR Route Table
++
++ospfRouteGroup           OBJECT IDENTIFIER ::= { ospf 13 }
++
++-- The IP Forwarding Table defines a number of objects for use by
++-- the routing protocol to externalize its information.  Most of
++-- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
++-- ipForwardNextHop, ipForwardIfIndex, ipForwardType,
++-- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
++-- defined there.
++
++-- Those that leave some discretion are defined here.
++
++-- ipCidrRouteProto is, of course, ospf (13).
++
++-- ipCidrRouteAge is the time since the route was first calculated,
++-- as opposed to the time since the last SPF run.
++
++-- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing
++-- protocol.  The following values shall be found there depending
++-- on the way the route was calculated.
++
++ospfIntraArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 1 }
++ospfInterArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 2 }
++ospfExternalType1  OBJECT IDENTIFIER ::= { ospfRouteGroup 3 }
++ospfExternalType2  OBJECT IDENTIFIER ::= { ospfRouteGroup 4 }
++
++-- ipCidrRouteMetric1 is, by definition, the primary routing
++-- metric.  Therefore, it should be the metric that route
++-- selection is based on.  For intra-area and inter-area routes,
++-- it is an OSPF metric.  For External Type 1 (comparable value)
++-- routes, it is an OSPF metric plus the External Metric.  For
++-- external Type 2 (non-comparable value) routes, it is the
++-- external metric.
++
++-- ipCidrRouteMetric2 is, by definition, a secondary routing
++-- metric.  Therefore, it should be the metric that breaks a tie
++-- among routes having equal metric1 values and the same
++-- calculation rule.  For intra-area, inter-area routes, and
++-- External Type 1 (comparable value) routes, it is unused.  For
++-- external Type 2 (non-comparable value) routes, it is the metric
++-- to the AS border router.
++
++-- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 are
++-- unused.
++
++--
++--      The OSPF Area Aggregate Table
++--
++--      This table replaces the OSPF Area Summary Table, being an
++--      extension of that for CIDR routers.
++
++    ospfAreaAggregateTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF OspfAreaAggregateEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A range of IP addresses  specified  by  an  IP
++           address/IP  network  mask  pair.   For example,
++           class B address range of X.X.X.X with a network
++           mask  of  255.255.0.0 includes all IP addresses
++           from X.X.0.0  to  X.X.255.255.   Note  that  if
++           ranges  are configured such that one range sub-
++           sumes  another  range  (e.g.,   10.0.0.0   mask
++           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
++           most specific match is the preferred one."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2  Area parameters"
++      ::= { ospf 14 }
++
++
++    ospfAreaAggregateEntry OBJECT-TYPE
++        SYNTAX   OspfAreaAggregateEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A range of IP addresses  specified  by  an  IP
++           address/IP  network  mask  pair.   For example,
++           class B address range of X.X.X.X with a network
++           mask  of  255.255.0.0 includes all IP addresses
++           from X.X.0.0  to  X.X.255.255.   Note  that  if
++           ranges are range configured such that one range
++           subsumes another  range  (e.g.,  10.0.0.0  mask
++           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
++           most specific match is the preferred one."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2  Area parameters"
++      INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType,
++              ospfAreaAggregateNet, ospfAreaAggregateMask }
++      ::= { ospfAreaAggregateTable 1 }
++
++
++OspfAreaAggregateEntry ::=
++    SEQUENCE {
++        ospfAreaAggregateAreaID
++            AreaID,
++        ospfAreaAggregateLsdbType
++            INTEGER,
++        ospfAreaAggregateNet
++            IpAddress,
++        ospfAreaAggregateMask
++            IpAddress,
++        ospfAreaAggregateStatus
++            RowStatus,
++        ospfAreaAggregateEffect
++            INTEGER
++              }
++
++    ospfAreaAggregateAreaID OBJECT-TYPE
++        SYNTAX   AreaID
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Area the Address Aggregate is to be  found
++           within."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaAggregateEntry 1 }
++
++
++    ospfAreaAggregateLsdbType OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    summaryLink (3),
++                    nssaExternalLink (7)
++                  }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The type of the Address Aggregate.  This field
++           specifies  the  Lsdb type that this Address Ag-
++           gregate applies to."
++       REFERENCE
++          "OSPF Version 2, Appendix A.4.1 The  Link  State
++          Advertisement header"
++      ::= { ospfAreaAggregateEntry 2 }
++
++
++    ospfAreaAggregateNet OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP Address of the Net or Subnet  indicated
++           by the range."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaAggregateEntry 3 }
++
++
++    ospfAreaAggregateMask OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The Subnet Mask that pertains to  the  Net  or
++           Subnet."
++       REFERENCE
++          "OSPF Version 2, Appendix C.2 Area parameters"
++      ::= { ospfAreaAggregateEntry 4 }
++
++
++    ospfAreaAggregateStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable displays the status of  the  en-
++           try.  Setting it to 'invalid' has the effect of
++           rendering it inoperative.  The internal  effect
++           (row removal) is implementation dependent."
++       ::= { ospfAreaAggregateEntry 5 }
++
++
++    ospfAreaAggregateEffect OBJECT-TYPE
++        SYNTAX   INTEGER    {
++                    advertiseMatching (1),
++                    doNotAdvertiseMatching (2)
++                  }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "Subnets subsumed by ranges either trigger  the
++           advertisement  of  the indicated aggregate (ad-
++           vertiseMatching), or result in the subnet's not
++           being advertised at all outside the area."
++       DEFVAL   { advertiseMatching }
++       ::= { ospfAreaAggregateEntry 6 }
++
++
++-- conformance information
++
++ospfConformance OBJECT IDENTIFIER ::= { ospf 15 }
++
++ospfGroups      OBJECT IDENTIFIER ::= { ospfConformance 1 }
++ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 }
++
++-- compliance statements
++
++    ospfCompliance MODULE-COMPLIANCE
++        STATUS  current
++        DESCRIPTION
++           "The compliance statement "
++       MODULE  -- this module
++       MANDATORY-GROUPS {
++                    ospfBasicGroup,
++                    ospfAreaGroup,
++                    ospfStubAreaGroup,
++                    ospfIfGroup,
++                    ospfIfMetricGroup,
++                    ospfVirtIfGroup,
++                    ospfNbrGroup,
++                    ospfVirtNbrGroup,
++                    ospfAreaAggregateGroup
++           }
++       ::= { ospfCompliances 1 }
++
++
++-- units of conformance
++
++    ospfBasicGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfRouterId,
++                    ospfAdminStat,
++                    ospfVersionNumber,
++                    ospfAreaBdrRtrStatus,
++                    ospfASBdrRtrStatus,
++                    ospfExternLsaCount,
++                    ospfExternLsaCksumSum,
++                    ospfTOSSupport,
++                    ospfOriginateNewLsas,
++                    ospfRxNewLsas,
++                    ospfExtLsdbLimit,
++                    ospfMulticastExtensions,
++                    ospfExitOverflowInterval,
++                    ospfDemandExtensions
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 1 }
++
++
++    ospfAreaGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfAreaId,
++                    ospfImportAsExtern,
++                    ospfSpfRuns,
++                    ospfAreaBdrRtrCount,
++                    ospfAsBdrRtrCount,
++                    ospfAreaLsaCount,
++                    ospfAreaLsaCksumSum,
++                    ospfAreaSummary,
++                    ospfAreaStatus
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required  for  OSPF  systems
++           supporting areas."
++       ::= { ospfGroups 2 }
++
++
++    ospfStubAreaGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfStubAreaId,
++                    ospfStubTOS,
++                    ospfStubMetric,
++                    ospfStubStatus,
++                    ospfStubMetricType
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required  for  OSPF  systems
++           supporting stub areas."
++       ::= { ospfGroups 3 }
++
++
++    ospfLsdbGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfLsdbAreaId,
++                    ospfLsdbType,
++                    ospfLsdbLsid,
++                    ospfLsdbRouterId,
++                    ospfLsdbSequence,
++                    ospfLsdbAge,
++                    ospfLsdbChecksum,
++                    ospfLsdbAdvertisement
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required  for  OSPF  systems
++           that display their link state database."
++       ::= { ospfGroups 4 }
++
++
++    ospfAreaRangeGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfAreaRangeAreaId,
++                    ospfAreaRangeNet,
++                    ospfAreaRangeMask,
++                    ospfAreaRangeStatus,
++                    ospfAreaRangeEffect
++        }
++        STATUS  obsolete
++        DESCRIPTION
++           "These objects are required for  non-CIDR  OSPF
++           systems that support multiple areas."
++       ::= { ospfGroups 5 }
++
++
++    ospfHostGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfHostIpAddress,
++                    ospfHostTOS,
++                    ospfHostMetric,
++                    ospfHostStatus,
++                    ospfHostAreaID
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required  for  OSPF  systems
++           that support attached hosts."
++       ::= { ospfGroups 6 }
++
++
++    ospfIfGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfIfIpAddress,
++                    ospfAddressLessIf,
++                    ospfIfAreaId,
++                    ospfIfType,
++                    ospfIfAdminStat,
++                    ospfIfRtrPriority,
++                    ospfIfTransitDelay,
++                    ospfIfRetransInterval,
++                    ospfIfHelloInterval,
++                    ospfIfRtrDeadInterval,
++                    ospfIfPollInterval,
++                    ospfIfState,
++                    ospfIfDesignatedRouter,
++                    ospfIfBackupDesignatedRouter,
++                    ospfIfEvents,
++                    ospfIfAuthType,
++                    ospfIfAuthKey,
++                    ospfIfStatus,
++                    ospfIfMulticastForwarding,
++                    ospfIfDemand
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 7 }
++
++
++    ospfIfMetricGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfIfMetricIpAddress,
++                    ospfIfMetricAddressLessIf,
++                    ospfIfMetricTOS,
++                    ospfIfMetricValue,
++                    ospfIfMetricStatus
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 8 }
++
++
++    ospfVirtIfGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfVirtIfAreaId,
++                    ospfVirtIfNeighbor,
++                    ospfVirtIfTransitDelay,
++                    ospfVirtIfRetransInterval,
++                    ospfVirtIfHelloInterval,
++                    ospfVirtIfRtrDeadInterval,
++                    ospfVirtIfState,
++                    ospfVirtIfEvents,
++                    ospfVirtIfAuthType,
++                    ospfVirtIfAuthKey,
++                    ospfVirtIfStatus
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 9 }
++
++
++    ospfNbrGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfNbrIpAddr,
++                    ospfNbrAddressLessIndex,
++                    ospfNbrRtrId,
++                    ospfNbrOptions,
++                    ospfNbrPriority,
++                    ospfNbrState,
++                    ospfNbrEvents,
++                    ospfNbrLsRetransQLen,
++                    ospfNbmaNbrStatus,
++                    ospfNbmaNbrPermanence,
++                    ospfNbrHelloSuppressed
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 10 }
++
++
++    ospfVirtNbrGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfVirtNbrArea,
++                    ospfVirtNbrRtrId,
++                    ospfVirtNbrIpAddr,
++                    ospfVirtNbrOptions,
++                    ospfVirtNbrState,
++                    ospfVirtNbrEvents,
++                    ospfVirtNbrLsRetransQLen,
++                    ospfVirtNbrHelloSuppressed
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 11 }
++
++
++    ospfExtLsdbGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfExtLsdbType,
++                    ospfExtLsdbLsid,
++                    ospfExtLsdbRouterId,
++                    ospfExtLsdbSequence,
++                    ospfExtLsdbAge,
++                    ospfExtLsdbChecksum,
++                    ospfExtLsdbAdvertisement
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required  for  OSPF  systems
++           that display their link state database."
++       ::= { ospfGroups 12 }
++
++
++    ospfAreaAggregateGroup    OBJECT-GROUP
++        OBJECTS {
++                    ospfAreaAggregateAreaID,
++                    ospfAreaAggregateLsdbType,
++                    ospfAreaAggregateNet,
++                    ospfAreaAggregateMask,
++                    ospfAreaAggregateStatus,
++                    ospfAreaAggregateEffect
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required for OSPF systems."
++       ::= { ospfGroups 13 }
++
++END
+diff -ruN net-snmp-5.4.1.orig/mibs/OSPF-TRAP-MIB.txt net-snmp-5.4.1/mibs/OSPF-TRAP-MIB.txt
+--- net-snmp-5.4.1.orig/mibs/OSPF-TRAP-MIB.txt 1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/OSPF-TRAP-MIB.txt      2007-09-20 16:30:52.000000000 +0200
+@@ -0,0 +1,443 @@
++OSPF-TRAP-MIB DEFINITIONS ::= BEGIN
++
++    IMPORTS
++            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress
++                FROM SNMPv2-SMI
++            MODULE-COMPLIANCE, OBJECT-GROUP
++                FROM SNMPv2-CONF
++            ospfRouterId, ospfIfIpAddress, ospfAddressLessIf, ospfIfState,
++            ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState,
++            ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId,
++            ospfNbrState, ospfVirtNbrArea, ospfVirtNbrRtrId, ospfVirtNbrState,
++            ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId, ospfLsdbAreaId,
++            ospfExtLsdbLimit, ospf
++                FROM OSPF-MIB;
++
++    ospfTrap MODULE-IDENTITY
++           LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
++           ORGANIZATION "IETF OSPF Working Group"
++           CONTACT-INFO
++           "                      Fred Baker
++           Postal:                Cisco Systems
++                                  519 Lado Drive
++                                  Santa Barbara, California 93111
++           Tel:                   +1 805 681 0115
++           E-Mail:                fred@cisco.com
++
++                                  Rob Coltun
++           Postal:                RainbowBridge Communications
++           Tel:                   (301) 340-9416
++           E-Mail:                rcoltun@rainbow-bridge.com"
++       DESCRIPTION
++          "The MIB module to describe traps for  the  OSPF
++          Version 2 Protocol."
++      ::= { ospf 16 }
++
++-- Trap Support Objects
++
++--         The following are support objects for the OSPF traps.
++
++ospfTrapControl OBJECT IDENTIFIER ::= { ospfTrap 1 }
++ospfTraps OBJECT IDENTIFIER ::= { ospfTrap 2 }
++
++    ospfSetTrap OBJECT-TYPE
++        SYNTAX   OCTET STRING (SIZE(4))
++        MAX-ACCESS   read-write
++        STATUS   current
++        DESCRIPTION
++           "A four-octet string serving as a bit  map  for
++           the trap events defined by the OSPF traps. This
++           object is used to enable and  disable  specific
++           OSPF   traps   where  a  1  in  the  bit  field
++           represents enabled.  The right-most bit  (least
++           significant) represents trap 0."
++       ::= { ospfTrapControl 1 }
++
++
++    ospfConfigErrorType OBJECT-TYPE
++        SYNTAX   INTEGER   {
++                    badVersion (1),
++                    areaMismatch (2),
++                    unknownNbmaNbr (3), -- Router is Dr eligible
++                    unknownVirtualNbr (4),
++                    authTypeMismatch(5),
++                    authFailure (6),
++                    netMaskMismatch (7),
++                    helloIntervalMismatch (8),
++                    deadIntervalMismatch (9),
++                    optionMismatch (10) }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "Potential types  of  configuration  conflicts.
++           Used  by the ospfConfigError and ospfConfigVir-
++           tError traps."
++   ::= { ospfTrapControl 2 }
++
++
++    ospfPacketType OBJECT-TYPE
++        SYNTAX   INTEGER   {
++                    hello (1),
++                    dbDescript (2),
++                    lsReq (3),
++                    lsUpdate (4),
++                    lsAck (5) }
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "OSPF packet types."
++   ::= { ospfTrapControl 3 }
++
++
++    ospfPacketSrc OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP address of an inbound packet that  can-
++           not be identified by a neighbor instance."
++       ::= { ospfTrapControl 4 }
++
++
++-- Traps
++
++
++    ospfIfStateChange NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfIfIpAddress,
++                    ospfAddressLessIf,
++                    ospfIfState   -- The new state
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfIfStateChange trap signifies that there
++           has been a change in the state of a non-virtual
++           OSPF interface. This trap should  be  generated
++           when  the interface state regresses (e.g., goes
++           from Dr to Down) or progresses  to  a  terminal
++           state  (i.e.,  Point-to-Point, DR Other, Dr, or
++           Backup)."
++   ::= { ospfTraps 16 }
++
++
++    ospfVirtIfStateChange NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfVirtIfAreaId,
++                    ospfVirtIfNeighbor,
++                    ospfVirtIfState  -- The new state
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfIfStateChange trap signifies that there
++           has  been a change in the state of an OSPF vir-
++           tual interface.
++           This trap should be generated when  the  inter-
++           face  state  regresses  (e.g., goes from Point-
++           to-Point to Down) or progresses to  a  terminal
++           state (i.e., Point-to-Point)."
++   ::= { ospfTraps 1 }
++
++
++    ospfNbrStateChange NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfNbrIpAddr,
++                    ospfNbrAddressLessIndex,
++                    ospfNbrRtrId,
++                    ospfNbrState  -- The new state
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An  ospfNbrStateChange  trap  signifies   that
++           there  has been a change in the state of a non-
++           virtual OSPF neighbor.   This  trap  should  be
++           generated  when  the  neighbor  state regresses
++           (e.g., goes from Attempt or Full  to  1-Way  or
++           Down)  or progresses to a terminal state (e.g.,
++           2-Way or Full).  When an  neighbor  transitions
++           from  or  to Full on non-broadcast multi-access
++           and broadcast networks, the trap should be gen-
++           erated  by the designated router.  A designated
++           router transitioning to Down will be  noted  by
++           ospfIfStateChange."
++   ::= { ospfTraps 2 }
++
++
++    ospfVirtNbrStateChange NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfVirtNbrArea,
++                    ospfVirtNbrRtrId,
++                    ospfVirtNbrState  -- The new state
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfIfStateChange trap signifies that there
++           has  been a change in the state of an OSPF vir-
++           tual neighbor.  This trap should  be  generated
++           when  the  neighbor state regresses (e.g., goes
++           from Attempt or  Full  to  1-Way  or  Down)  or
++           progresses to a terminal state (e.g., Full)."
++   ::= { ospfTraps 3 }
++    ospfIfConfigError NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfIfIpAddress,
++                    ospfAddressLessIf,
++                    ospfPacketSrc,  -- The source IP address
++                    ospfConfigErrorType, -- Type of error
++                    ospfPacketType
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfIfConfigError  trap  signifies  that  a
++           packet  has  been received on a non-virtual in-
++           terface  from  a  router  whose   configuration
++           parameters  conflict  with this router's confi-
++           guration parameters.  Note that the  event  op-
++           tionMismatch  should  cause  a  trap only if it
++           prevents an adjacency from forming."
++                  ::= { ospfTraps 4 }
++
++
++    ospfVirtIfConfigError NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfVirtIfAreaId,
++                    ospfVirtIfNeighbor,
++                    ospfConfigErrorType, -- Type of error
++                    ospfPacketType
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfConfigError trap signifies that a pack-
++           et  has  been  received  on a virtual interface
++           from a router  whose  configuration  parameters
++           conflict   with   this  router's  configuration
++           parameters.  Note that the event optionMismatch
++           should  cause a trap only if it prevents an ad-
++           jacency from forming."
++   ::= { ospfTraps 5 }
++
++
++    ospfIfAuthFailure NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfIfIpAddress,
++                    ospfAddressLessIf,
++                    ospfPacketSrc,  -- The source IP address
++                    ospfConfigErrorType, -- authTypeMismatch or
++                                         -- authFailure
++                    ospfPacketType
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfIfAuthFailure  trap  signifies  that  a
++           packet  has  been received on a non-virtual in-
++           terface from a router whose authentication  key
++           or  authentication  type  conflicts  with  this
++           router's authentication key  or  authentication
++           type."
++   ::= { ospfTraps 6 }
++
++
++    ospfVirtIfAuthFailure NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfVirtIfAreaId,
++                    ospfVirtIfNeighbor,
++                    ospfConfigErrorType, -- authTypeMismatch or
++                                         -- authFailure
++                    ospfPacketType
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfVirtIfAuthFailure trap signifies that a
++           packet has been received on a virtual interface
++           from a router whose authentication key  or  au-
++           thentication  type conflicts with this router's
++           authentication key or authentication type."
++   ::= { ospfTraps 7 }
++
++
++    ospfIfRxBadPacket NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfIfIpAddress,
++                    ospfAddressLessIf,
++                    ospfPacketSrc,  -- The source IP address
++                    ospfPacketType
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfIfRxBadPacket trap  signifies  that  an
++           OSPF  packet has been received on a non-virtual
++           interface that cannot be parsed."
++   ::= { ospfTraps 8 }
++
++    ospfVirtIfRxBadPacket NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfVirtIfAreaId,
++                    ospfVirtIfNeighbor,
++                    ospfPacketType
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfRxBadPacket trap signifies that an OSPF
++           packet has been received on a virtual interface
++           that cannot be parsed."
++   ::= { ospfTraps 9 }
++
++
++    ospfTxRetransmit NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfIfIpAddress,
++                    ospfAddressLessIf,
++                    ospfNbrRtrId, -- Destination
++                    ospfPacketType,
++                    ospfLsdbType,
++                    ospfLsdbLsid,
++                    ospfLsdbRouterId
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfTxRetransmit  trap  signifies  than  an
++           OSPF  packet  has  been retransmitted on a non-
++           virtual interface.  All packets that may be re-
++           transmitted  are associated with an LSDB entry.
++           The LS type, LS ID, and Router ID are  used  to
++           identify the LSDB entry."
++   ::= { ospfTraps 10 }
++
++
++    ospfVirtIfTxRetransmit NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfVirtIfAreaId,
++                    ospfVirtIfNeighbor,
++                    ospfPacketType,
++                    ospfLsdbType,
++                    ospfLsdbLsid,
++                    ospfLsdbRouterId
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfTxRetransmit  trap  signifies  than  an
++           OSPF packet has been retransmitted on a virtual
++           interface.  All packets that may be retransmit-
++           ted  are  associated with an LSDB entry. The LS
++           type, LS ID, and Router ID are used to identify
++           the LSDB entry."
++   ::= { ospfTraps 11 }
++
++
++    ospfOriginateLsa NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
++                    ospfLsdbType,
++                    ospfLsdbLsid,
++                    ospfLsdbRouterId
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfOriginateLsa trap signifies that a  new
++           LSA  has  been originated by this router.  This
++           trap should not be invoked for simple refreshes
++           of  LSAs  (which happesn every 30 minutes), but
++           instead will only be invoked  when  an  LSA  is
++           (re)originated due to a topology change.  Addi-
++           tionally, this trap does not include LSAs  that
++           are  being  flushed  because  they have reached
++           MaxAge."
++   ::= { ospfTraps 12 }
++
++
++    ospfMaxAgeLsa NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
++                    ospfLsdbType,
++                    ospfLsdbLsid,
++                    ospfLsdbRouterId
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfMaxAgeLsa trap signifies  that  one  of
++           the LSA in the router's link-state database has
++           aged to MaxAge."
++   ::= { ospfTraps 13 }
++
++
++    ospfLsdbOverflow NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfExtLsdbLimit
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfLsdbOverflow trap  signifies  that  the
++           number of LSAs in the router's link-state data-
++           base has exceeded ospfExtLsdbLimit."
++   ::= { ospfTraps 14 }
++
++
++    ospfLsdbApproachingOverflow NOTIFICATION-TYPE
++        OBJECTS {
++                    ospfRouterId, -- The originator of the trap
++                    ospfExtLsdbLimit
++                  }
++        STATUS             current
++        DESCRIPTION
++           "An ospfLsdbApproachingOverflow trap  signifies
++           that  the  number of LSAs in the router's link-
++           state database has exceeded ninety  percent  of
++           ospfExtLsdbLimit."
++   ::= { ospfTraps 15 }
++
++
++-- conformance information
++
++ospfTrapConformance OBJECT IDENTIFIER ::= { ospfTrap 3 }
++
++ospfTrapGroups      OBJECT IDENTIFIER ::= { ospfTrapConformance 1 }
++ospfTrapCompliances OBJECT IDENTIFIER ::= { ospfTrapConformance 2 }
++
++-- compliance statements
++
++    ospfTrapCompliance MODULE-COMPLIANCE
++        STATUS  current
++        DESCRIPTION
++           "The compliance statement "
++       MODULE  -- this module
++       MANDATORY-GROUPS { ospfTrapControlGroup }
++
++
++        GROUP       ospfTrapControlGroup
++        DESCRIPTION
++           "This group is optional but recommended for all
++           OSPF systems"
++       ::= { ospfTrapCompliances 1 }
++
++
++-- units of conformance
++
++    ospfTrapControlGroup    OBJECT-GROUP
++        OBJECTS {
++                           ospfSetTrap,
++                           ospfConfigErrorType,
++                           ospfPacketType,
++                           ospfPacketSrc
++        }
++        STATUS  current
++        DESCRIPTION
++           "These objects are required  to  control  traps
++           from OSPF systems."
++       ::= { ospfTrapGroups 1 }
++
++
++END
+diff -ruN net-snmp-5.4.1.orig/mibs/RIPv2-MIB.txt net-snmp-5.4.1/mibs/RIPv2-MIB.txt
+--- net-snmp-5.4.1.orig/mibs/RIPv2-MIB.txt     1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/RIPv2-MIB.txt  2007-09-20 16:30:52.000000000 +0200
+@@ -0,0 +1,530 @@
++   RIPv2-MIB DEFINITIONS ::= BEGIN
++
++   IMPORTS
++       MODULE-IDENTITY, OBJECT-TYPE, Counter32,
++       TimeTicks, IpAddress                     FROM SNMPv2-SMI
++       TEXTUAL-CONVENTION, RowStatus            FROM SNMPv2-TC
++       MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
++       mib-2                                    FROM RFC1213-MIB;
++
++   --  This MIB module uses the extended OBJECT-TYPE macro as
++   --  defined in [9].
++
++   rip2  MODULE-IDENTITY
++           LAST-UPDATED "9407272253Z"      -- Wed Jul 27 22:53:04 PDT 1994
++           ORGANIZATION "IETF RIP-II Working Group"
++           CONTACT-INFO
++          "       Fred Baker
++          Postal: Cisco Systems
++                  519 Lado Drive
++                  Santa Barbara, California 93111
++          Tel:    +1 805 681 0115
++          E-Mail: fbaker@cisco.com
++
++          Postal: Gary Malkin
++                  Xylogics, Inc.
++                  53 Third Avenue
++                  Burlington, MA  01803
++
++          Phone:  (617) 272-8140
++          EMail:  gmalkin@Xylogics.COM"
++      DESCRIPTION
++         "The MIB module to describe the RIP2 Version 2 Protocol"
++     ::= { mib-2 23 }
++
++ --  RIP-2 Management Information Base
++
++ -- the RouteTag type represents the contents of the
++ -- Route Domain field in the packet header or route entry.
++ -- The use of the Route Domain is deprecated.
++
++ RouteTag ::= TEXTUAL-CONVENTION
++     STATUS      current
++     DESCRIPTION
++        "the RouteTag type represents the contents of the Route Domain
++        field in the packet header or route entry"
++    SYNTAX      OCTET STRING (SIZE (2))
++
++--4.1 Global Counters
++
++--      The RIP-2 Globals Group.
++--      Implementation of this group is mandatory for systems
++--      which implement RIP-2.
++
++-- These counters are intended to facilitate debugging quickly
++-- changing routes or failing neighbors
++
++rip2Globals OBJECT IDENTIFIER ::= { rip2 1 }
++
++    rip2GlobalRouteChanges OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of route changes made to the IP Route
++           Database by RIP.  This does not include the refresh
++           of a route's age."
++       ::= { rip2Globals 1 }
++
++    rip2GlobalQueries OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of responses sent to RIP queries
++           from other systems."
++       ::= { rip2Globals 2 }
++
++--4.2 RIP Interface Tables
++
++--  RIP Interfaces Groups
++--  Implementation of these Groups is mandatory for systems
++--  which implement RIP-2.
++
++-- The RIP Interface Status Table.
++
++    rip2IfStatTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF Rip2IfStatEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A list of subnets which require separate
++           status monitoring in RIP."
++       ::= { rip2 2 }
++
++   rip2IfStatEntry OBJECT-TYPE
++       SYNTAX   Rip2IfStatEntry
++       MAX-ACCESS   not-accessible
++       STATUS   current
++       DESCRIPTION
++          "A Single Routing Domain in a single Subnet."
++      INDEX { rip2IfStatAddress }
++      ::= { rip2IfStatTable 1 }
++
++    Rip2IfStatEntry ::=
++        SEQUENCE {
++            rip2IfStatAddress
++                IpAddress,
++            rip2IfStatRcvBadPackets
++                Counter32,
++            rip2IfStatRcvBadRoutes
++                Counter32,
++            rip2IfStatSentUpdates
++                Counter32,
++            rip2IfStatStatus
++                RowStatus
++    }
++
++    rip2IfStatAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP Address of this system on the indicated
++           subnet. For unnumbered interfaces, the value 0.0.0.N,
++           where the least significant 24 bits (N) is the ifIndex
++           for the IP Interface in network byte order."
++       ::= { rip2IfStatEntry 1 }
++
++    rip2IfStatRcvBadPackets OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of RIP response packets received by
++           the RIP process which were subsequently discarded
++           for any reason (e.g. a version 0 packet, or an
++           unknown command type)."
++       ::= { rip2IfStatEntry 2 }
++
++    rip2IfStatRcvBadRoutes OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of routes, in valid RIP packets,
++           which were ignored for any reason (e.g. unknown
++           address family, or invalid metric)."
++       ::= { rip2IfStatEntry 3 }
++
++    rip2IfStatSentUpdates OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of triggered RIP updates actually
++           sent on this interface.  This explicitly does
++           NOT include full updates sent containing new
++           information."
++       ::= { rip2IfStatEntry 4 }
++
++    rip2IfStatStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "Writing invalid has the effect of deleting
++           this interface."
++       ::= { rip2IfStatEntry 5 }
++
++-- The RIP Interface Configuration Table.
++
++    rip2IfConfTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF Rip2IfConfEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A list of subnets which require separate
++           configuration in RIP."
++       ::= { rip2 3 }
++
++   rip2IfConfEntry OBJECT-TYPE
++       SYNTAX   Rip2IfConfEntry
++       MAX-ACCESS   not-accessible
++       STATUS   current
++       DESCRIPTION
++          "A Single Routing Domain in a single Subnet."
++      INDEX { rip2IfConfAddress }
++      ::= { rip2IfConfTable 1 }
++
++    Rip2IfConfEntry ::=
++        SEQUENCE {
++            rip2IfConfAddress
++                IpAddress,
++            rip2IfConfDomain
++                RouteTag,
++            rip2IfConfAuthType
++                INTEGER,
++            rip2IfConfAuthKey
++                OCTET STRING (SIZE(0..16)),
++            rip2IfConfSend
++                INTEGER,
++            rip2IfConfReceive
++                INTEGER,
++            rip2IfConfDefaultMetric
++                INTEGER,
++            rip2IfConfStatus
++                RowStatus,
++            rip2IfConfSrcAddress
++                IpAddress
++    }
++
++    rip2IfConfAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP Address of this system on the indicated
++           subnet.  For unnumbered interfaces, the value 0.0.0.N,
++           where the least significant 24 bits (N) is the ifIndex
++           for the IP Interface in network byte order."
++       ::= { rip2IfConfEntry 1 }
++
++    rip2IfConfDomain OBJECT-TYPE
++        SYNTAX   RouteTag
++        MAX-ACCESS   read-create
++        STATUS   obsolete
++        DESCRIPTION
++           "Value inserted into the Routing Domain field
++           of all RIP packets sent on this interface."
++       DEFVAL { '0000'h }
++       ::= { rip2IfConfEntry 2 }
++
++    rip2IfConfAuthType OBJECT-TYPE
++        SYNTAX   INTEGER {
++                    noAuthentication (1),
++                    simplePassword (2),
++                    md5 (3)
++                 }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The type of Authentication used on this
++           interface."
++       DEFVAL { noAuthentication }
++       ::= { rip2IfConfEntry 3 }
++
++    rip2IfConfAuthKey OBJECT-TYPE
++        SYNTAX   OCTET STRING (SIZE(0..16))
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The value to be used as the Authentication Key
++           whenever the corresponding instance of
++           rip2IfConfAuthType has a value other than
++           noAuthentication.  A modification of the corresponding
++           instance of rip2IfConfAuthType does not modify
++           the rip2IfConfAuthKey value.  If a string shorter
++           than 16 octets is supplied, it will be left-
++           justified and padded to 16 octets, on the right,
++           with nulls (0x00).
++
++           Reading this object always results in an  OCTET
++           STRING of length zero; authentication may not
++           be bypassed by reading the MIB object."
++       DEFVAL { ''h }
++       ::= { rip2IfConfEntry 4 }
++
++    rip2IfConfSend OBJECT-TYPE
++        SYNTAX   INTEGER {
++                    doNotSend (1),
++                    ripVersion1 (2),
++                    rip1Compatible (3),
++                    ripVersion2 (4),
++                    ripV1Demand (5),
++                    ripV2Demand (6)
++                 }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "What the router sends on this interface.
++           ripVersion1 implies sending RIP updates compliant
++           with  RFC  1058.   rip1Compatible implies
++           broadcasting RIP-2 updates using RFC 1058 route
++           subsumption rules.  ripVersion2 implies
++           multicasting RIP-2 updates.  ripV1Demand indicates
++           the use of Demand RIP on a WAN interface under RIP
++           Version 1 rules.  ripV2Demand indicates the use of
++           Demand RIP on a WAN interface under Version 2 rules."
++       DEFVAL { rip1Compatible }
++       ::= { rip2IfConfEntry 5 }
++
++    rip2IfConfReceive OBJECT-TYPE
++        SYNTAX   INTEGER {
++                    rip1 (1),
++                    rip2 (2),
++                    rip1OrRip2 (3),
++                    doNotRecieve (4)
++                 }
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This indicates which version of RIP updates
++           are to be accepted.  Note that rip2 and
++           rip1OrRip2 implies reception of multicast
++           packets."
++       DEFVAL { rip1OrRip2 }
++       ::= { rip2IfConfEntry 6 }
++
++    rip2IfConfDefaultMetric OBJECT-TYPE
++        SYNTAX   INTEGER ( 0..15 )
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "This variable indicates the metric that is to
++           be used for the default route entry in RIP updates
++           originated on this interface.  A value of zero
++           indicates that no default route should be
++           originated; in this case, a default route via
++           another router may be propagated."
++       ::= { rip2IfConfEntry 7 }
++
++    rip2IfConfStatus OBJECT-TYPE
++        SYNTAX   RowStatus
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "Writing invalid has  the  effect  of  deleting
++           this interface."
++       ::= { rip2IfConfEntry 8 }
++
++    rip2IfConfSrcAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-create
++        STATUS   current
++        DESCRIPTION
++           "The IP Address this system will use as a source
++            address on this interface.  If it is a numbered
++            interface, this MUST be the same value as
++            rip2IfConfAddress.  On unnumbered interfaces,
++            it must be the value of rip2IfConfAddress for
++            some interface on the system."
++       ::= { rip2IfConfEntry 9 }
++
++--4.3 Peer Table
++
++--  Peer Table
++
++--      The RIP Peer Group
++--      Implementation of this Group is Optional
++
++--      This group provides information about active peer
++--      relationships intended to assist in debugging.  An
++--      active peer is a router from which a valid RIP
++--      updated has been heard in the last 180 seconds.
++
++    rip2PeerTable OBJECT-TYPE
++        SYNTAX   SEQUENCE OF Rip2PeerEntry
++        MAX-ACCESS   not-accessible
++        STATUS   current
++        DESCRIPTION
++           "A list of RIP Peers."
++       ::= { rip2 4 }
++
++   rip2PeerEntry OBJECT-TYPE
++       SYNTAX   Rip2PeerEntry
++       MAX-ACCESS   not-accessible
++       STATUS   current
++       DESCRIPTION
++          "Information regarding a single routing peer."
++      INDEX { rip2PeerAddress, rip2PeerDomain }
++      ::= { rip2PeerTable 1 }
++
++    Rip2PeerEntry ::=
++        SEQUENCE {
++            rip2PeerAddress
++                IpAddress,
++            rip2PeerDomain
++                RouteTag,
++            rip2PeerLastUpdate
++                TimeTicks,
++            rip2PeerVersion
++                INTEGER,
++            rip2PeerRcvBadPackets
++                Counter32,
++            rip2PeerRcvBadRoutes
++                Counter32
++            }
++
++    rip2PeerAddress OBJECT-TYPE
++        SYNTAX   IpAddress
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The IP Address that the peer is using as its source
++            address.  Note that on an unnumbered link, this may
++            not be a member of any subnet on the system."
++       ::= { rip2PeerEntry 1 }
++
++    rip2PeerDomain OBJECT-TYPE
++        SYNTAX   RouteTag
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The value in the Routing Domain field  in  RIP
++           packets received from the peer.  As domain suuport
++           is deprecated, this must be zero."
++       ::= { rip2PeerEntry 2 }
++
++    rip2PeerLastUpdate OBJECT-TYPE
++        SYNTAX   TimeTicks
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The value of sysUpTime when the most recent
++           RIP update was received from this system."
++       ::= { rip2PeerEntry 3 }
++
++    rip2PeerVersion OBJECT-TYPE
++        SYNTAX   INTEGER ( 0..255 )
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The RIP version number in the header of the
++           last RIP packet received."
++       ::= { rip2PeerEntry 4 }
++
++    rip2PeerRcvBadPackets OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of RIP response packets from this
++           peer discarded as invalid."
++       ::= { rip2PeerEntry 5 }
++
++
++    rip2PeerRcvBadRoutes OBJECT-TYPE
++        SYNTAX   Counter32
++        MAX-ACCESS   read-only
++        STATUS   current
++        DESCRIPTION
++           "The number of routes from this peer that were
++           ignored because the entry format was invalid."
++       ::= { rip2PeerEntry 6 }
++
++-- conformance information
++
++rip2Conformance OBJECT IDENTIFIER ::= { rip2 5 }
++
++rip2Groups      OBJECT IDENTIFIER ::= { rip2Conformance 1 }
++rip2Compliances OBJECT IDENTIFIER ::= { rip2Conformance 2 }
++
++-- compliance statements
++rip2Compliance MODULE-COMPLIANCE
++    STATUS  current
++    DESCRIPTION
++       "The compliance statement "
++    MODULE  -- this module
++    MANDATORY-GROUPS {
++                 rip2GlobalGroup,
++                 rip2IfStatGroup,
++                 rip2IfConfGroup,
++                 rip2PeerGroup
++        }
++    GROUP       rip2GlobalGroup
++    DESCRIPTION
++       "This group defines global controls for RIP-II systems."
++    GROUP       rip2IfStatGroup
++    DESCRIPTION
++       "This group defines interface statistics for RIP-II systems."
++    GROUP       rip2IfConfGroup
++    DESCRIPTION
++       "This group defines interface configuration for RIP-II systems."
++    GROUP       rip2PeerGroup
++    DESCRIPTION
++       "This group defines peer information for RIP-II systems."
++    ::= { rip2Compliances 1 }
++
++-- units of conformance
++
++rip2GlobalGroup    OBJECT-GROUP
++    OBJECTS {
++                rip2GlobalRouteChanges,
++                rip2GlobalQueries
++    }
++    STATUS  current
++    DESCRIPTION
++       "This group defines global controls for RIP-II systems."
++    ::= { rip2Groups 1 }
++rip2IfStatGroup    OBJECT-GROUP
++    OBJECTS {
++            rip2IfStatAddress,
++            rip2IfStatRcvBadPackets,
++            rip2IfStatRcvBadRoutes,
++            rip2IfStatSentUpdates,
++            rip2IfStatStatus
++    }
++    STATUS  current
++    DESCRIPTION
++       "This group defines interface statistics for RIP-II systems."
++    ::= { rip2Groups 2 }
++rip2IfConfGroup    OBJECT-GROUP
++    OBJECTS {
++            rip2IfConfAddress,
++            rip2IfConfAuthType,
++            rip2IfConfAuthKey,
++            rip2IfConfSend,
++            rip2IfConfReceive,
++            rip2IfConfDefaultMetric,
++            rip2IfConfStatus,
++            rip2IfConfSrcAddress
++    }
++    STATUS  current
++    DESCRIPTION
++       "This group defines interface configuration for RIP-II systems."
++    ::= { rip2Groups 3 }
++rip2PeerGroup    OBJECT-GROUP
++    OBJECTS {
++            rip2PeerAddress,
++            rip2PeerDomain,
++            rip2PeerLastUpdate,
++            rip2PeerVersion,
++            rip2PeerRcvBadPackets,
++            rip2PeerRcvBadRoutes
++    }
++    STATUS  current
++    DESCRIPTION
++       "This group defines peer information for RIP-II systems."
++    ::= { rip2Groups 4 }
++END
+diff -ruN net-snmp-5.4.1.orig/mibs/SOURCE-ROUTING-MIB.txt net-snmp-5.4.1/mibs/SOURCE-ROUTING-MIB.txt
+--- net-snmp-5.4.1.orig/mibs/SOURCE-ROUTING-MIB.txt    1970-01-01 01:00:00.000000000 +0100
++++ net-snmp-5.4.1/mibs/SOURCE-ROUTING-MIB.txt 2007-09-20 16:30:52.000000000 +0200
+@@ -0,0 +1,452 @@
++SOURCE-ROUTING-MIB DEFINITIONS ::= BEGIN
++
++IMPORTS
++        Counter, Gauge
++                FROM RFC1155-SMI
++        dot1dBridge, dot1dSr
++                FROM BRIDGE-MIB
++        OBJECT-TYPE
++                FROM RFC-1212;
++
++-- groups in the SR MIB
++
++-- dot1dSr is imported from the Bridge MIB
++
++dot1dPortPair   OBJECT IDENTIFIER ::= { dot1dBridge 10 }
++
++-- the dot1dSr group
++
++-- this group is implemented by those bridges that
++-- support the source route bridging mode, including Source
++-- Routing and SRT bridges.
++
++dot1dSrPortTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dSrPortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table that contains information about every
++            port that is associated with this source route
++            bridge."
++    ::= { dot1dSr 1 }
++
++dot1dSrPortEntry OBJECT-TYPE
++    SYNTAX  Dot1dSrPortEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A list of information for each port of a source
++            route bridge."
++    INDEX   { dot1dSrPort }
++
++    ::= { dot1dSrPortTable 1 }
++
++Dot1dSrPortEntry ::=
++    SEQUENCE {
++        dot1dSrPort
++            INTEGER,
++        dot1dSrPortHopCount
++            INTEGER,
++        dot1dSrPortLocalSegment
++            INTEGER,
++        dot1dSrPortBridgeNum
++            INTEGER,
++        dot1dSrPortTargetSegment
++            INTEGER,
++        dot1dSrPortLargestFrame
++            INTEGER,
++        dot1dSrPortSTESpanMode
++            INTEGER,
++        dot1dSrPortSpecInFrames
++            Counter,
++        dot1dSrPortSpecOutFrames
++            Counter,
++        dot1dSrPortApeInFrames
++            Counter,
++        dot1dSrPortApeOutFrames
++            Counter,
++        dot1dSrPortSteInFrames
++            Counter,
++        dot1dSrPortSteOutFrames
++            Counter,
++        dot1dSrPortSegmentMismatchDiscards
++            Counter,
++        dot1dSrPortDuplicateSegmentDiscards
++            Counter,
++        dot1dSrPortHopCountExceededDiscards
++            Counter,
++        dot1dSrPortDupLanIdOrTreeErrors
++            Counter,
++        dot1dSrPortLanIdMismatches
++            Counter
++    }
++
++dot1dSrPort OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the port for which this entry
++
++            contains Source Route management information."
++    ::= { dot1dSrPortEntry 1 }
++
++dot1dSrPortHopCount OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The maximum number of routing descriptors allowed
++            in an All Paths or Spanning Tree Explorer frames."
++    ::= { dot1dSrPortEntry 2 }
++
++dot1dSrPortLocalSegment OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The segment number that uniquely identifies the
++            segment to which this port is connected. Current
++            source routing protocols limit this value to the
++            range: 0 through 4095. (The value 0 is used by
++            some management applications for special test
++            cases.) A value of 65535 signifies that no segment
++            number is assigned to this port."
++    ::= { dot1dSrPortEntry 3 }
++
++dot1dSrPortBridgeNum OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "A bridge number uniquely identifies a bridge when
++            more than one bridge is used to span the same two
++            segments.  Current source routing protocols limit
++            this value to the range: 0 through 15. A value of
++            65535 signifies that no bridge number is assigned
++            to this bridge."
++    ::= { dot1dSrPortEntry 4 }
++
++dot1dSrPortTargetSegment OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The segment number that corresponds to the target
++            segment this port is considered to be connected to
++            by the bridge.  Current source routing protocols
++            limit this value to the range: 0 through 4095.
++
++            (The value 0 is used by some management
++            applications for special test cases.) A value of
++            65535 signifies that no target segment is assigned
++            to this port."
++    ::= { dot1dSrPortEntry 5 }
++
++-- It would be nice if we could use ifMtu as the size of the
++-- largest frame, but we can't because ifMtu is defined to be
++-- the size that the (inter-)network layer can use which can
++-- differ from the MAC layer (especially if several layers of
++-- encapsulation are used).
++
++dot1dSrPortLargestFrame OBJECT-TYPE
++    SYNTAX  INTEGER
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The maximum size of the INFO field (LLC and
++            above) that this port can send/receive.  It does
++            not include any MAC level (framing) octets.  The
++            value of this object is used by this bridge to
++            determine whether a modification of the
++            LargestFrame (LF, see [14]) field of the Routing
++            Control field of the Routing Information Field is
++            necessary.
++
++            64 valid values are defined by the IEEE 802.5M SRT
++            Addendum: 516, 635, 754, 873, 993, 1112, 1231,
++            1350, 1470, 1542, 1615, 1688, 1761, 1833, 1906,
++            1979, 2052, 2345, 2638, 2932, 3225, 3518, 3812,
++            4105, 4399, 4865, 5331, 5798, 6264, 6730, 7197,
++            7663, 8130, 8539, 8949, 9358, 9768, 10178, 10587,
++            10997, 11407, 12199, 12992, 13785, 14578, 15370,
++            16163, 16956, 17749, 20730, 23711, 26693, 29674,
++            32655, 35637, 38618, 41600, 44591, 47583, 50575,
++            53567, 56559, 59551, and 65535.
++
++            An illegal value will not be accepted by the
++            bridge."
++    ::= { dot1dSrPortEntry 6 }
++
++dot1dSrPortSTESpanMode OBJECT-TYPE
++    SYNTAX  INTEGER {
++                auto-span(1),
++                disabled(2),
++                forced(3)
++            }
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "Determines how this port behaves when presented
++            with a Spanning Tree Explorer frame.  The value
++            'disabled(2)' indicates that the port will not
++            accept or send Spanning Tree Explorer packets; any
++            STE packets received will be silently discarded.
++            The value 'forced(3)' indicates the port will
++            always accept and propagate Spanning Tree Explorer
++            frames.  This allows a manually configured
++            Spanning Tree for this class of packet to be
++            configured.  Note that unlike transparent
++            bridging, this is not catastrophic to the network
++            if there are loops.  The value 'auto-span(1)' can
++            only be returned by a bridge that both implements
++            the Spanning Tree Protocol and has use of the
++            protocol enabled on this port. The behavior of the
++            port for Spanning Tree Explorer frames is
++            determined by the state of dot1dStpPortState.  If
++            the port is in the 'forwarding' state, the frame
++            will be accepted or propagated.  Otherwise, it
++            will be silently discarded."
++    ::= { dot1dSrPortEntry 7 }
++
++dot1dSrPortSpecInFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of Specifically Routed frames, also
++            referred to as Source Routed Frames, that have
++            been received from this port's segment."
++    ::= { dot1dSrPortEntry 8 }
++
++dot1dSrPortSpecOutFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of Specifically Routed frames, also
++            referred to as Source Routed Frames, that this
++            port has transmitted on its segment."
++    ::= { dot1dSrPortEntry 9 }
++
++dot1dSrPortApeInFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of All Paths Explorer frames, also
++            referred to as All Routes Explorer frames, that
++            have been received by this port from its segment."
++    ::= { dot1dSrPortEntry 10 }
++
++dot1dSrPortApeOutFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of all Paths Explorer Frames, also
++            referred to as All Routes Explorer frames, that
++            have been transmitted by this port on its
++            segment."
++    ::= { dot1dSrPortEntry 11 }
++
++dot1dSrPortSteInFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of spanning tree explorer frames that
++            have been received by this port from its segment."
++    ::= { dot1dSrPortEntry 12 }
++
++dot1dSrPortSteOutFrames OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of spanning tree explorer frames that
++            have been transmitted by this port on its
++            segment."
++    ::= { dot1dSrPortEntry 13 }
++
++dot1dSrPortSegmentMismatchDiscards OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of explorer frames that have been
++            discarded by this port because the routing
++            descriptor field contained an invalid adjacent
++            segment value."
++    ::= { dot1dSrPortEntry 14 }
++
++dot1dSrPortDuplicateSegmentDiscards OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of frames that have been discarded by
++            this port because the routing descriptor field
++            contained a duplicate segment identifier."
++    ::= { dot1dSrPortEntry 15 }
++
++dot1dSrPortHopCountExceededDiscards OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of explorer frames that have been
++            discarded by this port because the Routing
++            Information Field has exceeded the maximum route
++            descriptor length."
++    ::= { dot1dSrPortEntry 16 }
++
++dot1dSrPortDupLanIdOrTreeErrors OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of duplicate LAN IDs or Tree errors.
++            This helps in detection of problems in networks
++            containing older IBM Source Routing Bridges."
++    ::= { dot1dSrPortEntry 17 }
++
++dot1dSrPortLanIdMismatches OBJECT-TYPE
++    SYNTAX  Counter
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The number of ARE and STE frames that were
++            discarded because the last LAN ID in the routing
++            information field did not equal the LAN-in ID.
++            This error can occur in implementations which do
++            only a LAN-in ID and Bridge Number check instead
++            of a LAN-in ID, Bridge Number, and LAN-out ID
++            check before they forward broadcast frames."
++    ::= { dot1dSrPortEntry 18 }
++
++-- scalar object in dot1dSr
++
++dot1dSrBridgeLfMode OBJECT-TYPE
++    SYNTAX  INTEGER {
++                mode3(1),
++                mode6(2)
++            }
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "Indicates whether the bridge operates using older
++            3 bit length negotiation fields or the newer 6 bit
++            length field in its RIF."
++    ::= { dot1dSr 2 }
++
++-- The Port-Pair Database
++
++-- Implementation of this group is optional.
++
++-- This group is implemented by those bridges that support
++-- the direct multiport model of the source route bridging
++-- mode as defined in the IEEE 802.5 SRT Addendum to
++-- 802.1d.
++
++-- Bridges implementing this group may report 65535 for
++-- dot1dSrPortBridgeNumber and dot1dSrPortTargetSegment,
++-- indicating that those objects are not applicable.
++
++dot1dPortPairTableSize OBJECT-TYPE
++    SYNTAX  Gauge
++    ACCESS  read-only
++    STATUS  mandatory
++    DESCRIPTION
++            "The total number of entries in the Bridge Port
++            Pair Database."
++    ::= { dot1dPortPair 1 }
++
++-- the Bridge Port-Pair table
++
++-- this table represents port pairs within a bridge forming
++-- a unique bridge path, as defined in the IEEE 802.5M SRT
++-- Addendum.
++
++dot1dPortPairTable OBJECT-TYPE
++    SYNTAX  SEQUENCE OF Dot1dPortPairEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A table that contains information about every
++
++            port pair database entity associated with this
++            source routing bridge."
++    ::= { dot1dPortPair 2 }
++
++dot1dPortPairEntry OBJECT-TYPE
++    SYNTAX  Dot1dPortPairEntry
++    ACCESS  not-accessible
++    STATUS  mandatory
++    DESCRIPTION
++            "A list of information for each port pair entity
++            of a bridge."
++    INDEX   { dot1dPortPairLowPort, dot1dPortPairHighPort }
++    ::= { dot1dPortPairTable 1 }
++
++Dot1dPortPairEntry ::=
++    SEQUENCE {
++        dot1dPortPairLowPort
++            INTEGER,
++        dot1dPortPairHighPort
++            INTEGER,
++        dot1dPortPairBridgeNum
++            INTEGER,
++        dot1dPortPairBridgeState
++            INTEGER
++    }
++
++dot1dPortPairLowPort OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the lower numbered port for
++            which this entry contains port pair database
++            information."
++    ::= { dot1dPortPairEntry 1 }
++
++dot1dPortPairHighPort OBJECT-TYPE
++    SYNTAX  INTEGER (1..65535)
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The port number of the higher numbered port for
++            which this entry contains port pair database
++            information."
++    ::= { dot1dPortPairEntry 2 }
++
++dot1dPortPairBridgeNum OBJECT-TYPE
++    SYNTAX  INTEGER
++
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "A bridge number that uniquely identifies the path
++            provided by this source routing bridge between the
++            segments connected to dot1dPortPairLowPort and
++            dot1dPortPairHighPort.  The purpose of bridge
++            number is to disambiguate between multiple paths
++            connecting the same two LANs."
++    ::= { dot1dPortPairEntry 3 }
++
++dot1dPortPairBridgeState OBJECT-TYPE
++    SYNTAX  INTEGER {
++                enabled(1),
++                disabled(2),
++                invalid(3)
++            }
++    ACCESS  read-write
++    STATUS  mandatory
++    DESCRIPTION
++            "The state of dot1dPortPairBridgeNum.  Writing
++            'invalid(3)' to this object removes the
++            corresponding entry."
++    ::= { dot1dPortPairEntry 4 }
++
++END
diff --git a/libs/net-snmp/patches/140-debian-docfiles.patch b/libs/net-snmp/patches/140-debian-docfiles.patch
new file mode 100644 (file)
index 0000000..a6cb10c
--- /dev/null
@@ -0,0 +1,95 @@
+--- net-snmp-5.4.orig/FAQ      2006-11-25 00:34:18.000000000 +0100
++++ net-snmp-5.4/FAQ   2006-11-25 00:37:09.000000000 +0100
+@@ -98,7 +98,7 @@
+    I don't understand the new access control stuff - what does it mean?
+    How do I configure SNMPv3 users?
+    The 'createUser' line disappears when I start the agent.  Why?
+-   What's the difference between /var/net-snmp and /usr/local/share/snmp?
++   What's the difference between /var/lib/snmp and /usr/share/snmp?
+    My new agent is ignoring the old snmpd.conf file. Why?
+    Why am I getting "Connection refused"?
+    Why can't I see values in the UCDavis 'extensible' or 'disk' trees?
+@@ -630,7 +630,7 @@
+   There are two steps required to add a new MIB file to the tools.
+   Firstly, copy the MIB file into the appropiate location:
+-      cp MY-MIB.txt /usr/local/share/snmp/mibs
++      cp MY-MIB.txt /usr/share/snmp/mibs
+             (which makes it available to everyone on the system)
+           or
+@@ -1158,7 +1158,7 @@
+   If this is the case, then you can specify this interpreter
+   explicitly as part of the trap handle directive:
+-      traphandle default /usr/bin/perl /usr/local/bin/log_it
++      traphandle default /usr/bin/perl /usr/bin/log_it
+     In this case, it's almost certain that you'll also
+   need to give the full path to the traphandle script (as shown)
+@@ -1232,7 +1232,7 @@
+   string to use.
+     Some of these (such as the MIB file location), might be best put in
+-  a shared snmp.conf file (typically /usr/local/share/snmp/snmp.conf or
++  a shared snmp.conf file (typically /usr/share/snmp/snmp.conf or
+   /etc/snmp/snmp.conf) to apply to all users of the system.  Others
+   (particularly the SNMPv3 security settings), are more likely to refer
+   to a particular user, and should go in a personal snmp.conf file
+@@ -1455,7 +1455,7 @@
+     Alternatively, the tools may be looking in the wrong place.
+-  The default location for the mib files is /usr/local/share/snmp/mibs.
++  The default location for the mib files is /usr/share/snmp/mibs.
+   Again, this is set when the suite is first configured and compiled.
+   This can be changed using the environmental variable 'MIBDIRS'
+   or the snmp.conf directive 'mibdirs'.
+@@ -2409,7 +2409,7 @@
+   There are three ways to configure SNMPv3 users:
+-  1) Stop the agent, and create a file /var/net-snmp/snmpd.conf,
++  1) Stop the agent, and create a file /var/lib/snmp/snmpd.conf,
+      containing the line
+       createUser {myUser} MD5 {myPassword} DES
+@@ -2422,7 +2422,7 @@
+         net-snmp-config --create-snmpv3-user
+      and follow the instructions.  This will create an entry
+-     in the /var/net-snmp/snmpd.conf file similar to the above.
++     in the /var/lib/snmp/snmpd.conf file similar to the above.
+      Then re-start the snmpd agent.
+   3) Make sure the agent is running, and will respond to a suitable
+@@ -2455,16 +2455,16 @@
+-What's the difference between /var/net-snmp and /usr/local/share/snmp?
+----------------------------------------------------------------------
++What's the difference between /var/lib/snmp and /usr/share/snmp?
++----------------------------------------------------------------
+-    The /var/net-snmp location is primarily used for information set
++    The /var/lib/snmp location is primarily used for information set
+   during the running of the agent, which needs to be persistent between
+   one run of the agent and the next.   Apart from "createUser" (see
+   the previous entry), you shouldn't need to touch this file.
+   All other user-provided configuration should go in the traditional
+-  location (typically /usr/local/share/snmp/snmpd.conf or /etc/snmp).
++  location (typically /usr/share/snmp or /etc/snmp).
+@@ -2477,7 +2477,7 @@
+   distribution), with the current release installed from the source.
+     The default location for this file with the basic distribution is
+-  /usr/local/share/snmp/snmpd.conf (or PREFIX/share/snmp/snmpd.conf).
++  /usr/share/snmp/snmpd.conf (or PREFIX/share/snmp/snmpd.conf).
+   Ready-installed versions often look for the file as /etc/snmpd.conf,
+   or /etc/snmp/snmpd.conf.  Try moving the old config file to the new
+   location, and restart the agent.
diff --git a/libs/net-snmp/patches/150-debian-defaultconfig.patch b/libs/net-snmp/patches/150-debian-defaultconfig.patch
new file mode 100644 (file)
index 0000000..e55d30a
--- /dev/null
@@ -0,0 +1,142 @@
+--- net-snmp-5.1.2.orig/EXAMPLE.conf.def
++++ net-snmp-5.1.2/EXAMPLE.conf.def
+@@ -6,7 +6,7 @@
+ ###############################################################################
+ #
+ # This file is intended to only be an example.  If, however, you want
+-# to use it, it should be placed in SYSCONFDIR/snmp/snmpd.conf.
++# to use it, it should be placed in /etc/snmp/snmpd.conf.
+ # When the snmpd agent starts up, this is where it will look for it.
+ #
+ # You might be interested in generating your own snmpd.conf file using
+@@ -58,31 +58,37 @@
+ # from):
+ #       sec.name  source          community
+-com2sec local     localhost       COMMUNITY
+-com2sec mynetwork NETWORK/24      COMMUNITY
++com2sec paranoid  default         public
++#com2sec readonly  default         public
++#com2sec readwrite default         private
+ ####
+ # Second, map the security names into group names:
+ #                     sec.model  sec.name
+-group MyRWGroup       v1         local
+-group MyRWGroup       v2c        local
+-group MyRWGroup       usm        local
+-group MyROGroup v1         mynetwork
+-group MyROGroup v2c        mynetwork
+-group MyROGroup usm        mynetwork
++group MyROSystem v1        paranoid
++group MyROSystem v2c       paranoid
++group MyROSystem usm       paranoid
++group MyROGroup v1         readonly
++group MyROGroup v2c        readonly
++group MyROGroup usm        readonly
++group MyRWGroup v1         readwrite
++group MyRWGroup v2c        readwrite
++group MyRWGroup usm        readwrite
+ ####
+ # Third, create a view for us to let the groups have rights to:
+ #           incl/excl subtree                          mask
+ view all    included  .1                               80
++view system included  .iso.org.dod.internet.mgmt.mib-2.system
+ ####
+ # Finally, grant the 2 groups access to the 1 view with different
+ # write permissions:
+ #                context sec.model sec.level match  read   write  notif
++access MyROSystem ""     any       noauth    exact  system none   none
+ access MyROGroup ""      any       noauth    exact  all    none   none
+ access MyRWGroup ""      any       noauth    exact  all    all    none
+@@ -100,8 +106,8 @@
+ # value of an object whose value is given here will fail with an error
+ # status of notWritable.
+-syslocation Right here, right now.
+-syscontact Me <me@somewhere.org>
++syslocation Unknown (configure /etc/snmp/snmpd.local.conf)
++syscontact Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
+ # Example output of snmpwalk:
+ #   % snmpwalk -v 1 -c public localhost system
+@@ -135,13 +141,13 @@
+ #
+ #  Make sure mountd is running
+-proc mountd
++#proc mountd
+ #  Make sure there are no more than 4 ntalkds running, but 0 is ok too.
+-proc ntalkd 4
++#proc ntalkd 4
+ #  Make sure at least one sendmail, but less than or equal to 10 are running.
+-proc sendmail 10 1
++#proc sendmail 10 1
+ #  A snmpwalk of the prTable would look something like this:
+ # 
+@@ -199,7 +205,7 @@
+ #  ARGS:     optional arguments to be passed to the program
+ # a simple hello world
+-exec echotest /bin/echo hello world
++#exec echotest /bin/echo hello world
+ # Run a shell script containing:
+ #
+@@ -250,7 +256,7 @@
+ # Check the / partition and make sure it contains at least 10 megs.
+-disk / 10000
++#disk / 10000
+ # % snmpwalk -v 1 -c public localhost .EXTENSIBLEDOTMIB.DISKMIBNUM
+ # enterprises.ucdavis.diskTable.dskEntry.diskIndex.1 = 0
+@@ -279,7 +285,7 @@
+ # 15MAX:  Similar, but for 15 min average.
+ # Check for loads:
+-load 12 14 14
++#load 12 14 14
+ # % snmpwalk -v 1 -c public localhost .EXTENSIBLEDOTMIB.LOADAVEMIBNUM
+ # enterprises.ucdavis.loadTable.laEntry.loadaveIndex.1 = 1
+@@ -365,7 +371,7 @@
+ #           (commented out here since it requires that you place the
+ #           script in the right location. (its not installed by default))
+-# pass .EXTENSIBLEDOTMIB.255 /bin/sh PREFIX/local/passtest
++# pass .EXTENSIBLEDOTMIB.255 /bin/sh /usr/local/passtest
+ # % snmpwalk -v 1 -c public localhost .EXTENSIBLEDOTMIB.255
+ # enterprises.ucdavis.255.1 = "life the universe and everything"
+--- net-snmp-5.1.2.orig/EXAMPLE-trap.conf
++++ net-snmp-5.1.2/EXAMPLE-trap.conf
+@@ -0,0 +1,18 @@
++###############################################################################
++#
++# EXAMPLE-trap.conf:
++#   An example configuration file for configuring the Net-SNMP snmptrapd agent.
++#
++###############################################################################
++#
++# This file is intended to only be an example.  If, however, you want
++# to use it, it should be placed in /etc/snmp/snmptrapd.conf.
++# When the snmptrapd agent starts up, this is where it will look for it.
++#
++# All lines beginning with a '#' are comments and are intended for you
++# to read.  All other lines are configuration commands for the agent.
++
++#
++# PLEASE: read the snmptrapd.conf(5) manual page as well!
++#
++
diff --git a/libs/net-snmp/patches/500-debian-subset-5.1.2-6.1.patch b/libs/net-snmp/patches/500-debian-subset-5.1.2-6.1.patch
deleted file mode 100644 (file)
index 9f44177..0000000
+++ /dev/null
@@ -1,7282 +0,0 @@
-diff -ruN net-snmp-5.1.2-orig/EXAMPLE-trap.conf net-snmp-5.1.2-5/EXAMPLE-trap.conf
---- net-snmp-5.1.2-orig/EXAMPLE-trap.conf      1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/EXAMPLE-trap.conf 2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,18 @@
-+###############################################################################
-+#
-+# EXAMPLE.conf:
-+#   An example configuration file for configuring the ucd-snmp snmptrapd agent.
-+#
-+###############################################################################
-+#
-+# This file is intended to only be an example.  If, however, you want
-+# to use it, it should be placed in /etc/snmp/snmptrapd.conf.
-+# When the snmptrapd agent starts up, this is where it will look for it.
-+#
-+# All lines beginning with a '#' are comments and are intended for you
-+# to read.  All other lines are configuration commands for the agent.
-+
-+#
-+# PLEASE: read the snmptrapd.conf(5) manual page as well!
-+#
-+
-diff -ruN net-snmp-5.1.2-orig/EXAMPLE.conf.def net-snmp-5.1.2-5/EXAMPLE.conf.def
---- net-snmp-5.1.2-orig/EXAMPLE.conf.def       2003-02-25 15:04:06.000000000 +0100
-+++ net-snmp-5.1.2-5/EXAMPLE.conf.def  2005-03-13 16:17:21.000000000 +0100
-@@ -6,7 +6,7 @@
- ###############################################################################
- #
- # This file is intended to only be an example.  If, however, you want
--# to use it, it should be placed in SYSCONFDIR/share/snmp/snmpd.conf.
-+# to use it, it should be placed in /etc/snmp/snmpd.conf.
- # When the snmpd agent starts up, this is where it will look for it.
- #
- # You might be interested in generating your own snmpd.conf file using
-@@ -58,31 +58,37 @@
- # from):
- #       sec.name  source          community
--com2sec local     localhost       COMMUNITY
--com2sec mynetwork NETWORK/24      COMMUNITY
-+com2sec paranoid  default         public
-+#com2sec readonly  default         public
-+#com2sec readwrite default         private
- ####
- # Second, map the security names into group names:
- #                     sec.model  sec.name
--group MyRWGroup       v1         local
--group MyRWGroup       v2c        local
--group MyRWGroup       usm        local
--group MyROGroup v1         mynetwork
--group MyROGroup v2c        mynetwork
--group MyROGroup usm        mynetwork
-+group MyROSystem v1        paranoid
-+group MyROSystem v2c       paranoid
-+group MyROSystem usm       paranoid
-+group MyROGroup v1         readonly
-+group MyROGroup v2c        readonly
-+group MyROGroup usm        readonly
-+group MyRWGroup v1         readwrite
-+group MyRWGroup v2c        readwrite
-+group MyRWGroup usm        readwrite
- ####
- # Third, create a view for us to let the groups have rights to:
- #           incl/excl subtree                          mask
- view all    included  .1                               80
-+view system included  .iso.org.dod.internet.mgmt.mib-2.system
- ####
- # Finally, grant the 2 groups access to the 1 view with different
- # write permissions:
- #                context sec.model sec.level match  read   write  notif
-+access MyROSystem ""     any       noauth    exact  system none   none
- access MyROGroup ""      any       noauth    exact  all    none   none
- access MyRWGroup ""      any       noauth    exact  all    all    none
-@@ -100,8 +106,8 @@
- # value of an object whose value is given here will fail with an error
- # status of notWritable.
--syslocation Right here, right now.
--syscontact Me <me@somewhere.org>
-+syslocation Unknown (configure /etc/snmp/snmpd.local.conf)
-+syscontact Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
- # Example output of snmpwalk:
- #   % snmpwalk -v 1 -c public localhost system
-@@ -135,13 +141,13 @@
- #
- #  Make sure mountd is running
--proc mountd
-+#proc mountd
- #  Make sure there are no more than 4 ntalkds running, but 0 is ok too.
--proc ntalkd 4
-+#proc ntalkd 4
- #  Make sure at least one sendmail, but less than or equal to 10 are running.
--proc sendmail 10 1
-+#proc sendmail 10 1
- #  A snmpwalk of the prTable would look something like this:
- # 
-@@ -199,7 +205,7 @@
- #  ARGS:     optional arguments to be passed to the program
- # a simple hello world
--exec echotest /bin/echo hello world
-+#exec echotest /bin/echo hello world
- # Run a shell script containing:
- #
-@@ -250,7 +256,7 @@
- # Check the / partition and make sure it contains at least 10 megs.
--disk / 10000
-+#disk / 10000
- # % snmpwalk -v 1 -c public localhost .EXTENSIBLEDOTMIB.DISKMIBNUM
- # enterprises.ucdavis.diskTable.dskEntry.diskIndex.1 = 0
-@@ -279,7 +285,7 @@
- # 15MAX:  Similar, but for 15 min average.
- # Check for loads:
--load 12 14 14
-+#load 12 14 14
- # % snmpwalk -v 1 -c public localhost .EXTENSIBLEDOTMIB.LOADAVEMIBNUM
- # enterprises.ucdavis.loadTable.laEntry.loadaveIndex.1 = 1
-@@ -365,7 +371,7 @@
- #           (commented out here since it requires that you place the
- #           script in the right location. (its not installed by default))
--# pass .EXTENSIBLEDOTMIB.255 /bin/sh PREFIX/local/passtest
-+# pass .EXTENSIBLEDOTMIB.255 /bin/sh /usr/local/passtest
- # % snmpwalk -v 1 -c public localhost .EXTENSIBLEDOTMIB.255
- # enterprises.ucdavis.255.1 = "life the universe and everything"
-diff -ruN net-snmp-5.1.2-orig/FAQ net-snmp-5.1.2-5/FAQ
---- net-snmp-5.1.2-orig/FAQ    2004-08-07 10:02:45.000000000 +0200
-+++ net-snmp-5.1.2-5/FAQ       2005-03-13 16:17:21.000000000 +0100
-@@ -104,7 +104,7 @@
-    I don't understand the new access control stuff - what does it mean?
-    How do I configure SNMPv3 users?
-    The 'createUser' line disappears when I start the agent.  Why?
--   What's the difference between /var/ucd-snmp and /usr/local/share/snmp?
-+   What's the difference between /var/ucd-snmp and /usr/share/snmp?
-    My new agent is ignoring the old snmpd.conf file. Why?
-    Why am I getting "Connection refused"?
-    I'm getting errors about "bad security model" - why?
-@@ -620,7 +620,7 @@
-   Firstly,
--      cp MY-MIB.txt /usr/local/share/snmp/mibs
-+      cp MY-MIB.txt /usr/share/snmp/mibs
-           or
-@@ -639,7 +639,7 @@
-   Note that you need *both* steps.
-   The first command copies the file defining the new MIB to a
-   expected location for MIB files.  This defaults to
--  /usr/local/share/snmp/mibs (or PREFIX/share/snmp/mibs if the the
-+  /usr/share/snmp/mibs (or PREFIX/share/snmp/mibs if the the
-   suite was installed into a different base location).  Some
-   ready-packaged distributions (such as Linux RPM packages) may look
-   for MIB files in a different location, such as /etc/snmp/mibs - put
-@@ -1111,7 +1111,7 @@
-   If this is the case, then you can specify this interpreter
-   explicitly as part of the trap handle directive:
--      traphandle default /usr/bin/perl /usr/local/bin/log_it
-+      traphandle default /usr/bin/perl /usr/bin/log_it
-   Note that in this case, it's almost certain that you'll also
-   need to give the full path to the traphandle script (as shown)
-@@ -1263,7 +1263,7 @@
-   (if appropriate) the community string to use.
-     Some of these (such as the MIB file location), might belong in a
--  shared snmp.conf file (typically /usr/local/share/snmp/snmp.conf or
-+  shared snmp.conf file (typically /usr/share/snmp/snmp.conf or
-   /etc/snmp/snmp.conf) to apply to all users of the system.  Others
-   (particularly the SNMPv3 security settings), are more likely to refer
-   to a particular user, and should go in a personal snmp.conf file
-@@ -1522,7 +1522,7 @@
-     Alternatively, the tools may be looking in the wrong place.
--  The default location for the mib files is /usr/local/share/snmp/mibs.
-+  The default location for the mib files is /usr/share/snmp/mibs.
-   Again, this is set when the suite is first configured and compiled.
-   This can be changed using the environmental variable 'MIBDIRS'
-   or the snmp.conf directive 'mibdirs'.
-@@ -2507,11 +2507,11 @@
--What's the difference between /var/ucd-snmp and /usr/local/share/snmp?
-+What's the difference between /var/ucd-snmp and /usr/share/snmp?
- ---------------------------------------------------------------------
-     Most "static" agent configuration should go in the traditional location
--  (typically /usr/local/share/snmp/snmpd.conf or /etc/snmp).   The
-+  (typically /usr/share/snmp/snmpd.conf or /etc/snmp).   The
-   /var/ucd-snmp (or /var/net-snmp) location is used for information set during
-   the running of the agent, which needs to be persistent between one run of
-   the agent and the next.
-@@ -2531,7 +2531,7 @@
-   distribution), with the current release installed from the source.
-     The default location for this file with the basic distribution is
--  /usr/local/share/snmp/snmpd.conf (or PREFIX/share/snmp/snmpd.conf).
-+  /usr/share/snmp/snmpd.conf (or PREFIX/share/snmp/snmpd.conf).
-   Ready-installed versions often look for the file as /etc/snmpd.conf,
-   or /etc/snmp/snmpd.conf.  Try moving the old config file to the new
-   location, and restart the agent.
-diff -ruN net-snmp-5.1.2-orig/Makefile.in net-snmp-5.1.2-5/Makefile.in
---- net-snmp-5.1.2-orig/Makefile.in    2004-08-04 14:48:14.000000000 +0200
-+++ net-snmp-5.1.2-5/Makefile.in       2005-03-13 16:17:21.000000000 +0100
-@@ -163,6 +163,11 @@
-          ( cd perl ; $(MAKE) clean ) ; \
-       fi
-+perlrealclean:
-+      @if test -f perl/Makefile; then \
-+         ( cd perl ; $(MAKE) realclean ) ; \
-+      fi
-+
- #
- # make distclean completely removes all traces of building including
- # any files generated by configure itself.
-diff -ruN net-snmp-5.1.2-orig/Makefile.rules net-snmp-5.1.2-5/Makefile.rules
---- net-snmp-5.1.2-orig/Makefile.rules 2004-02-13 23:42:28.000000000 +0100
-+++ net-snmp-5.1.2-5/Makefile.rules    2005-03-13 16:17:21.000000000 +0100
-@@ -301,7 +301,7 @@
- # cleaning targets
- #
- clean: cleansubdirs $(OTHERCLEANTODOS)
--      rm -f core ${OBJS} ${LOBJS} $(STANDARDCLEANTARGETS) $(OTHERCLEANTARGETS)
-+      rm -f -- core ${OBJS} ${LOBJS} $(STANDARDCLEANTARGETS) $(OTHERCLEANTARGETS)
-       rm -rf .libs
- cleansubdirs:
-diff -ruN net-snmp-5.1.2-orig/Makefile.top net-snmp-5.1.2-5/Makefile.top
---- net-snmp-5.1.2-orig/Makefile.top   2004-08-07 09:29:36.000000000 +0200
-+++ net-snmp-5.1.2-5/Makefile.top      2005-03-13 16:17:21.000000000 +0100
-@@ -27,6 +27,7 @@
- snmplibdir    = $(datadir)/snmp
- mibdir                = $(snmplibdir)/mibs
- persistentdir = @PERSISTENT_DIRECTORY@
-+sysconfdir    = @sysconfdir@
- INSTALL_PREFIX  = @INSTALL_PREFIX@
- #
-diff -ruN net-snmp-5.1.2-orig/acconfig.h net-snmp-5.1.2-5/acconfig.h
---- net-snmp-5.1.2-orig/acconfig.h     2004-06-28 20:54:17.000000000 +0200
-+++ net-snmp-5.1.2-5/acconfig.h        2005-03-13 16:17:21.000000000 +0100
-@@ -560,6 +560,9 @@
- /* define if you have getservbyname */
- #undef HAVE_GETSERVBYNAME
-+/* define if you have dlopen */
-+#undef HAVE_DLOPEN
-+
- /* printing system */
- #undef HAVE_LPSTAT
- #undef LPSTAT_PATH
-diff -ruN net-snmp-5.1.2-orig/acinclude.m4 net-snmp-5.1.2-5/acinclude.m4
---- net-snmp-5.1.2-orig/acinclude.m4   1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/acinclude.m4      2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,193 @@
-+dnl @synopsis AC_PROMPT_USER_NO_DEFINE(VARIABLENAME,QUESTION,[DEFAULT])
-+dnl
-+dnl Asks a QUESTION and puts the results in VARIABLENAME with an optional
-+dnl DEFAULT value if the user merely hits return.
-+dnl
-+dnl @version 1.15
-+dnl @author Wes Hardaker <hardaker@users.sourceforge.net>
-+dnl
-+AC_DEFUN([AC_PROMPT_USER_NO_DEFINE],
-+dnl changequote(<<, >>) dnl
-+dnl <<
-+[
-+if test "x$defaults" = "xno"; then
-+echo $ac_n "$2 ($3): $ac_c"
-+read tmpinput
-+if test "$tmpinput" = "" -a "$3" != ""; then
-+  tmpinput="$3"
-+fi
-+eval $1=\"$tmpinput\"
-+else
-+tmpinput="$3"
-+eval $1=\"$tmpinput\"
-+fi
-+]
-+dnl >>
-+dnl changequote([, ])
-+) dnl done AC_PROMPT_USER
-+
-+dnl @synopsis AC_PROMPT_USER(VARIABLENAME,QUESTION,[DEFAULT],QUOTED)
-+dnl
-+dnl Asks a QUESTION and puts the results in VARIABLENAME with an optional
-+dnl DEFAULT value if the user merely hits return.  Also calls 
-+dnl AC_DEFINE_UNQUOTED() on the VARIABLENAME for VARIABLENAMEs that should
-+dnl be entered into the config.h file as well.  If QUOTED is "quoted" then
-+dnl the result will be defined within quotes.
-+dnl
-+dnl @version 1.15
-+dnl @author Wes Hardaker <hardaker@users.sourceforge.net>
-+dnl
-+AC_DEFUN([AC_PROMPT_USER],
-+[
-+MSG_CHECK=`echo "$2" | tail -1`
-+AC_CACHE_CHECK($MSG_CHECK, ac_cv_user_prompt_$1,
-+[echo "" >&AC_FD_MSG
-+AC_PROMPT_USER_NO_DEFINE($1,[$2],$3)
-+eval ac_cv_user_prompt_$1=\$$1
-+echo $ac_n "setting $MSG_CHECK to...  $ac_c" >&AC_FD_MSG
-+])
-+if test "$ac_cv_user_prompt_$1" != "none"; then
-+  if test "x$4" = "xquoted" -o "x$4" = "xQUOTED"; then
-+    AC_DEFINE_UNQUOTED($1,"$ac_cv_user_prompt_$1")
-+  else
-+    AC_DEFINE_UNQUOTED($1,$ac_cv_user_prompt_$1)
-+  fi
-+fi
-+]) dnl
-+
-+dnl @synopsis AC_CHECK_STRUCT_FOR(INCLUDES,STRUCT,MEMBER,DEFINE,[no])
-+dnl
-+dnl Checks STRUCT for MEMBER and defines DEFINE if found.
-+dnl
-+dnl @version 1.15
-+dnl @author Wes Hardaker <hardaker@users.sourceforge.net>
-+dnl
-+AC_DEFUN(AC_CHECK_STRUCT_FOR,[
-+
-+ac_safe_struct=`echo "$2" | sed 'y%./+-%__p_%'`
-+ac_safe_member=`echo "$3" | sed 'y%./+-%__p_%'`
-+ac_safe_all="ac_cv_struct_${ac_safe_struct}_has_${ac_safe_member}"
-+changequote(, )dnl
-+  ac_uc_define=STRUCT_`echo "${ac_safe_struct}_HAS_${ac_safe_member}" | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-+changequote([, ])dnl
-+
-+AC_MSG_CHECKING([for $2.$3])
-+AC_CACHE_VAL($ac_safe_all,
-+[
-+if test "x$4" = "x"; then
-+  defineit="= 0"
-+elif test "x$4" = "xno"; then
-+  defineit=""
-+else
-+  defineit="$4"
-+fi
-+AC_TRY_COMPILE([
-+$1
-+],[
-+struct $2 testit; 
-+testit.$3 $defineit;
-+], eval "${ac_safe_all}=yes", eval "${ac_safe_all}=no" )
-+])
-+
-+if eval "test \"x$`echo ${ac_safe_all}`\" = \"xyes\""; then
-+  AC_MSG_RESULT(yes)
-+  AC_DEFINE_UNQUOTED($ac_uc_define)
-+else
-+  AC_MSG_RESULT(no)
-+fi
-+
-+])
-+
-+dnl AC_CHECK_IFNET_FOR(SUBSTRUCT,[no])
-+AC_DEFUN(AC_CHECK_IFNET_FOR,[
-+dnl check for $1 in struct ifnet
-+AC_CHECK_STRUCT_FOR([
-+#ifdef IFNET_NEEDS_KERNEL
-+#define _KERNEL 1
-+#endif
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#ifdef HAVE_SYS_TIME_H
-+#include <sys/time.h>
-+#endif
-+#include <net/if.h>
-+#ifdef HAVE_NET_IF_VAR_H
-+#include <net/if_var.h>
-+#endif
-+#ifdef HAVE_SYS_QUEUE_H
-+#include <sys/queue.h>
-+#endif
-+#ifdef linux
-+struct ifnet {
-+      char    *if_name;               /* name, e.g. "en" or "lo" */
-+      short   if_unit;                /* sub-unit for lower level driver */
-+      short   if_mtu;                 /* maximum transmission unit */
-+      short   if_flags;               /* up/down, broadcast, etc. */
-+      int     if_metric;              /* routing metric (external only) */
-+      char    if_hwaddr [6];          /* ethernet address */
-+      int     if_type;                /* interface type: 1=generic,
-+                                         28=slip, ether=6, loopback=24 */
-+      int     if_speed;               /* interface speed: in bits/sec */
-+
-+      struct sockaddr if_addr;        /* interface's address */
-+      struct sockaddr ifu_broadaddr;  /* broadcast address */
-+      struct sockaddr ia_subnetmask;  /* interface's mask */
-+
-+      struct  ifqueue {
-+              int     ifq_len;
-+              int     ifq_drops;
-+      } if_snd;                       /* output queue */
-+      int     if_ibytes;              /* octets received on interface */
-+      int     if_ipackets;            /* packets received on interface */
-+      int     if_ierrors;             /* input errors on interface */
-+        int     if_iqdrops;             /* input queue overruns */
-+      int     if_obytes;              /* octets sent on interface */
-+      int     if_opackets;            /* packets sent on interface */
-+      int     if_oerrors;             /* output errors on interface */
-+      int     if_collisions;          /* collisions on csma interfaces */
-+/* end statistics */
-+      struct  ifnet *if_next;
-+};
-+#endif
-+], ifnet, $1, $2)
-+])
-+
-+dnl
-+dnl Add a search path to the LIBS and CFLAGS variables
-+dnl
-+AC_DEFUN(AC_ADD_SEARCH_PATH,[
-+  if test "x$1" != x -a -d $1; then
-+     if test -d $1/lib; then
-+       LDFLAGS="-L$1/lib $LDFLAGS"
-+     fi
-+     if test -d $1/include; then
-+      CPPFLAGS="-I$1/include $CPPFLAGS"
-+     fi
-+  fi
-+])
-+
-+dnl
-+dnl Store information for displaying later.
-+dnl
-+AC_DEFUN(AC_MSG_CACHE_INIT,[
-+  rm -f configure-summary
-+])
-+
-+AC_DEFUN(AC_MSG_CACHE_ADD,[
-+  cat >> configure-summary << EOF
-+  $1
-+EOF
-+])
-+
-+AC_DEFUN(AC_MSG_CACHE_DISPLAY,[
-+  echo ""
-+  echo "---------------------------------------------------------"
-+  echo "            Net-SNMP configuration summary:"
-+  echo "---------------------------------------------------------"
-+  echo ""
-+  cat configure-summary
-+  echo ""
-+  echo "---------------------------------------------------------"
-+  echo ""
-+])
-+
-diff -ruN net-snmp-5.1.2-orig/agent/Makefile.in net-snmp-5.1.2-5/agent/Makefile.in
---- net-snmp-5.1.2-orig/agent/Makefile.in      2003-10-14 15:30:48.000000000 +0200
-+++ net-snmp-5.1.2-5/agent/Makefile.in 2005-03-13 16:17:21.000000000 +0100
-@@ -82,7 +82,7 @@
- # libnetsnmpagent objects
- LIBAGENTOBJS=snmp_agent.o snmp_vars.o agent_read_config.o \
-       agent_registry.o agent_index.o agent_trap.o kernel.o \
--       agent_handler.o @OTHERAGENTLIBOBJS@
-+       agent_handler.o @OTHERAGENTLIBOBJS@ @WRAPLIBS@
- LLIBAGENTOBJS=snmp_agent.lo snmp_vars.lo agent_read_config.lo \
-       agent_registry.lo agent_index.lo agent_trap.lo kernel.lo \
-       agent_handler.lo @OTHERAGENTLIBLOBJS@
-@@ -120,11 +120,11 @@
- libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION):    ${LLIBAGENTOBJS} libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION)
--      $(LIB_LD_CMD) libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) ${LLIBAGENTOBJS}  $(LIB_LD_LIBS)
-+      $(LIB_LD_CMD) libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) ${LLIBAGENTOBJS}  $(LIB_LD_LIBS) $(AGENT_RELINK_LIBS)
-       $(RANLIB) libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION)
- libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION):    ${LMIBOBJS}
--      $(LIB_LD_CMD) libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) ${LMIBOBJS}  $(LIB_LD_LIBS)
-+      $(LIB_LD_CMD) libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) ${LMIBOBJS}  $(LIB_LD_LIBS) $(MIBS_RELINK_LIBS) $(LIBSENSORS)
-       $(RANLIB) libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION)
- embedperlinstall:
-diff -ruN net-snmp-5.1.2-orig/agent/helpers/Makefile.in net-snmp-5.1.2-5/agent/helpers/Makefile.in
---- net-snmp-5.1.2-orig/agent/helpers/Makefile.in      2004-03-01 06:26:12.000000000 +0100
-+++ net-snmp-5.1.2-5/agent/helpers/Makefile.in 2005-03-13 16:17:21.000000000 +0100
-@@ -68,5 +68,5 @@
- all: standardall
- libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION):    ${LOBJS}
--      $(LIB_LD_CMD) libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION) ${LOBJS}  $(LIB_LD_LIBS)
-+      $(LIB_LD_CMD) libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION) ${LOBJS}  $(LIB_LD_LIBS) $(HELPERS_RELINK_LIBS)
-       $(RANLIB) libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION)
-diff -ruN net-snmp-5.1.2-orig/agent/mibgroup/agentx/protocol.h net-snmp-5.1.2-5/agent/mibgroup/agentx/protocol.h
---- net-snmp-5.1.2-orig/agent/mibgroup/agentx/protocol.h       2002-04-20 09:30:01.000000000 +0200
-+++ net-snmp-5.1.2-5/agent/mibgroup/agentx/protocol.h  2005-03-13 16:17:21.000000000 +0100
-@@ -10,7 +10,7 @@
-      */
- #define AGENTX_PORT   705
--#define AGENTX_SOCKET "/var/agentx/master"
-+#define AGENTX_SOCKET "/var/run/agentx"
-     /*
-      * AgentX versions 
-diff -ruN net-snmp-5.1.2-orig/agent/mibgroup/mibII/interfaces.c net-snmp-5.1.2-5/agent/mibgroup/mibII/interfaces.c
---- net-snmp-5.1.2-orig/agent/mibgroup/mibII/interfaces.c      2004-07-23 02:55:41.000000000 +0200
-+++ net-snmp-5.1.2-5/agent/mibgroup/mibII/interfaces.c 2005-03-13 16:17:21.000000000 +0100
-@@ -1512,14 +1512,28 @@
-     struct ifreq    ifrq;
-     struct ifnet  **ifnetaddr_ptr;
-     FILE           *devin;
--    unsigned long   rec_pkt, rec_oct, rec_err, rec_drop;
--    unsigned long   snd_pkt, snd_oct, snd_err, snd_drop, coll;
-     int             i, fd;
-     conf_if_list   *if_ptr;
-+#ifdef SCNuMAX
-+    uintmax_t       rec_pkt, rec_oct, rec_err, rec_drop, rec_mcast;
-+    uintmax_t       snd_pkt, snd_oct, snd_err, snd_drop, coll;
-+    const char     *scan_line_2_2 =
-+        "%"   SCNuMAX " %"  SCNuMAX " %"  SCNuMAX " %"  SCNuMAX
-+        " %*" SCNuMAX " %*" SCNuMAX " %*" SCNuMAX " %*" SCNuMAX
-+        " %"  SCNuMAX " %"  SCNuMAX " %"  SCNuMAX " %"  SCNuMAX
-+        " %*" SCNuMAX " %"  SCNuMAX;
-+    const char     *scan_line_2_0 =
-+        "%"   SCNuMAX " %"  SCNuMAX " %*" SCNuMAX " %*" SCNuMAX
-+        " %*" SCNuMAX " %"  SCNuMAX " %"  SCNuMAX " %*" SCNuMAX
-+        " %*" SCNuMAX " %"  SCNuMAX;
-+#else
-+    unsigned long   rec_pkt, rec_oct, rec_err, rec_drop;
-+    unsigned long   snd_pkt, snd_oct, snd_err, snd_drop, coll;
-     const char     *scan_line_2_2 =
-         "%lu %lu %lu %lu %*lu %*lu %*lu %*lu %lu %lu %lu %lu %*lu %lu";
-     const char     *scan_line_2_0 =
-         "%lu %lu %*lu %*lu %*lu %lu %lu %*lu %*lu %lu";
-+#endif
-     const char     *scan_line_to_use;
-     struct timeval et;                              /* elapsed time */
-@@ -1598,6 +1612,10 @@
-         struct ifnet   *nnew;
-         char           *stats, *ifstart = line;
-+      /* Ignore interfaces with no statistics. */
-+      if (strstr(line, "No statistics available."))
-+          continue;
-+
-         if (line[strlen(line) - 1] == '\n')
-             line[strlen(line) - 1] = '\0';
-@@ -1631,7 +1649,7 @@
-                                                &coll) != 5)) {
-             if ((scan_line_to_use == scan_line_2_2)
-                 && !strstr(line, "No statistics available"))
--                snmp_log(LOG_ERR,
-+                snmp_log(LOG_DEBUG,
-                          "/proc/net/dev data format error, line ==|%s|",
-                          line);
-             continue;
-diff -ruN net-snmp-5.1.2-orig/agent/mibgroup/smux/smux.c net-snmp-5.1.2-5/agent/mibgroup/smux/smux.c
---- net-snmp-5.1.2-orig/agent/mibgroup/smux/smux.c     2004-02-04 12:25:20.000000000 +0100
-+++ net-snmp-5.1.2-5/agent/mibgroup/smux/smux.c        2005-03-13 16:17:21.000000000 +0100
-@@ -819,14 +819,14 @@
-     passwd[string_len] = '\0';
-     if (!smux_auth_peer(oid_name, oid_name_len, passwd, fd)) {
-         snmp_log(LOG_WARNING,
--                 "refused smux peer: oid %s, password %s, descr %s\n",
--                 oid_print, passwd, descr);
-+                 "refused smux peer: oid %s, descr %s\n",
-+                 oid_print, descr);
-         *fail = TRUE;
-         return ptr;
-     }
-     snmp_log(LOG_INFO,
--             "accepted smux peer: oid %s, password %s, descr %s\n",
--             oid_print, passwd, descr);
-+             "accepted smux peer: oid %s, descr %s\n",
-+             oid_print, descr);
-     *fail = FALSE;
-     return ptr;
- }
-diff -ruN net-snmp-5.1.2-orig/apps/Makefile.in net-snmp-5.1.2-5/apps/Makefile.in
---- net-snmp-5.1.2-orig/apps/Makefile.in       2004-03-09 16:51:28.000000000 +0100
-+++ net-snmp-5.1.2-5/apps/Makefile.in  2005-03-13 16:17:21.000000000 +0100
-@@ -129,7 +129,7 @@
-       $(LINK) -o $@ snmpdf.$(OSUFFIX) $(LOCAL_LIBS) ${LDFLAGS} ${LIBS} 
- libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION): $(LLIBTRAPD_OBJS)
--      $(LIB_LD_CMD) libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION) ${LLIBTRAPD_OBJS}  $(LIB_LD_LIBS)
-+      $(LIB_LD_CMD) libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION) ${LLIBTRAPD_OBJS}  $(LIB_LD_LIBS) $(TRAPD_RELINK_LIBS)
-       $(RANLIB) libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION)
- snmpinforminstall:
-diff -ruN net-snmp-5.1.2-orig/apps/snmpnetstat/if.c net-snmp-5.1.2-5/apps/snmpnetstat/if.c
---- net-snmp-5.1.2-orig/apps/snmpnetstat/if.c  2002-04-20 09:30:10.000000000 +0200
-+++ net-snmp-5.1.2-5/apps/snmpnetstat/if.c     2005-03-13 16:17:21.000000000 +0100
-@@ -300,8 +300,9 @@
-             case IFINDEX:
-                 ifindex = *var->val.integer;
-                 for (cur_if = if_table;
--                     cur_if->ifindex != ifindex && cur_if->ifindex != 0;
--                     cur_if++);
-+                     cur_if < (if_table + cfg_nnets) &&
-+                     cur_if->ifindex != ifindex &&
-+                     cur_if->ifindex != 0; cur_if++);
-                 if (cur_if >= (if_table + cfg_nnets)) {
-                     fprintf(stderr,
-                             "Inconsistent reponse from server. Aborting\n");
-@@ -492,8 +493,14 @@
-             case IPIFINDEX:
-                 ifindex = *var->val.integer;
-                 for (cur_if = if_table;
--                     cur_if->ifindex != ifindex && cur_if->ifindex != 0;
--                     cur_if++);
-+                     cur_if < (if_table + cfg_nnets) &&
-+                     cur_if->ifindex != ifindex &&
-+                     cur_if->ifindex != 0; cur_if++);
-+                if (cur_if >= (if_table + cfg_nnets)) {
-+                    fprintf(stderr,
-+                            "Inconsistent reponse from server. Aborting.\n");
-+                    exit(0);
-+                }
-                 cur_if->ifindex = ifindex;
-                 break;
-             case IPADDR:
-@@ -567,8 +574,14 @@
-             case IFINDEX:
-                 ifindex = *var->val.integer;
-                 for (cur_if = if_table;
--                     cur_if->ifindex != ifindex && cur_if->ifindex != 0;
--                     cur_if++);
-+                     cur_if < (if_table + cfg_nnets) &&
-+                     cur_if->ifindex != ifindex &&
-+                     cur_if->ifindex != 0; cur_if++);
-+                if (cur_if >= (if_table + cfg_nnets)) {
-+                    fprintf(stderr,
-+                            "Inconsistent reponse from server. Aborting.\n");
-+                    exit(0);
-+                }
-                 cur_if->ifindex = ifindex;
-                 break;
-             case INOCTETS:
-diff -ruN net-snmp-5.1.2-orig/configure.in net-snmp-5.1.2-5/configure.in
---- net-snmp-5.1.2-orig/configure.in   2004-06-23 00:06:40.000000000 +0200
-+++ net-snmp-5.1.2-5/configure.in      2005-03-13 16:17:21.000000000 +0100
-@@ -161,6 +161,9 @@
-     AC_DEFINE(SNMP_NO_DEBUGGING)
- fi
-+AC_ARG_WITH(rpm,
-+[  --without-rpm                   Don't use RPM even if available.])
-+
- AC_ARG_WITH(dmalloc,
- [  --with-dmalloc=PATH             Use dmalloc library (www.dmalloc.com)],
-     if test "x$withval" = "xyes"; then
-@@ -1539,12 +1542,13 @@
-          AC_CHECK_LIB(RSAglue, RSA_PKCS1_RSAref)
-       fi
--      AC_CHECK_LIB(crypto, EVP_md5)
-+      AC_CHECK_LIB(crypto, EVP_md5, [CRYPTOLIBS=-lcrypto], , )
-       AC_CHECK_FUNCS(AES_cfb128_encrypt)
-     fi
- elif test "x$askedpkcs" = "xyes"; then
-     AC_CHECK_LIB(pkcs11, C_Initialize)
- fi
-+AC_SUBST(CRYPTOLIBS)
- # Check for libraries that the agent needs
- # saving old libraries
-@@ -1664,8 +1668,9 @@
- # Replace `main' with a function in -lkvm:
- AC_CHECK_LIB(kvm, kvm_read)
- # DYNAMIC MODULE SUPPORT
--AC_CHECK_LIB(dl, dlopen)
--AC_CHECK_FUNCS(dlopen)
-+AC_CHECK_FUNC(dlopen, AC_DEFINE(HAVE_DLOPEN),
-+      AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_DLOPEN)
-+      LIBS="${LIBS} -ldl"))
- AC_CHECK_FUNCS(kvm_openfiles nlist knlist kvm_getprocs)
- echo "$with_mib_modules" | grep "ucd-snmp/diskio" >/dev/null
-@@ -1979,7 +1984,7 @@
- AC_MSG_RESULT([$ac_cv_type_ssize_t])
- if test $ac_cv_type_ssize_t = yes; then
--  AC_DEFINE(HAVE_SSIZE_T)
-+  AC_DEFINE(HAVE_SSIZE_T, 1, [Define if type ssize_t is available])
- fi
- # Check ps args
-diff -ruN net-snmp-5.1.2-orig/debian/README.Debian net-snmp-5.1.2-5/debian/README.Debian
-diff -ruN net-snmp-5.1.2-orig/debian/changelog net-snmp-5.1.2-5/debian/changelog
-diff -ruN net-snmp-5.1.2-orig/debian/control net-snmp-5.1.2-5/debian/control
-diff -ruN net-snmp-5.1.2-orig/debian/copyright net-snmp-5.1.2-5/debian/copyright
-diff -ruN net-snmp-5.1.2-orig/debian/fixman net-snmp-5.1.2-5/debian/fixman
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-base.dirs net-snmp-5.1.2-5/debian/libsnmp-base.dirs
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-base.docs net-snmp-5.1.2-5/debian/libsnmp-base.docs
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-base.files net-snmp-5.1.2-5/debian/libsnmp-base.files
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-base.postrm net-snmp-5.1.2-5/debian/libsnmp-base.postrm
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-base.prerm net-snmp-5.1.2-5/debian/libsnmp-base.prerm
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-perl.docs net-snmp-5.1.2-5/debian/libsnmp-perl.docs
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp-perl.files net-snmp-5.1.2-5/debian/libsnmp-perl.files
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5-dev.files net-snmp-5.1.2-5/debian/libsnmp5-dev.files
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5-dev.manpages net-snmp-5.1.2-5/debian/libsnmp5-dev.manpages
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5.dirs net-snmp-5.1.2-5/debian/libsnmp5.dirs
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5.docs net-snmp-5.1.2-5/debian/libsnmp5.docs
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5.files net-snmp-5.1.2-5/debian/libsnmp5.files
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5.postinst net-snmp-5.1.2-5/debian/libsnmp5.postinst
-diff -ruN net-snmp-5.1.2-orig/debian/libsnmp5.prerm net-snmp-5.1.2-5/debian/libsnmp5.prerm
-diff -ruN net-snmp-5.1.2-orig/debian/manpages/encode_keychange.1 net-snmp-5.1.2-5/debian/manpages/encode_keychange.1
-diff -ruN net-snmp-5.1.2-orig/debian/manpages/net-snmp-config.1 net-snmp-5.1.2-5/debian/manpages/net-snmp-config.1
-diff -ruN net-snmp-5.1.2-orig/debian/manpages/snmpvacm.1 net-snmp-5.1.2-5/debian/manpages/snmpvacm.1
-diff -ruN net-snmp-5.1.2-orig/debian/manpages/tkmib.1 net-snmp-5.1.2-5/debian/manpages/tkmib.1
-diff -ruN net-snmp-5.1.2-orig/debian/rules net-snmp-5.1.2-5/debian/rules
-diff -ruN net-snmp-5.1.2-orig/debian/snmp.files net-snmp-5.1.2-5/debian/snmp.files
-diff -ruN net-snmp-5.1.2-orig/debian/snmp.manpages net-snmp-5.1.2-5/debian/snmp.manpages
-diff -ruN net-snmp-5.1.2-orig/debian/snmp.preinst net-snmp-5.1.2-5/debian/snmp.preinst
-diff -ruN net-snmp-5.1.2-orig/debian/snmpd.default net-snmp-5.1.2-5/debian/snmpd.default
-diff -ruN net-snmp-5.1.2-orig/debian/snmpd.files net-snmp-5.1.2-5/debian/snmpd.files
-diff -ruN net-snmp-5.1.2-orig/debian/snmpd.init net-snmp-5.1.2-5/debian/snmpd.init
-diff -ruN net-snmp-5.1.2-orig/debian/snmpd.postinst net-snmp-5.1.2-5/debian/snmpd.postinst
-diff -ruN net-snmp-5.1.2-orig/debian/snmpd.postrm net-snmp-5.1.2-5/debian/snmpd.postrm
-diff -ruN net-snmp-5.1.2-orig/debian/tkmib.docs net-snmp-5.1.2-5/debian/tkmib.docs
-diff -ruN net-snmp-5.1.2-orig/debian/tkmib.files net-snmp-5.1.2-5/debian/tkmib.files
-diff -ruN net-snmp-5.1.2-orig/debian/tkmib.manpages net-snmp-5.1.2-5/debian/tkmib.manpages
-diff -ruN net-snmp-5.1.2-orig/debian/watch net-snmp-5.1.2-5/debian/watch
-diff -ruN net-snmp-5.1.2-orig/ipkg/libsnmp/CONTROL/control net-snmp-5.1.2-5/ipkg/libsnmp/CONTROL/control
-diff -ruN net-snmp-5.1.2-orig/ipkg/libsnmp-dev/CONTROL/control net-snmp-5.1.2-5/ipkg/libsnmp-dev/CONTROL/control
-diff -ruN net-snmp-5.1.2-orig/ipkg/rules net-snmp-5.1.2-5/ipkg/rules
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmp-utils/CONTROL/control net-snmp-5.1.2-5/ipkg/snmp-utils/CONTROL/control
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmpd/CONTROL/conffiles net-snmp-5.1.2-5/ipkg/snmpd/CONTROL/conffiles
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmpd/CONTROL/control net-snmp-5.1.2-5/ipkg/snmpd/CONTROL/control
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmpd/etc/default/snmpd net-snmp-5.1.2-5/ipkg/snmpd/etc/default/snmpd
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmpd/etc/init.d/snmpd net-snmp-5.1.2-5/ipkg/snmpd/etc/init.d/snmpd
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmpd/etc/snmp/snmpd.conf net-snmp-5.1.2-5/ipkg/snmpd/etc/snmp/snmpd.conf
-diff -ruN net-snmp-5.1.2-orig/ipkg/snmpd-static/CONTROL/control net-snmp-5.1.2-5/ipkg/snmpd-static/CONTROL/control
-diff -ruN net-snmp-5.1.2-orig/ipkg/version net-snmp-5.1.2-5/ipkg/version
-diff -ruN net-snmp-5.1.2-orig/local/Makefile.in net-snmp-5.1.2-5/local/Makefile.in
---- net-snmp-5.1.2-orig/local/Makefile.in      2003-12-20 05:38:17.000000000 +0100
-+++ net-snmp-5.1.2-5/local/Makefile.in 2005-03-13 16:17:21.000000000 +0100
-@@ -58,7 +58,7 @@
- mib2c.made: $(srcdir)/mib2c
-       if test "x$(PERLPROG)" != "x" ; then \
--        $(PERLPROG) -p -e 's%^#!.*/perl.*%#!$(PERLPROG)%;s#/usr/local/share/snmp#$(snmplibdir)#;' ${srcdir}/mib2c > mib2c.made; \
-+        $(PERLPROG) -p -e 's%^#!.*/perl.*%#!$(PERLPROG)%;s#/usr/local/share/snmp#$(snmplibdir)#;s#/usr/local/etc/snmp#$(SNMPCONFPATH)#;' ${srcdir}/mib2c > mib2c.made; \
-       else \
-         touch mib2c.made; \
-         fi
-diff -ruN net-snmp-5.1.2-orig/local/mib2c net-snmp-5.1.2-5/local/mib2c
---- net-snmp-5.1.2-orig/local/mib2c    2004-06-15 16:26:37.000000000 +0200
-+++ net-snmp-5.1.2-5/local/mib2c       2005-03-13 16:17:21.000000000 +0100
-@@ -56,7 +56,8 @@
- if($ENV{MIB2C_DIR}) {
-   push @def_search_dirs, $ENV{MIB2C_DIR};
- }
--push @def_search_dirs, "/usr/local/share/snmp/";
-+push @def_search_dirs, "/etc/snmp/";
-+push @def_search_dirs, "/usr/share/snmp/";
- sub usage {
-diff -ruN net-snmp-5.1.2-orig/man/mib2c.1.def net-snmp-5.1.2-5/man/mib2c.1.def
---- net-snmp-5.1.2-orig/man/mib2c.1.def        2003-10-02 20:04:19.000000000 +0200
-+++ net-snmp-5.1.2-5/man/mib2c.1.def   2005-03-13 16:17:21.000000000 +0100
-@@ -72,8 +72,9 @@
- .TP
- .BI -c " CONFIGFILE"
- Use CONFIGFILE when generating code.  These files will be searched for
--first in the current directory and then in the DATADIR directory
--(which is where the default mib2c configuration files can be found).
-+first in the current directory and then in /etc/snmp
-+(which is where the default mib2c configuration files can be found)
-+and finally in the DATADIR directory.
- Running mib2c without the -c CONFIGFILE option will display
- a description of the valid values for CONFIGFILE, that is,
- the available config files, including new ones that you might
-diff -ruN net-snmp-5.1.2-orig/man/mib_api.3.def net-snmp-5.1.2-5/man/mib_api.3.def
---- net-snmp-5.1.2-orig/man/mib_api.3.def      2004-04-15 00:41:32.000000000 +0200
-+++ net-snmp-5.1.2-5/man/mib_api.3.def 2005-03-13 16:17:21.000000000 +0100
-@@ -5,7 +5,7 @@
- add_module_replacement,
- read_module, read_mib, read_all_mibs,
- read_objid, read_module_node,
--get_module_node, read_objid
-+get_module_node
- snmp_set_mib_warnings, snmp_set_save_descriptions,
- shutdown_mib,
- print_mib,
-@@ -34,9 +34,9 @@
- .PP
- .BI "void print_mib(FILE *" "fp" );
- .PP
--.BI "int read_objid(char *" "input" ", oid *" "output" ", int *" "out_len" );
-+.BI "int read_objid(char *" "input" ", oid *" "output" ", size_t *" "out_len" );
- .br
--.BI "int get_module_node(char *" "name" ", char *" "module" ", oid *" "objid" ", int *" "objidlen" );
-+.BI "int get_module_node(char *" "name" ", char *" "module" ", oid *" "objid" ", size_t *" "objidlen" );
- .PP
- .BI "void print_variable(const oid *" "objid" ", size_t " "objidlen" ", struct variable_list *" "variable" );
- .br
-diff -ruN net-snmp-5.1.2-orig/man/snmp_config.5.def net-snmp-5.1.2-5/man/snmp_config.5.def
---- net-snmp-5.1.2-orig/man/snmp_config.5.def  2003-12-10 11:41:41.000000000 +0100
-+++ net-snmp-5.1.2-5/man/snmp_config.5.def     2005-03-13 16:17:21.000000000 +0100
-@@ -11,7 +11,7 @@
- found and read from.  By default, the applications look for
- configuration files in the following 4 directories, in order:
- SYSCONFDIR/snmp,
--DATADIR/snmp, LIBDIR/snmp, and $HOME/.snmp.  In each of these
-+/etc/snmp, LIBDIR/snmp, and $HOME/.snmp.  In each of these
- directories, it looks for files with the extension of both
- .IR conf " and " local.conf
- (reading the second ones last).  In this manner, there are
-diff -ruN net-snmp-5.1.2-orig/man/snmp_trap_api.3.def net-snmp-5.1.2-5/man/snmp_trap_api.3.def
---- net-snmp-5.1.2-orig/man/snmp_trap_api.3.def        2003-09-29 04:58:18.000000000 +0200
-+++ net-snmp-5.1.2-5/man/snmp_trap_api.3.def   2005-03-13 16:17:21.000000000 +0100
-@@ -1,8 +1,7 @@
- .TH SNMP_TRAP_API 3 "7 Mar 2002" VVERSIONINFO "Net-SNMP"
- .UC 5
- .SH NAME
--send_easy_trap, send_trap_vars, send_v2trap - send TRAPs or INFORMs
--from a Net-SNMP MIB module
-+send_easy_trap, send_trap_vars, send_v2trap - send TRAPs or INFORMs from a Net-SNMP MIB module
- .SH SYNOPSIS
- .B #include <net-snmp/agent/agent_trap.h>
- .PP
-diff -ruN net-snmp-5.1.2-orig/mibs/BGP4-MIB.txt net-snmp-5.1.2-5/mibs/BGP4-MIB.txt
---- net-snmp-5.1.2-orig/mibs/BGP4-MIB.txt      1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/BGP4-MIB.txt 2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,929 @@
-+    BGP4-MIB DEFINITIONS ::= BEGIN
-+
-+        IMPORTS
-+            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
-+            IpAddress, Integer32, Counter32, Gauge32, mib-2
-+                FROM SNMPv2-SMI
-+            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
-+                FROM SNMPv2-CONF;
-+
-+        bgp MODULE-IDENTITY
-+            LAST-UPDATED "9902100000Z"
-+            ORGANIZATION "IETF IDR Working Group"
-+            CONTACT-INFO "E-mail:  idr@merit.net
-+
-+                          Susan Hares  (Editor)
-+                          Merit Network
-+                          4251 Plymouth Road
-+                          Suite C
-+                          Ann Arbor, MI 48105-2785
-+                          Tel: +1 734 936 2095
-+                          Fax: +1 734 647 3185
-+                          E-mail: skh@merit.edu
-+
-+                          Jeff Johnson (Editor)
-+                          RedBack Networks, Inc.
-+                          1389 Moffett Park Drive
-+                          Sunnyvale, CA  94089-1134
-+                          Tel: +1 408 548 3516
-+                          Fax: +1 408 548 3599
-+                          E-mail: jeff@redback.com"
-+            DESCRIPTION
-+                    "The MIB module for BGP-4."
-+            REVISION    "9902100000Z"
-+            DESCRIPTION
-+                    "Corrected duplicate OBJECT IDENTIFIER
-+                     assignment in the conformance information."
-+            REVISION    "9601080000Z"
-+            DESCRIPTION
-+                    "1) Fixed the definitions of the traps to
-+                     make them equivalent to their initial
-+                     definition in RFC 1269.
-+                     2) Added compliance and conformance info."
-+            ::= { mib-2 15 }
-+
-+        bgpVersion OBJECT-TYPE
-+            SYNTAX     OCTET STRING (SIZE (1..255))
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "Vector of supported BGP protocol version
-+                    numbers.  Each peer negotiates the version
-+                    from this vector.  Versions are identified
-+                    via the string of bits contained within this
-+                    object.  The first octet contains bits 0 to
-+                    7, the second octet contains bits 8 to 15,
-+                    and so on, with the most significant bit
-+                    referring to the lowest bit number in the
-+                    octet (e.g., the MSB of the first octet
-+                    refers to bit 0).  If a bit, i, is present
-+                    and set, then the version (i+1) of the BGP
-+                    is supported."
-+            ::= { bgp 1 }
-+
-+        bgpLocalAs OBJECT-TYPE
-+            SYNTAX     INTEGER (0..65535)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The local autonomous system number."
-+            ::= { bgp 2 }
-+
-+
-+
-+        -- BGP Peer table.  This table contains, one entry per BGP
-+        -- peer, information about the BGP peer.
-+
-+        bgpPeerTable OBJECT-TYPE
-+            SYNTAX     SEQUENCE OF BgpPeerEntry
-+            MAX-ACCESS not-accessible
-+            STATUS     current
-+            DESCRIPTION
-+                    "BGP peer table.  This table contains,
-+                    one entry per BGP peer, information about the
-+                    connections with BGP peers."
-+            ::= { bgp 3 }
-+
-+        bgpPeerEntry OBJECT-TYPE
-+            SYNTAX     BgpPeerEntry
-+            MAX-ACCESS not-accessible
-+            STATUS     current
-+            DESCRIPTION
-+                    "Entry containing information about the
-+                    connection with a BGP peer."
-+            INDEX { bgpPeerRemoteAddr }
-+            ::= { bgpPeerTable 1 }
-+
-+        BgpPeerEntry ::= SEQUENCE {
-+                bgpPeerIdentifier
-+                    IpAddress,
-+                bgpPeerState
-+                    INTEGER,
-+                bgpPeerAdminStatus
-+                    INTEGER,
-+                bgpPeerNegotiatedVersion
-+                    Integer32,
-+                bgpPeerLocalAddr
-+                    IpAddress,
-+                bgpPeerLocalPort
-+                    INTEGER,
-+                bgpPeerRemoteAddr
-+                    IpAddress,
-+                bgpPeerRemotePort
-+                    INTEGER,
-+                bgpPeerRemoteAs
-+                    INTEGER,
-+                bgpPeerInUpdates
-+                    Counter32,
-+                bgpPeerOutUpdates
-+                    Counter32,
-+                bgpPeerInTotalMessages
-+                    Counter32,
-+                bgpPeerOutTotalMessages
-+                    Counter32,
-+                bgpPeerLastError
-+                    OCTET STRING,
-+                bgpPeerFsmEstablishedTransitions
-+                    Counter32,
-+                bgpPeerFsmEstablishedTime
-+                    Gauge32,
-+                bgpPeerConnectRetryInterval
-+                    INTEGER,
-+                bgpPeerHoldTime
-+                    INTEGER,
-+                bgpPeerKeepAlive
-+                    INTEGER,
-+                bgpPeerHoldTimeConfigured
-+                    INTEGER,
-+                bgpPeerKeepAliveConfigured
-+                    INTEGER,
-+                bgpPeerMinASOriginationInterval
-+                    INTEGER,
-+                bgpPeerMinRouteAdvertisementInterval
-+                    INTEGER,
-+                bgpPeerInUpdateElapsedTime
-+                    Gauge32
-+                }
-+
-+        bgpPeerIdentifier OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The BGP Identifier of this entry's BGP peer."
-+            ::= { bgpPeerEntry 1 }
-+
-+        bgpPeerState OBJECT-TYPE
-+            SYNTAX     INTEGER {
-+                                idle(1),
-+                                connect(2),
-+                                active(3),
-+                                opensent(4),
-+                                openconfirm(5),
-+                                established(6)
-+                       }
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The BGP peer connection state."
-+            ::= { bgpPeerEntry 2 }
-+
-+        bgpPeerAdminStatus OBJECT-TYPE
-+            SYNTAX     INTEGER {
-+                                stop(1),
-+                                start(2)
-+                       }
-+            MAX-ACCESS read-write
-+            STATUS     current
-+            DESCRIPTION
-+                    "The desired state of the BGP connection.  A
-+                    transition from 'stop' to 'start' will cause
-+                    the BGP Start Event to be generated.  A
-+                    transition from 'start' to 'stop' will cause
-+                    the BGP Stop Event to be generated.  This
-+                    parameter can be used to restart BGP peer
-+                    connections.  Care should be used in providing
-+                    write access to this object without adequate
-+                    authentication."
-+            ::= { bgpPeerEntry 3 }
-+
-+        bgpPeerNegotiatedVersion OBJECT-TYPE
-+            SYNTAX     Integer32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The negotiated version of BGP running between
-+                    the two peers."
-+            ::= { bgpPeerEntry 4 }
-+
-+        bgpPeerLocalAddr OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The local IP address of this entry's BGP
-+                    connection."
-+            ::= { bgpPeerEntry 5 }
-+
-+        bgpPeerLocalPort OBJECT-TYPE
-+            SYNTAX     INTEGER (0..65535)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The local port for the TCP connection between
-+                    the BGP peers."
-+            ::= { bgpPeerEntry 6 }
-+
-+        bgpPeerRemoteAddr OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The remote IP address of this entry's BGP
-+                    peer."
-+            ::= { bgpPeerEntry 7 }
-+
-+        bgpPeerRemotePort OBJECT-TYPE
-+            SYNTAX     INTEGER (0..65535)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The remote port for the TCP connection between
-+                    the BGP peers.  Note that the objects
-+                    bgpPeerLocalAddr, bgpPeerLocalPort,
-+                    bgpPeerRemoteAddr and bgpPeerRemotePort
-+                    provide the appropriate reference to the
-+                    standard MIB TCP connection table."
-+            ::= { bgpPeerEntry 8 }
-+
-+        bgpPeerRemoteAs OBJECT-TYPE
-+            SYNTAX     INTEGER (0..65535)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The remote autonomous system number."
-+            ::= { bgpPeerEntry 9 }
-+
-+        bgpPeerInUpdates OBJECT-TYPE
-+            SYNTAX     Counter32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The number of BGP UPDATE messages received on
-+                    this connection.  This object should be
-+                    initialized to zero (0) when the connection is
-+                    established."
-+            ::= { bgpPeerEntry 10 }
-+
-+        bgpPeerOutUpdates OBJECT-TYPE
-+            SYNTAX     Counter32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The number of BGP UPDATE messages transmitted
-+                    on this connection.  This object should be
-+                    initialized to zero (0) when the connection is
-+                    established."
-+            ::= { bgpPeerEntry 11 }
-+
-+        bgpPeerInTotalMessages OBJECT-TYPE
-+            SYNTAX     Counter32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The total number of messages received from the
-+                    remote peer on this connection.  This object
-+                    should be initialized to zero when the
-+                    connection is established."
-+            ::= { bgpPeerEntry 12 }
-+
-+        bgpPeerOutTotalMessages OBJECT-TYPE
-+            SYNTAX     Counter32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The total number of messages transmitted to
-+                    the remote peer on this connection.  This object
-+                    should be initialized to zero when the
-+                    connection is established."
-+            ::= { bgpPeerEntry 13 }
-+
-+        bgpPeerLastError OBJECT-TYPE
-+            SYNTAX     OCTET STRING (SIZE (2))
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The last error code and subcode seen by this
-+                    peer on this connection.  If no error has
-+                    occurred, this field is zero.  Otherwise, the
-+                    first byte of this two byte OCTET STRING
-+                    contains the error code, and the second byte
-+                    contains the subcode."
-+            ::= { bgpPeerEntry 14 }
-+
-+        bgpPeerFsmEstablishedTransitions OBJECT-TYPE
-+            SYNTAX     Counter32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The total number of times the BGP FSM
-+                    transitioned into the established state."
-+            ::= { bgpPeerEntry 15 }
-+
-+        bgpPeerFsmEstablishedTime OBJECT-TYPE
-+            SYNTAX     Gauge32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "This timer indicates how long (in seconds) this
-+                    peer has been in the Established state or how long
-+                    since this peer was last in the Established state.
-+                    It is set to zero when a new peer is configured or
-+                    the router is booted."
-+            ::= { bgpPeerEntry 16 }
-+
-+        bgpPeerConnectRetryInterval OBJECT-TYPE
-+            SYNTAX     INTEGER (1..65535)
-+            MAX-ACCESS read-write
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the ConnectRetry
-+                    timer.  The suggested value for this timer is
-+                    120 seconds."
-+            ::= { bgpPeerEntry 17 }
-+
-+        bgpPeerHoldTime OBJECT-TYPE
-+            SYNTAX     INTEGER  ( 0 | 3..65535 )
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the Hold Timer
-+                    established with the peer.  The value of this
-+                    object is calculated by this BGP speaker by
-+                    using the smaller of the value in
-+                    bgpPeerHoldTimeConfigured and the Hold Time
-+                    received in the OPEN message.  This value
-+                    must be at lease three seconds if it is not
-+                    zero (0) in which case the Hold Timer has
-+                    not been established with the peer, or, the
-+                    value of bgpPeerHoldTimeConfigured is zero (0)."
-+            ::= { bgpPeerEntry 18 }
-+
-+        bgpPeerKeepAlive OBJECT-TYPE
-+            SYNTAX     INTEGER ( 0 | 1..21845 )
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the KeepAlive
-+                    timer established with the peer.  The value of
-+                    this object is calculated by this BGP speaker
-+                    such that, when compared with bgpPeerHoldTime,
-+                    it has the same proportion as what
-+                    bgpPeerKeepAliveConfigured has when compared
-+                    with bgpPeerHoldTimeConfigured.  If the value
-+                    of this object is zero (0), it indicates that
-+                    the KeepAlive timer has not been established
-+                    with the peer, or, the value of
-+                    bgpPeerKeepAliveConfigured is zero (0)."
-+            ::= { bgpPeerEntry 19 }
-+
-+        bgpPeerHoldTimeConfigured OBJECT-TYPE
-+            SYNTAX     INTEGER ( 0 | 3..65535 )
-+            MAX-ACCESS read-write
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the Hold Time
-+                    configured for this BGP speaker with this peer.
-+                    This value is placed in an OPEN message sent to
-+                    this peer by this BGP speaker, and is compared
-+                    with the Hold Time field in an OPEN message
-+                    received from the peer when determining the Hold
-+                    Time (bgpPeerHoldTime) with the peer.  This value
-+                    must not be less than three seconds if it is not
-+                    zero (0) in which case the Hold Time is NOT to be
-+                    established with the peer.  The suggested value for
-+                    this timer is 90 seconds."
-+            ::= { bgpPeerEntry 20 }
-+
-+        bgpPeerKeepAliveConfigured OBJECT-TYPE
-+            SYNTAX     INTEGER ( 0 | 1..21845 )
-+            MAX-ACCESS read-write
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the KeepAlive timer
-+                    configured for this BGP speaker with this peer.
-+                    The value of this object will only determine the
-+                    KEEPALIVE messages' frequency relative to the value
-+                    specified in bgpPeerHoldTimeConfigured; the actual
-+                    time interval for the KEEPALIVE messages is
-+                    indicated by bgpPeerKeepAlive.  A reasonable
-+                    maximum value for this timer would be configured to
-+                    be one third of that of bgpPeerHoldTimeConfigured.
-+                    If the value of this object is zero (0), no
-+                    periodical KEEPALIVE messages are sent to the peer
-+                    after the BGP connection has been established.  The
-+                    suggested value for this timer is 30 seconds."
-+            ::= { bgpPeerEntry 21 }
-+
-+        bgpPeerMinASOriginationInterval OBJECT-TYPE
-+            SYNTAX     INTEGER (1..65535)
-+            MAX-ACCESS read-write
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the
-+                    MinASOriginationInterval timer.
-+                    The suggested value for this timer is 15 seconds."
-+            ::= { bgpPeerEntry 22 }
-+
-+        bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
-+            SYNTAX     INTEGER (1..65535)
-+            MAX-ACCESS read-write
-+            STATUS     current
-+            DESCRIPTION
-+                    "Time interval in seconds for the
-+                    MinRouteAdvertisementInterval timer.
-+                    The suggested value for this timer is 30 seconds."
-+            ::= { bgpPeerEntry 23 }
-+
-+        bgpPeerInUpdateElapsedTime OBJECT-TYPE
-+            SYNTAX     Gauge32
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "Elapsed time in seconds since the last BGP
-+                    UPDATE message was received from the peer.
-+                    Each time bgpPeerInUpdates is incremented,
-+                    the value of this object is set to zero (0)."
-+            ::= { bgpPeerEntry 24 }
-+
-+
-+
-+        bgpIdentifier OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The BGP Identifier of local system."
-+            ::= { bgp 4 }
-+
-+
-+
-+        -- Received Path Attribute Table.  This table contains,
-+        -- one entry per path to a network, path attributes
-+        -- received from all peers running BGP version 3 or less.
-+        -- This table is obsolete, having been replaced in
-+        -- functionality with the bgp4PathAttrTable.
-+
-+        bgpRcvdPathAttrTable OBJECT-TYPE
-+            SYNTAX     SEQUENCE OF BgpPathAttrEntry
-+            MAX-ACCESS not-accessible
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "The BGP Received Path Attribute Table contains
-+                    information about paths to destination networks
-+                    received from all peers running BGP version 3 or
-+                    less."
-+            ::= { bgp 5 }
-+
-+        bgpPathAttrEntry OBJECT-TYPE
-+            SYNTAX     BgpPathAttrEntry
-+            MAX-ACCESS not-accessible
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "Information about a path to a network."
-+            INDEX { bgpPathAttrDestNetwork,
-+                    bgpPathAttrPeer        }
-+            ::= { bgpRcvdPathAttrTable 1 }
-+
-+        BgpPathAttrEntry ::= SEQUENCE {
-+            bgpPathAttrPeer
-+                 IpAddress,
-+            bgpPathAttrDestNetwork
-+                 IpAddress,
-+            bgpPathAttrOrigin
-+                 INTEGER,
-+            bgpPathAttrASPath
-+                 OCTET STRING,
-+            bgpPathAttrNextHop
-+                 IpAddress,
-+            bgpPathAttrInterASMetric
-+                 Integer32
-+        }
-+
-+        bgpPathAttrPeer OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "The IP address of the peer where the path
-+                    information was learned."
-+            ::= { bgpPathAttrEntry 1 }
-+
-+        bgpPathAttrDestNetwork OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "The address of the destination network."
-+            ::= { bgpPathAttrEntry 2 }
-+
-+        bgpPathAttrOrigin OBJECT-TYPE
-+            SYNTAX     INTEGER {
-+                           igp(1),-- networks are interior
-+                           egp(2),-- networks learned via EGP
-+                           incomplete(3) -- undetermined
-+                       }
-+            MAX-ACCESS read-only
-+            STATUS     obsolete
-+            DESCRIPTION
-+                 "The ultimate origin of the path information."
-+            ::= { bgpPathAttrEntry 3 }
-+
-+        bgpPathAttrASPath OBJECT-TYPE
-+            SYNTAX     OCTET STRING (SIZE (2..255))
-+            MAX-ACCESS read-only
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "The set of ASs that must be traversed to reach
-+                    the network.  This object is probably best
-+                    represented as SEQUENCE OF INTEGER.  For SMI
-+                    compatibility, though, it is represented as
-+                    OCTET STRING.  Each AS is represented as a pair
-+                    of octets according to the following algorithm:
-+
-+                        first-byte-of-pair = ASNumber / 256;
-+                        second-byte-of-pair = ASNumber & 255;"
-+            ::= { bgpPathAttrEntry 4 }
-+
-+        bgpPathAttrNextHop OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "The address of the border router that should
-+                    be used for the destination network."
-+            ::= { bgpPathAttrEntry 5 }
-+
-+        bgpPathAttrInterASMetric OBJECT-TYPE
-+            SYNTAX     Integer32
-+            MAX-ACCESS read-only
-+            STATUS     obsolete
-+            DESCRIPTION
-+                    "The optional inter-AS metric.  If this
-+                    attribute has not been provided for this route,
-+                    the value for this object is 0."
-+            ::= { bgpPathAttrEntry 6 }
-+
-+
-+
-+        -- BGP-4 Received Path Attribute Table.  This table contains,
-+        -- one entry per path to a network, path attributes
-+        -- received from all peers running BGP-4.
-+
-+        bgp4PathAttrTable OBJECT-TYPE
-+            SYNTAX     SEQUENCE OF Bgp4PathAttrEntry
-+            MAX-ACCESS not-accessible
-+            STATUS     current
-+            DESCRIPTION
-+                    "The BGP-4 Received Path Attribute Table contains
-+                    information about paths to destination networks
-+                    received from all BGP4 peers."
-+            ::= { bgp 6 }
-+
-+        bgp4PathAttrEntry OBJECT-TYPE
-+            SYNTAX     Bgp4PathAttrEntry
-+            MAX-ACCESS not-accessible
-+            STATUS     current
-+            DESCRIPTION
-+                    "Information about a path to a network."
-+            INDEX { bgp4PathAttrIpAddrPrefix,
-+                    bgp4PathAttrIpAddrPrefixLen,
-+                    bgp4PathAttrPeer            }
-+            ::= { bgp4PathAttrTable 1 }
-+
-+        Bgp4PathAttrEntry ::= SEQUENCE {
-+            bgp4PathAttrPeer
-+                 IpAddress,
-+            bgp4PathAttrIpAddrPrefixLen
-+                 INTEGER,
-+            bgp4PathAttrIpAddrPrefix
-+                 IpAddress,
-+            bgp4PathAttrOrigin
-+                 INTEGER,
-+            bgp4PathAttrASPathSegment
-+                 OCTET STRING,
-+            bgp4PathAttrNextHop
-+                 IpAddress,
-+            bgp4PathAttrMultiExitDisc
-+                 INTEGER,
-+            bgp4PathAttrLocalPref
-+                 INTEGER,
-+            bgp4PathAttrAtomicAggregate
-+                 INTEGER,
-+            bgp4PathAttrAggregatorAS
-+                 INTEGER,
-+            bgp4PathAttrAggregatorAddr
-+                 IpAddress,
-+            bgp4PathAttrCalcLocalPref
-+                 INTEGER,
-+            bgp4PathAttrBest
-+                 INTEGER,
-+            bgp4PathAttrUnknown
-+                 OCTET STRING
-+        }
-+
-+        bgp4PathAttrPeer OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The IP address of the peer where the path
-+                    information was learned."
-+            ::= { bgp4PathAttrEntry 1 }
-+        bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
-+            SYNTAX     INTEGER (0..32)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "Length in bits of the IP address prefix in the
-+                    Network Layer Reachability Information field."
-+            ::= { bgp4PathAttrEntry 2 }
-+
-+        bgp4PathAttrIpAddrPrefix OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "An IP address prefix in the Network Layer
-+                    Reachability Information field.  This object
-+                    is an IP address containing the prefix with
-+                    length specified by bgp4PathAttrIpAddrPrefixLen.
-+                    Any bits beyond the length specified by
-+                    bgp4PathAttrIpAddrPrefixLen are zeroed."
-+            ::= { bgp4PathAttrEntry 3 }
-+
-+        bgp4PathAttrOrigin OBJECT-TYPE
-+            SYNTAX     INTEGER {
-+                                 igp(1),-- networks are interior
-+                                 egp(2),-- networks learned via EGP
-+                                 incomplete(3) -- undetermined
-+                               }
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The ultimate origin of the path information."
-+            ::= { bgp4PathAttrEntry 4 }
-+
-+        bgp4PathAttrASPathSegment OBJECT-TYPE
-+            SYNTAX     OCTET STRING (SIZE (2..255))
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The sequence of AS path segments.  Each AS
-+                    path segment is represented by a triple
-+                    <type, length, value>.
-+
-+                    The type is a 1-octet field which has two
-+                    possible values:
-+                         1      AS_SET: unordered set of ASs a
-+                                     route in the UPDATE message
-+                                     has traversed
-+                         2      AS_SEQUENCE: ordered set of ASs
-+                                     a route in the UPDATE message
-+                                     has traversed.
-+
-+                    The length is a 1-octet field containing the
-+                    number of ASs in the value field.
-+
-+                    The value field contains one or more AS
-+                    numbers, each AS is represented in the octet
-+                    string as a pair of octets according to the
-+                    following algorithm:
-+
-+                        first-byte-of-pair = ASNumber / 256;
-+                        second-byte-of-pair = ASNumber & 255;"
-+            ::= { bgp4PathAttrEntry 5 }
-+
-+        bgp4PathAttrNextHop OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The address of the border router that should
-+                    be used for the destination network."
-+            ::= { bgp4PathAttrEntry 6 }
-+
-+        bgp4PathAttrMultiExitDisc OBJECT-TYPE
-+            SYNTAX     INTEGER (-1..2147483647)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "This metric is used to discriminate between
-+                    multiple exit points to an adjacent autonomous
-+                    system.  A value of -1 indicates the absence of
-+                    this attribute."
-+            ::= { bgp4PathAttrEntry 7 }
-+
-+        bgp4PathAttrLocalPref OBJECT-TYPE
-+            SYNTAX     INTEGER (-1..2147483647)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The originating BGP4 speaker's degree of
-+                    preference for an advertised route.  A value of
-+                    -1 indicates the absence of this attribute."
-+            ::= { bgp4PathAttrEntry 8 }
-+
-+        bgp4PathAttrAtomicAggregate OBJECT-TYPE
-+            SYNTAX     INTEGER {
-+                           lessSpecificRrouteNotSelected(1),
-+                           lessSpecificRouteSelected(2)
-+                       }
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "Whether or not a system has selected
-+                    a less specific route without selecting a
-+                    more specific route."
-+            ::= { bgp4PathAttrEntry 9 }
-+
-+        bgp4PathAttrAggregatorAS OBJECT-TYPE
-+            SYNTAX     INTEGER (0..65535)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The AS number of the last BGP4 speaker that
-+                    performed route aggregation.  A value of zero (0)
-+                    indicates the absence of this attribute."
-+            ::= { bgp4PathAttrEntry 10 }
-+
-+        bgp4PathAttrAggregatorAddr OBJECT-TYPE
-+            SYNTAX     IpAddress
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The IP address of the last BGP4 speaker that
-+                     performed route aggregation.  A value of
-+                     0.0.0.0 indicates the absence of this attribute."
-+            ::= { bgp4PathAttrEntry 11 }
-+
-+        bgp4PathAttrCalcLocalPref OBJECT-TYPE
-+            SYNTAX     INTEGER (-1..2147483647)
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "The degree of preference calculated by the
-+                    receiving BGP4 speaker for an advertised route.
-+                    A value of -1 indicates the absence of this
-+                    attribute."
-+            ::= { bgp4PathAttrEntry 12 }
-+
-+        bgp4PathAttrBest OBJECT-TYPE
-+            SYNTAX     INTEGER {
-+                           false(1),-- not chosen as best route
-+                           true(2) -- chosen as best route
-+                       }
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "An indication of whether or not this route
-+                    was chosen as the best BGP4 route."
-+            ::= { bgp4PathAttrEntry 13 }
-+
-+        bgp4PathAttrUnknown OBJECT-TYPE
-+            SYNTAX     OCTET STRING (SIZE(0..255))
-+            MAX-ACCESS read-only
-+            STATUS     current
-+            DESCRIPTION
-+                    "One or more path attributes not understood
-+                     by this BGP4 speaker.  Size zero (0) indicates
-+                     the absence of such attribute(s).  Octets
-+                     beyond the maximum size, if any, are not
-+                     recorded by this object."
-+            ::= { bgp4PathAttrEntry 14 }
-+
-+
-+        -- Traps.
-+
-+        -- note that in RFC 1657, bgpTraps was incorrectly
-+        -- assigned a value of { bgp 7 }, and each of the
-+        -- traps had the bgpPeerRemoteAddr object inappropriately
-+        -- removed from their OBJECTS clause.  The following
-+        -- definitions restore the semantics of the traps as
-+        -- they were initially defined in RFC 1269.
-+
-+        -- { bgp 7 } is unused
-+
-+        bgpTraps          OBJECT IDENTIFIER ::= { bgp 0 }
-+
-+        bgpEstablished NOTIFICATION-TYPE
-+            OBJECTS { bgpPeerRemoteAddr,
-+                      bgpPeerLastError,
-+                      bgpPeerState      }
-+            STATUS  current
-+            DESCRIPTION
-+                    "The BGP Established event is generated when
-+                    the BGP FSM enters the ESTABLISHED state."
-+            ::= { bgpTraps 1 }
-+
-+        bgpBackwardTransition NOTIFICATION-TYPE
-+            OBJECTS { bgpPeerRemoteAddr,
-+                      bgpPeerLastError,
-+                      bgpPeerState      }
-+            STATUS  current
-+            DESCRIPTION
-+                    "The BGPBackwardTransition Event is generated
-+                    when the BGP FSM moves from a higher numbered
-+                    state to a lower numbered state."
-+            ::= { bgpTraps 2 }
-+
-+        -- conformance information
-+
-+        bgpMIBConformance OBJECT IDENTIFIER ::= { bgp 8 }
-+        bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpMIBConformance 1 }
-+        bgpMIBGroups      OBJECT IDENTIFIER ::= { bgpMIBConformance 2 }
-+
-+        -- compliance statements
-+
-+        bgpMIBCompliance MODULE-COMPLIANCE
-+            STATUS  current
-+            DESCRIPTION
-+                    "The compliance statement for entities which
-+                     implement the BGP4 mib."
-+            MODULE  -- this module
-+                MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
-+                                   bgp4MIBPeerGroup,
-+                                   bgp4MIBPathAttrGroup,
-+                                   bgp4MIBNotificationGroup }
-+            ::= { bgpMIBCompliances 1 }
-+
-+        -- units of conformance
-+
-+        bgp4MIBGlobalsGroup OBJECT-GROUP
-+            OBJECTS { bgpVersion,
-+                      bgpLocalAs,
-+                      bgpIdentifier }
-+            STATUS  current
-+            DESCRIPTION
-+                    "A collection of objects providing information
-+                     on global BGP state."
-+            ::= { bgpMIBGroups 1 }
-+
-+        bgp4MIBPeerGroup OBJECT-GROUP
-+            OBJECTS { bgpPeerIdentifier,
-+                      bgpPeerState,
-+                      bgpPeerAdminStatus,
-+                      bgpPeerNegotiatedVersion,
-+                      bgpPeerLocalAddr,
-+                      bgpPeerLocalPort,
-+                      bgpPeerRemoteAddr,
-+                      bgpPeerRemotePort,
-+                      bgpPeerRemoteAs,
-+                      bgpPeerInUpdates,
-+                      bgpPeerOutUpdates,
-+                      bgpPeerInTotalMessages,
-+                      bgpPeerOutTotalMessages,
-+                      bgpPeerLastError,
-+                      bgpPeerFsmEstablishedTransitions,
-+                      bgpPeerFsmEstablishedTime,
-+                      bgpPeerConnectRetryInterval,
-+                      bgpPeerHoldTime,
-+                      bgpPeerKeepAlive,
-+                      bgpPeerHoldTimeConfigured,
-+                      bgpPeerKeepAliveConfigured,
-+                      bgpPeerMinASOriginationInterval,
-+                      bgpPeerMinRouteAdvertisementInterval,
-+                      bgpPeerInUpdateElapsedTime }
-+            STATUS  current
-+            DESCRIPTION
-+                    "A collection of objects for managing
-+                     BGP peers."
-+            ::= { bgpMIBGroups 2 }
-+
-+        bgp4MIBRcvdPathAttrGroup OBJECT-GROUP
-+            OBJECTS { bgpPathAttrPeer,
-+                      bgpPathAttrDestNetwork,
-+                      bgpPathAttrOrigin,
-+                      bgpPathAttrASPath,
-+                      bgpPathAttrNextHop,
-+                      bgpPathAttrInterASMetric }
-+            STATUS  obsolete
-+            DESCRIPTION
-+                    "A collection of objects for managing BGP
-+                     path entries.
-+
-+                     This conformance group is obsolete,
-+                     replaced by bgp4MIBPathAttrGroup."
-+            ::= { bgpMIBGroups 3 }
-+
-+        bgp4MIBPathAttrGroup OBJECT-GROUP
-+            OBJECTS { bgp4PathAttrPeer,
-+                      bgp4PathAttrIpAddrPrefixLen,
-+                      bgp4PathAttrIpAddrPrefix,
-+                      bgp4PathAttrOrigin,
-+                      bgp4PathAttrASPathSegment,
-+                      bgp4PathAttrNextHop,
-+                      bgp4PathAttrMultiExitDisc,
-+                      bgp4PathAttrLocalPref,
-+                      bgp4PathAttrAtomicAggregate,
-+                      bgp4PathAttrAggregatorAS,
-+                      bgp4PathAttrAggregatorAddr,
-+                      bgp4PathAttrCalcLocalPref,
-+                      bgp4PathAttrBest,
-+                      bgp4PathAttrUnknown }
-+            STATUS  current
-+            DESCRIPTION
-+                    "A collection of objects for managing
-+                     BGP path entries."
-+            ::= { bgpMIBGroups 4 }
-+
-+        bgp4MIBNotificationGroup NOTIFICATION-GROUP
-+            NOTIFICATIONS { bgpEstablished,
-+                            bgpBackwardTransition }
-+            STATUS  current
-+            DESCRIPTION
-+                    "A collection of notifications for signaling
-+                    changes in BGP peer relationships."
-+            ::= { bgpMIBGroups 5 }
-+
-+    END
-diff -ruN net-snmp-5.1.2-orig/mibs/BRIDGE-MIB.txt net-snmp-5.1.2-5/mibs/BRIDGE-MIB.txt
---- net-snmp-5.1.2-orig/mibs/BRIDGE-MIB.txt    1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/BRIDGE-MIB.txt       2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,1075 @@
-+BRIDGE-MIB DEFINITIONS ::= BEGIN
-+
-+IMPORTS
-+           Counter, TimeTicks
-+                   FROM RFC1155-SMI
-+           mib-2
-+                   FROM RFC1213-MIB
-+           OBJECT-TYPE
-+                   FROM RFC-1212
-+           TRAP-TYPE
-+                   FROM RFC-1215;
-+
-+-- All representations of MAC addresses in this MIB Module
-+-- use, as a textual convention (i.e. this convention does
-+-- not affect their encoding), the data type:
-+MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
-+                                          -- in the
-+                                          -- "canonical"
-+                                          -- order
-+-- defined by IEEE 802.1a, i.e., as if it were transmitted
-+-- least significant bit first, even though 802.5 (in
-+-- contrast to other n802.x protocols) requires MAC
-+-- addresses to be transmitted most significant bit first.
-+--
-+-- 16-bit addresses, if needed, are represented by setting
-+-- their upper 4 octets to all 0's, i.e., AAFF would be
-+-- represented as 00000000AAFF.
-+
-+-- Similarly, all representations of Bridge-Id in this MIB
-+-- Module use, as a textual convention (i.e. this
-+-- convention does not affect their encoding), the data
-+-- type:
-+BridgeId ::= OCTET STRING (SIZE (8))   -- the
-+                                       -- Bridge-Identifier
-+                                       -- as used in the
-+                                       -- Spanning Tree
-+-- Protocol to uniquely identify a bridge.  Its first two
-+-- octets (in network byte order) contain a priority
-+-- value and its last 6 octets contain the MAC address
-+-- used to refer to a bridge in a unique fashion
-+-- (typically, the numerically smallest MAC address
-+-- of all ports on the bridge).
-+
-+-- Several objects in this MIB module represent values of
-+-- timers used by the Spanning Tree Protocol.  In this
-+-- MIB, these timers have values in units of hundreths of
-+-- a second (i.e. 1/100 secs).
-+-- These timers, when stored in a Spanning Tree Protocol's
-+-- BPDU, are in units of 1/256 seconds.  Note, however,
-+-- that 802.1D-1990 specifies a settable granularity of
-+-- no more than 1 second for these timers.  To avoid
-+-- ambiguity, a data type is defined here as a textual
-+-- convention and all representation of these timers
-+-- in this MIB module are defined using this data type.  An
-+-- algorithm is also defined for converting between the
-+-- different units, to ensure a timer's value is not
-+-- distorted by multiple conversions.
-+-- The data type is:
-+
-+Timeout ::= INTEGER -- a STP timer in units of 1/100 seconds
-+
-+-- To convert a Timeout value into a value in units of
-+-- 1/256 seconds, the following algorithm should be used:
-+--
-+--      b  = floor( (n * 256) / 100)
-+--
-+-- where:
-+--      floor   =  quotient [ignore remainder]
-+--      n is the value in 1/100 second units
-+--      b is the value in 1/256 second units
-+--
-+-- To convert the value from 1/256 second units back to
-+-- 1/100 seconds, the following algorithm should be used:
-+--
-+--      n = ceiling( (b * 100) / 256)
-+--
-+-- where:
-+--      ceiling =  quotient [if remainder is 0], or
-+--                 quotient + 1 [if remainder is non-zero]
-+--      n is the value in 1/100 second units
-+--      b is the value in 1/256 second units
-+--
-+-- Note: it is important that the arithmetic operations are
-+-- done in the order specified (i.e., multiply first, divide
-+-- second).
-+
-+   dot1dBridge   OBJECT IDENTIFIER ::= { mib-2 17 }
-+
-+-- groups in the Bridge MIB
-+
-+dot1dBase     OBJECT IDENTIFIER ::= { dot1dBridge 1 }
-+
-+dot1dStp      OBJECT IDENTIFIER ::= { dot1dBridge 2 }
-+
-+dot1dSr       OBJECT IDENTIFIER ::= { dot1dBridge 3 }
-+-- separately documented
-+
-+dot1dTp       OBJECT IDENTIFIER ::= { dot1dBridge 4 }
-+
-+dot1dStatic   OBJECT IDENTIFIER ::= { dot1dBridge 5 }
-+
-+-- the dot1dBase group
-+
-+-- Implementation of the dot1dBase group is mandatory for all
-+-- bridges.
-+
-+dot1dBaseBridgeAddress OBJECT-TYPE
-+    SYNTAX  MacAddress
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The MAC address used by this bridge when it must
-+            be referred to in a unique fashion.   It is
-+            recommended that this be the numerically smallest
-+            MAC address of all ports that belong to this
-+            bridge.  However it is only required to be unique.
-+            When concatenated with dot1dStpPriority a unique
-+            BridgeIdentifier is formed which is used in the
-+            Spanning Tree Protocol."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Sections 6.4.1.1.3 and 3.12.5"
-+    ::= { dot1dBase 1 }
-+
-+dot1dBaseNumPorts OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of ports controlled by this bridging
-+            entity."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.4.1.1.3"
-+    ::= { dot1dBase 2 }
-+
-+dot1dBaseType OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                unknown(1),
-+                transparent-only(2),
-+                sourceroute-only(3),
-+                srt(4)
-+            }
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Indicates what type of bridging this bridge can
-+            perform.  If a bridge is actually performing a
-+            certain type of bridging this will be indicated by
-+            entries in the port table for the given type."
-+    ::= { dot1dBase 3 }
-+
-+-- The Generic Bridge Port Table
-+
-+dot1dBasePortTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dBasePortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table that contains generic information about
-+            every port that is associated with this bridge.
-+            Transparent, source-route, and srt ports are
-+            included."
-+    ::= { dot1dBase 4 }
-+
-+dot1dBasePortEntry OBJECT-TYPE
-+    SYNTAX  Dot1dBasePortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A list of information for each port of the
-+            bridge."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.4.2, 6.6.1"
-+    INDEX  { dot1dBasePort }
-+    ::= { dot1dBasePortTable 1 }
-+
-+Dot1dBasePortEntry ::=
-+    SEQUENCE {
-+        dot1dBasePort
-+            INTEGER,
-+        dot1dBasePortIfIndex
-+            INTEGER,
-+        dot1dBasePortCircuit
-+
-+            OBJECT IDENTIFIER,
-+        dot1dBasePortDelayExceededDiscards
-+            Counter,
-+        dot1dBasePortMtuExceededDiscards
-+            Counter
-+    }
-+
-+dot1dBasePort OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the port for which this entry
-+            contains bridge management information."
-+    ::= { dot1dBasePortEntry 1 }
-+
-+dot1dBasePortIfIndex OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The value of the instance of the ifIndex object,
-+            defined in MIB-II, for the interface corresponding
-+            to this port."
-+    ::= { dot1dBasePortEntry 2 }
-+
-+dot1dBasePortCircuit OBJECT-TYPE
-+    SYNTAX  OBJECT IDENTIFIER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "For a port which (potentially) has the same value
-+            of dot1dBasePortIfIndex as another port on the
-+            same bridge, this object contains the name of an
-+            object instance unique to this port.  For example,
-+            in the case where multiple ports correspond one-
-+            to-one with multiple X.25 virtual circuits, this
-+            value might identify an (e.g., the first) object
-+            instance associated with the X.25 virtual circuit
-+            corresponding to this port.
-+
-+            For a port which has a unique value of
-+            dot1dBasePortIfIndex, this object can have the
-+            value { 0 0 }."
-+    ::= { dot1dBasePortEntry 3 }
-+
-+dot1dBasePortDelayExceededDiscards OBJECT-TYPE
-+    SYNTAX  Counter
-+
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of frames discarded by this port due
-+            to excessive transit delay through the bridge.  It
-+            is incremented by both transparent and source
-+            route bridges."
-+    REFERENCE
-+             "IEEE 802.1D-1990: Section 6.6.1.1.3"
-+    ::= { dot1dBasePortEntry 4 }
-+
-+dot1dBasePortMtuExceededDiscards OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of frames discarded by this port due
-+            to an excessive size.  It is incremented by both
-+            transparent and source route bridges."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.6.1.1.3"
-+    ::= { dot1dBasePortEntry 5 }
-+
-+-- the dot1dStp group
-+
-+-- Implementation of the dot1dStp group is optional.  It is
-+-- implemented by those bridges that support the Spanning Tree
-+-- Protocol.
-+
-+dot1dStpProtocolSpecification OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                unknown(1),
-+                decLb100(2),
-+                ieee8021d(3)
-+            }
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "An indication of what version of the Spanning
-+            Tree Protocol is being run.  The value
-+            'decLb100(2)' indicates the DEC LANbridge 100
-+            Spanning Tree protocol.  IEEE 802.1d
-+            implementations will return 'ieee8021d(3)'.  If
-+            future versions of the IEEE Spanning Tree Protocol
-+            are released that are incompatible with the
-+            current version a new value will be defined."
-+
-+    ::= { dot1dStp 1 }
-+
-+dot1dStpPriority OBJECT-TYPE
-+    SYNTAX  INTEGER (0..65535)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The value of the write-able portion of the Bridge
-+            ID, i.e., the first two octets of the (8 octet
-+            long) Bridge ID.  The other (last) 6 octets of the
-+            Bridge ID are given by the value of
-+            dot1dBaseBridgeAddress."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.7"
-+    ::= { dot1dStp 2 }
-+
-+dot1dStpTimeSinceTopologyChange OBJECT-TYPE
-+    SYNTAX  TimeTicks
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The time (in hundredths of a second) since the
-+            last time a topology change was detected by the
-+            bridge entity."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.8.1.1.3"
-+    ::= { dot1dStp 3 }
-+
-+dot1dStpTopChanges OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The total number of topology changes detected by
-+            this bridge since the management entity was last
-+            reset or initialized."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.8.1.1.3"
-+    ::= { dot1dStp 4 }
-+
-+dot1dStpDesignatedRoot OBJECT-TYPE
-+    SYNTAX  BridgeId
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The bridge identifier of the root of the spanning
-+            tree as determined by the Spanning Tree Protocol
-+            as executed by this node.  This value is used as
-+
-+            the Root Identifier parameter in all Configuration
-+            Bridge PDUs originated by this node."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.1"
-+    ::= { dot1dStp 5 }
-+
-+dot1dStpRootCost OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The cost of the path to the root as seen from
-+            this bridge."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.2"
-+    ::= { dot1dStp 6 }
-+
-+dot1dStpRootPort OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the port which offers the
-+            lowest cost path from this bridge to the root
-+            bridge."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.3"
-+    ::= { dot1dStp 7 }
-+
-+dot1dStpMaxAge OBJECT-TYPE
-+    SYNTAX  Timeout
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The maximum age of Spanning Tree Protocol
-+            information learned from the network on any port
-+            before it is discarded, in units of hundredths of
-+            a second.  This is the actual value that this
-+            bridge is currently using."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.4"
-+    ::= { dot1dStp 8 }
-+
-+dot1dStpHelloTime OBJECT-TYPE
-+    SYNTAX  Timeout
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+
-+            "The amount of time between the transmission of
-+            Configuration bridge PDUs by this node on any port
-+            when it is the root of the spanning tree or trying
-+            to become so, in units of hundredths of a second.
-+            This is the actual value that this bridge is
-+            currently using."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.5"
-+    ::= { dot1dStp 9 }
-+
-+dot1dStpHoldTime OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "This time value determines the interval length
-+            during which no more than two Configuration bridge
-+            PDUs shall be transmitted by this node, in units
-+            of hundredths of a second."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.14"
-+    ::= { dot1dStp 10 }
-+
-+dot1dStpForwardDelay OBJECT-TYPE
-+    SYNTAX  Timeout
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "This time value, measured in units of hundredths
-+            of a second, controls how fast a port changes its
-+            spanning state when moving towards the Forwarding
-+            state.  The value determines how long the port
-+            stays in each of the Listening and Learning
-+            states, which precede the Forwarding state.  This
-+            value is also used, when a topology change has
-+            been detected and is underway, to age all dynamic
-+            entries in the Forwarding Database.  [Note that
-+            this value is the one that this bridge is
-+            currently using, in contrast to
-+            dot1dStpBridgeForwardDelay which is the value that
-+            this bridge and all others would start using
-+            if/when this bridge were to become the root.]"
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.6"
-+    ::= { dot1dStp 11 }
-+
-+dot1dStpBridgeMaxAge OBJECT-TYPE
-+    SYNTAX  Timeout (600..4000)
-+
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The value that all bridges use for MaxAge when
-+            this bridge is acting as the root.  Note that
-+            802.1D-1990 specifies that the range for this
-+            parameter is related to the value of
-+            dot1dStpBridgeHelloTime. The granularity of this
-+            timer is specified by 802.1D-1990 to be 1 second.
-+            An agent may return a badValue error if a set is
-+            attempted to a value which is not a whole number
-+            of seconds."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.8"
-+    ::= { dot1dStp 12 }
-+
-+dot1dStpBridgeHelloTime OBJECT-TYPE
-+    SYNTAX  Timeout (100..1000)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The value that all bridges use for HelloTime when
-+            this bridge is acting as the root.  The
-+            granularity of this timer is specified by 802.1D-
-+            1990 to be 1 second.  An agent may return a
-+            badValue error if a set is attempted to a value
-+            which is not a whole number of seconds."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.9"
-+    ::= { dot1dStp 13 }
-+
-+dot1dStpBridgeForwardDelay OBJECT-TYPE
-+    SYNTAX  Timeout (400..3000)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The value that all bridges use for ForwardDelay
-+            when this bridge is acting as the root.  Note that
-+            802.1D-1990 specifies that the range for this
-+            parameter is related to the value of
-+            dot1dStpBridgeMaxAge.  The granularity of this
-+            timer is specified by 802.1D-1990 to be 1 second.
-+            An agent may return a badValue error if a set is
-+            attempted to a value which is not a whole number
-+            of seconds."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.3.10"
-+    ::= { dot1dStp 14 }
-+
-+-- The Spanning Tree Port Table
-+
-+dot1dStpPortTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dStpPortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table that contains port-specific information
-+            for the Spanning Tree Protocol."
-+    ::= { dot1dStp 15 }
-+
-+dot1dStpPortEntry OBJECT-TYPE
-+    SYNTAX  Dot1dStpPortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A list of information maintained by every port
-+            about the Spanning Tree Protocol state for that
-+            port."
-+    INDEX   { dot1dStpPort }
-+    ::= { dot1dStpPortTable 1 }
-+
-+Dot1dStpPortEntry ::=
-+    SEQUENCE {
-+        dot1dStpPort
-+            INTEGER,
-+        dot1dStpPortPriority
-+            INTEGER,
-+        dot1dStpPortState
-+            INTEGER,
-+        dot1dStpPortEnable
-+            INTEGER,
-+        dot1dStpPortPathCost
-+            INTEGER,
-+        dot1dStpPortDesignatedRoot
-+            BridgeId,
-+        dot1dStpPortDesignatedCost
-+            INTEGER,
-+        dot1dStpPortDesignatedBridge
-+            BridgeId,
-+        dot1dStpPortDesignatedPort
-+            OCTET STRING,
-+        dot1dStpPortForwardTransitions
-+            Counter
-+    }
-+
-+dot1dStpPort OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the port for which this entry
-+            contains Spanning Tree Protocol management
-+            information."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.8.2.1.2"
-+    ::= { dot1dStpPortEntry 1 }
-+
-+dot1dStpPortPriority OBJECT-TYPE
-+    SYNTAX  INTEGER (0..255)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The value of the priority field which is
-+            contained in the first (in network byte order)
-+            octet of the (2 octet long) Port ID.  The other
-+            octet of the Port ID is given by the value of
-+            dot1dStpPort."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.1"
-+    ::= { dot1dStpPortEntry 2 }
-+
-+dot1dStpPortState OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                disabled(1),
-+                blocking(2),
-+                listening(3),
-+                learning(4),
-+                forwarding(5),
-+                broken(6)
-+            }
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port's current state as defined by
-+            application of the Spanning Tree Protocol.  This
-+            state controls what action a port takes on
-+            reception of a frame.  If the bridge has detected
-+            a port that is malfunctioning it will place that
-+            port into the broken(6) state.  For ports which
-+            are disabled (see dot1dStpPortEnable), this object
-+            will have a value of disabled(1)."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.2"
-+    ::= { dot1dStpPortEntry 3 }
-+
-+dot1dStpPortEnable OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                enabled(1),
-+                disabled(2)
-+            }
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The enabled/disabled status of the port."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.2"
-+    ::= { dot1dStpPortEntry 4 }
-+
-+dot1dStpPortPathCost OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The contribution of this port to the path cost of
-+            paths towards the spanning tree root which include
-+            this port.  802.1D-1990 recommends that the
-+            default value of this parameter be in inverse
-+            proportion to the speed of the attached LAN."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.3"
-+    ::= { dot1dStpPortEntry 5 }
-+
-+dot1dStpPortDesignatedRoot OBJECT-TYPE
-+    SYNTAX  BridgeId
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The unique Bridge Identifier of the Bridge
-+            recorded as the Root in the Configuration BPDUs
-+            transmitted by the Designated Bridge for the
-+            segment to which the port is attached."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.4"
-+    ::= { dot1dStpPortEntry 6 }
-+
-+dot1dStpPortDesignatedCost OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The path cost of the Designated Port of the
-+            segment connected to this port.  This value is
-+            compared to the Root Path Cost field in received
-+
-+            bridge PDUs."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.5"
-+    ::= { dot1dStpPortEntry 7 }
-+
-+dot1dStpPortDesignatedBridge OBJECT-TYPE
-+    SYNTAX  BridgeId
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The Bridge Identifier of the bridge which this
-+            port considers to be the Designated Bridge for
-+            this port's segment."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.6"
-+    ::= { dot1dStpPortEntry 8 }
-+
-+dot1dStpPortDesignatedPort OBJECT-TYPE
-+    SYNTAX  OCTET STRING (SIZE (2))
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The Port Identifier of the port on the Designated
-+            Bridge for this port's segment."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 4.5.5.7"
-+    ::= { dot1dStpPortEntry 9 }
-+
-+dot1dStpPortForwardTransitions OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of times this port has transitioned
-+            from the Learning state to the Forwarding state."
-+    ::= { dot1dStpPortEntry 10 }
-+
-+-- the dot1dTp group
-+
-+-- Implementation of the dot1dTp group is optional.  It is
-+-- implemented by those bridges that support the transparent
-+-- bridging mode.  A transparent or SRT bridge will implement
-+-- this group.
-+
-+dot1dTpLearnedEntryDiscards OBJECT-TYPE
-+    SYNTAX  Counter
-+
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The total number of Forwarding Database entries,
-+            which have been or would have been learnt, but
-+            have been discarded due to a lack of space to
-+            store them in the Forwarding Database.  If this
-+            counter is increasing, it indicates that the
-+            Forwarding Database is regularly becoming full (a
-+            condition which has unpleasant performance effects
-+            on the subnetwork).  If this counter has a
-+            significant value but is not presently increasing,
-+            it indicates that the problem has been occurring
-+            but is not persistent."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.7.1.1.3"
-+    ::= { dot1dTp 1 }
-+
-+dot1dTpAgingTime OBJECT-TYPE
-+    SYNTAX   INTEGER (10..1000000)
-+    ACCESS   read-write
-+    STATUS   mandatory
-+    DESCRIPTION
-+            "The timeout period in seconds for aging out
-+            dynamically learned forwarding information.
-+            802.1D-1990 recommends a default of 300 seconds."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.7.1.1.3"
-+    ::= { dot1dTp 2 }
-+
-+--  The Forwarding Database for Transparent Bridges
-+
-+dot1dTpFdbTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dTpFdbEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table that contains information about unicast
-+            entries for which the bridge has forwarding and/or
-+            filtering information.  This information is used
-+            by the transparent bridging function in
-+            determining how to propagate a received frame."
-+    ::= { dot1dTp 3 }
-+
-+dot1dTpFdbEntry OBJECT-TYPE
-+    SYNTAX  Dot1dTpFdbEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Information about a specific unicast MAC address
-+            for which the bridge has some forwarding and/or
-+            filtering information."
-+    INDEX   { dot1dTpFdbAddress }
-+    ::= { dot1dTpFdbTable 1 }
-+
-+Dot1dTpFdbEntry ::=
-+    SEQUENCE {
-+        dot1dTpFdbAddress
-+            MacAddress,
-+        dot1dTpFdbPort
-+            INTEGER,
-+        dot1dTpFdbStatus
-+            INTEGER
-+    }
-+
-+dot1dTpFdbAddress OBJECT-TYPE
-+    SYNTAX  MacAddress
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A unicast MAC address for which the bridge has
-+            forwarding and/or filtering information."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
-+    ::= { dot1dTpFdbEntry 1 }
-+
-+dot1dTpFdbPort OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Either the value '0', or the port number of the
-+            port on which a frame having a source address
-+            equal to the value of the corresponding instance
-+            of dot1dTpFdbAddress has been seen.  A value of
-+            '0' indicates that the port number has not been
-+            learned but that the bridge does have some
-+            forwarding/filtering information about this
-+            address (e.g. in the dot1dStaticTable).
-+            Implementors are encouraged to assign the port
-+            value to this object whenever it is learned even
-+            for addresses for which the corresponding value of
-+            dot1dTpFdbStatus is not learned(3)."
-+    ::= { dot1dTpFdbEntry 2 }
-+
-+dot1dTpFdbStatus OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                other(1),
-+                invalid(2),
-+                learned(3),
-+                self(4),
-+                mgmt(5)
-+            }
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The status of this entry.  The meanings of the
-+            values are:
-+              other(1)   : none of the following.  This would
-+                           include the case where some other
-+                           MIB object (not the corresponding
-+                           instance of dot1dTpFdbPort, nor an
-+                           entry in the dot1dStaticTable) is
-+                           being used to determine if and how
-+                           frames addressed to the value of
-+                           the corresponding instance of
-+                           dot1dTpFdbAddress are being
-+                           forwarded.
-+              invalid(2) : this entry is not longer valid
-+                           (e.g., it was learned but has since
-+                           aged-out), but has not yet been
-+                           flushed from the table.
-+              learned(3) : the value of the corresponding
-+                           instance of dot1dTpFdbPort was
-+                           learned, and is being used.
-+              self(4)    : the value of the corresponding
-+                           instance of dot1dTpFdbAddress
-+                           represents one of the bridge's
-+                           addresses.  The corresponding
-+                           instance of dot1dTpFdbPort
-+                           indicates which of the bridge's
-+                           ports has this address.
-+              mgmt(5)    : the value of the corresponding
-+                           instance of dot1dTpFdbAddress is
-+                           also the value of an existing
-+                           instance of dot1dStaticAddress."
-+    ::= { dot1dTpFdbEntry 3 }
-+
-+--  Port Table for Transparent Bridges
-+
-+dot1dTpPortTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dTpPortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table that contains information about every
-+            port that is associated with this transparent
-+            bridge."
-+    ::= { dot1dTp 4 }
-+
-+dot1dTpPortEntry OBJECT-TYPE
-+    SYNTAX  Dot1dTpPortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A list of information for each port of a
-+            transparent bridge."
-+    INDEX   { dot1dTpPort }
-+    ::= { dot1dTpPortTable 1 }
-+
-+Dot1dTpPortEntry ::=
-+    SEQUENCE {
-+        dot1dTpPort
-+            INTEGER,
-+        dot1dTpPortMaxInfo
-+            INTEGER,
-+        dot1dTpPortInFrames
-+            Counter,
-+        dot1dTpPortOutFrames
-+            Counter,
-+        dot1dTpPortInDiscards
-+            Counter
-+    }
-+
-+dot1dTpPort OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the port for which this entry
-+            contains Transparent bridging management
-+            information."
-+    ::= { dot1dTpPortEntry 1 }
-+
-+-- It would be nice if we could use ifMtu as the size of the
-+-- largest INFO field, but we can't because ifMtu is defined
-+-- to be the size that the (inter-)network layer can use which
-+-- can differ from the MAC layer (especially if several layers
-+-- of encapsulation are used).
-+
-+dot1dTpPortMaxInfo OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The maximum size of the INFO (non-MAC) field that
-+            this port will receive or transmit."
-+    ::= { dot1dTpPortEntry 2 }
-+
-+dot1dTpPortInFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of frames that have been received by
-+            this port from its segment. Note that a frame
-+            received on the interface corresponding to this
-+            port is only counted by this object if and only if
-+            it is for a protocol being processed by the local
-+            bridging function, including bridge management
-+            frames."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.6.1.1.3"
-+    ::= { dot1dTpPortEntry 3 }
-+
-+dot1dTpPortOutFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of frames that have been transmitted
-+            by this port to its segment.  Note that a frame
-+            transmitted on the interface corresponding to this
-+            port is only counted by this object if and only if
-+            it is for a protocol being processed by the local
-+            bridging function, including bridge management
-+            frames."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.6.1.1.3"
-+    ::= { dot1dTpPortEntry 4 }
-+
-+dot1dTpPortInDiscards OBJECT-TYPE
-+    SYNTAX   Counter
-+    ACCESS   read-only
-+    STATUS   mandatory
-+    DESCRIPTION
-+            "Count of valid frames received which were
-+            discarded (i.e., filtered) by the Forwarding
-+            Process."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.6.1.1.3"
-+    ::= { dot1dTpPortEntry 5 }
-+-- The Static (Destination-Address Filtering) Database
-+
-+-- Implementation of this group is optional.
-+
-+dot1dStaticTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dStaticEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table containing filtering information
-+            configured into the bridge by (local or network)
-+            management specifying the set of ports to which
-+            frames received from specific ports and containing
-+            specific destination addresses are allowed to be
-+            forwarded.  The value of zero in this table as the
-+            port number from which frames with a specific
-+            destination address are received, is used to
-+            specify all ports for which there is no specific
-+            entry in this table for that particular
-+            destination address.  Entries are valid for
-+            unicast and for group/broadcast addresses."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.7.2"
-+    ::= { dot1dStatic 1 }
-+
-+dot1dStaticEntry OBJECT-TYPE
-+    SYNTAX  Dot1dStaticEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Filtering information configured into the bridge
-+            by (local or network) management specifying the
-+            set of ports to which frames received from a
-+            specific port and containing a specific
-+            destination address are allowed to be forwarded."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 6.7.2"
-+    INDEX   { dot1dStaticAddress, dot1dStaticReceivePort }
-+    ::= { dot1dStaticTable 1 }
-+
-+Dot1dStaticEntry ::=
-+    SEQUENCE {
-+        dot1dStaticAddress
-+            MacAddress,
-+        dot1dStaticReceivePort
-+            INTEGER,
-+        dot1dStaticAllowedToGoTo
-+            OCTET STRING,
-+        dot1dStaticStatus
-+            INTEGER
-+    }
-+
-+dot1dStaticAddress OBJECT-TYPE
-+    SYNTAX  MacAddress
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The destination MAC address in a frame to which
-+            this entry's filtering information applies.  This
-+            object can take the value of a unicast address, a
-+            group address or the broadcast address."
-+    REFERENCE
-+            "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
-+    ::= { dot1dStaticEntry 1 }
-+
-+dot1dStaticReceivePort OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Either the value '0', or the port number of the
-+            port from which a frame must be received in order
-+            for this entry's filtering information to apply.
-+            A value of zero indicates that this entry applies
-+            on all ports of the bridge for which there is no
-+            other applicable entry."
-+    ::= { dot1dStaticEntry 2 }
-+
-+dot1dStaticAllowedToGoTo OBJECT-TYPE
-+    SYNTAX  OCTET STRING
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The set of ports to which frames received from a
-+            specific port and destined for a specific MAC
-+
-+            address, are allowed to be forwarded.  Each octet
-+            within the value of this object specifies a set of
-+            eight ports, with the first octet specifying ports
-+            1 through 8, the second octet specifying ports 9
-+            through 16, etc.  Within each octet, the most
-+            significant bit represents the lowest numbered
-+            port, and the least significant bit represents the
-+            highest numbered port.  Thus, each port of the
-+            bridge is represented by a single bit within the
-+            value of this object.  If that bit has a value of
-+            '1' then that port is included in the set of
-+            ports; the port is not included if its bit has a
-+            value of '0'.  (Note that the setting of the bit
-+            corresponding to the port from which a frame is
-+            received is irrelevant.)  The default value of
-+            this object is a string of ones of appropriate
-+            length."
-+    ::= { dot1dStaticEntry 3 }
-+
-+dot1dStaticStatus OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                other(1),
-+                invalid(2),
-+                permanent(3),
-+                deleteOnReset(4),
-+                deleteOnTimeout(5)
-+            }
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "This object indicates the status of this entry.
-+            The default value is permanent(3).
-+                 other(1) - this entry is currently in use but
-+                      the conditions under which it will
-+                      remain so are different from each of the
-+                      following values.
-+                 invalid(2) - writing this value to the object
-+                      removes the corresponding entry.
-+                 permanent(3) - this entry is currently in use
-+                      and will remain so after the next reset
-+                      of the bridge.
-+                 deleteOnReset(4) - this entry is currently in
-+                      use and will remain so until the next
-+                      reset of the bridge.
-+                 deleteOnTimeout(5) - this entry is currently
-+                      in use and will remain so until it is
-+                      aged out."
-+
-+    ::= { dot1dStaticEntry 4 }
-+
-+-- Traps for use by Bridges
-+
-+-- Traps for the Spanning Tree Protocol
-+
-+newRoot TRAP-TYPE
-+    ENTERPRISE  dot1dBridge
-+    DESCRIPTION
-+            "The newRoot trap indicates that the sending agent
-+            has become the new root of the Spanning Tree; the
-+            trap is sent by a bridge soon after its election
-+            as the new root, e.g., upon expiration of the
-+            Topology Change Timer immediately subsequent to
-+            its election.  Implementation of this trap is
-+            optional."
-+    ::= 1
-+
-+topologyChange TRAP-TYPE
-+    ENTERPRISE  dot1dBridge
-+    DESCRIPTION
-+            "A topologyChange trap is sent by a bridge when
-+            any of its configured ports transitions from the
-+            Learning state to the Forwarding state, or from
-+            the Forwarding state to the Blocking state.  The
-+            trap is not sent if a newRoot trap is sent for the
-+            same transition.  Implementation of this trap is
-+            optional."
-+    ::= 2
-+
-+END
-diff -ruN net-snmp-5.1.2-orig/mibs/GNOME-SMI.txt net-snmp-5.1.2-5/mibs/GNOME-SMI.txt
---- net-snmp-5.1.2-orig/mibs/GNOME-SMI.txt     1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/GNOME-SMI.txt        2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,72 @@
-+GNOME-SMI DEFINITIONS ::= BEGIN
-+
-+IMPORTS
-+      MODULE-IDENTITY,
-+      OBJECT-IDENTITY,
-+      enterprises
-+              FROM SNMPv2-SMI;
-+
-+gnome MODULE-IDENTITY
-+      LAST-UPDATED "200312070000Z"
-+      ORGANIZATION "GNOME project"
-+      CONTACT-INFO
-+              "GNU Network Object Model Environment project
-+              
-+              see http://www.gnome.org for contact persons of a particular
-+              area or subproject of GNOME.
-+
-+              Administrative contact for MIB module:
-+
-+              Jochen Friedrich
-+              Buedingerstr. 30b
-+              63546 Hammersbach
-+              Germany 
-+
-+              email: jochen@scram.de"
-+      DESCRIPTION
-+              "The Structure of GNOME."
-+
-+      -- revision history
-+
-+      REVISION "9809010000Z"  -- September 01, 1998
-+      DESCRIPTION
-+              "Initial version."
-+
-+      REVISION "200312070000Z"  -- December 07, 2003
-+      DESCRIPTION
-+              "Added gnomeSysadmin subtree for GNOME project system administration.
-+              Updated contact info."
-+
-+      ::= { enterprises 3317 }        -- assigned by IANA
-+
-+gnomeProducts OBJECT-IDENTITY
-+      STATUS  current
-+      DESCRIPTION
-+              "gnomeProducts is the root OBJECT IDENTIFIER from
-+              which sysObjectID values are assigned."
-+      ::= { gnome 1 }
-+
-+gnomeMgmt OBJECT-IDENTITY
-+      STATUS  current
-+      DESCRIPTION
-+              "gnomeMgmt defines the subtree for production GNOME related
-+              MIB registrations."
-+      ::= { gnome 2 }
-+
-+gnomeTest OBJECT-IDENTITY
-+      STATUS  current
-+      DESCRIPTION
-+              "gnomeTest defines the subtree for testing GNOME related
-+              MIB registrations."
-+      ::= { gnome 3 }
-+
-+gnomeSysadmin OBJECT-IDENTITY
-+      STATUS  current
-+      DESCRIPTION
-+              "gnomeSysadmin defines the subtree for GNOME related Sysadmin
-+              MIB registrations."
-+      ::= { gnome 4 }
-+
-+-- more to come if necessary.
-+
-+END
-diff -ruN net-snmp-5.1.2-orig/mibs/Makefile.in net-snmp-5.1.2-5/mibs/Makefile.in
---- net-snmp-5.1.2-orig/mibs/Makefile.in       2004-06-18 20:11:15.000000000 +0200
-+++ net-snmp-5.1.2-5/mibs/Makefile.in  2005-03-13 16:17:21.000000000 +0100
-@@ -43,11 +43,15 @@
- UCDMIBS = UCD-SNMP-MIB.txt UCD-DEMO-MIB.txt UCD-IPFWACC-MIB.txt \
-       UCD-DLMOD-MIB.txt UCD-DISKIO-MIB.txt
-+EXTRAMIBS = BGP4-MIB.txt BRIDGE-MIB.txt GNOME-SMI.txt OSPF-MIB.txt \
-+      OSPF-TRAP-MIB.txt RIPv2-MIB.txt SOURCE-ROUTING-MIB.txt \
-+      LM-SENSORS-MIB.txt
-+
- DEFAULTMIBS = @default_mibs_install@
- MIBS  = $(V1MIBS) $(V2MIBS) $(V3MIBS) $(RFCMIBS) \
-       $(AGENTMIBS) $(IANAMIBS) \
--      $(NETSNMPMIBS) $(UCDMIBS) $(DEFAULTMIBS)
-+      $(NETSNMPMIBS) $(UCDMIBS) $(DEFAULTMIBS) $(EXTRAMIBS)
- all: standardall
-diff -ruN net-snmp-5.1.2-orig/mibs/OSPF-MIB.txt net-snmp-5.1.2-5/mibs/OSPF-MIB.txt
---- net-snmp-5.1.2-orig/mibs/OSPF-MIB.txt      1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/OSPF-MIB.txt 2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,2723 @@
-+OSPF-MIB DEFINITIONS ::= BEGIN
-+
-+    IMPORTS
-+            MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
-+            Integer32, IpAddress
-+                FROM SNMPv2-SMI
-+            TEXTUAL-CONVENTION, TruthValue, RowStatus
-+                FROM SNMPv2-TC
-+            MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
-+            mib-2                                    FROM RFC1213-MIB;
-+
-+--  This MIB module uses the extended OBJECT-TYPE macro as
-+--  defined in [9].
-+
-+ospf MODULE-IDENTITY
-+        LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
-+        ORGANIZATION "IETF OSPF Working Group"
-+        CONTACT-INFO
-+       "       Fred Baker
-+       Postal: Cisco Systems
-+               519 Lado Drive
-+               Santa Barbara, California 93111
-+       Tel:    +1 805 681 0115
-+       E-Mail: fred@cisco.com
-+
-+               Rob Coltun
-+       Postal: RainbowBridge Communications
-+       Tel:    (301) 340-9416
-+       E-Mail: rcoltun@rainbow-bridge.com"
-+    DESCRIPTION
-+       "The MIB module to describe the OSPF Version 2
-+       Protocol"
-+    ::= { mib-2 14 }
-+
-+--  The Area ID, in OSPF, has the same format as an IP Address,
-+--  but has the function of defining a summarization point for
-+--  Link State Advertisements
-+
-+AreaID ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "An OSPF Area Identifier."
-+    SYNTAX      IpAddress
-+
-+
-+--  The Router ID, in OSPF, has the same format as an IP Address,
-+--  but identifies the router independent of its IP Address.
-+
-+RouterID ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "A OSPF Router Identifier."
-+    SYNTAX      IpAddress
-+
-+
-+--  The OSPF Metric is defined as an unsigned value in the range
-+
-+Metric ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The OSPF Internal Metric."
-+    SYNTAX      Integer32 (0..'FFFF'h)
-+
-+BigMetric ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The OSPF External Metric."
-+    SYNTAX      Integer32 (0..'FFFFFF'h)
-+
-+--  Status Values
-+
-+Status ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The status of an interface: 'enabled' indicates that
-+       it is willing to communicate with other OSPF Routers,
-+       while 'disabled' indicates that it is not."
-+    SYNTAX      INTEGER { enabled (1), disabled (2) }
-+
-+--  Time Durations measured in seconds
-+
-+PositiveInteger ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "A positive integer. Values in excess are precluded as
-+       unnecessary and prone to interoperability issues."
-+    SYNTAX      Integer32 (0..'7FFFFFFF'h)
-+
-+HelloRange ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The range of intervals on which hello messages are
-+       exchanged."
-+    SYNTAX      Integer32 (1..'FFFF'h)
-+
-+UpToMaxAge ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The values that one might find or configure for
-+       variables bounded by the maximum age of an LSA."
-+    SYNTAX      Integer32 (0..3600)
-+
-+
-+--  The range of ifIndex
-+
-+InterfaceIndex ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The range of ifIndex."
-+    SYNTAX      Integer32
-+
-+
-+--  Potential Priorities for the Designated Router Election
-+
-+DesignatedRouterPriority ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "The values defined for the priority of a system for
-+       becoming the designated router."
-+    SYNTAX      Integer32 (0..'FF'h)
-+
-+TOSType ::= TEXTUAL-CONVENTION
-+    STATUS      current
-+    DESCRIPTION
-+       "Type of Service is defined as a mapping to the IP Type of
-+       Service Flags as defined in the IP Forwarding Table MIB
-+
-+       +-----+-----+-----+-----+-----+-----+-----+-----+
-+       |                 |                       |     |
-+       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
-+       |                 |                       |     |
-+       +-----+-----+-----+-----+-----+-----+-----+-----+
-+
-+                IP TOS                IP TOS
-+           Field     Policy      Field     Policy
-+
-+           Contents    Code      Contents    Code
-+           0 0 0 0  ==>   0      0 0 0 1  ==>   2
-+           0 0 1 0  ==>   4      0 0 1 1  ==>   6
-+           0 1 0 0  ==>   8      0 1 0 1  ==>  10
-+           0 1 1 0  ==>  12      0 1 1 1  ==>  14
-+           1 0 0 0  ==>  16      1 0 0 1  ==>  18
-+           1 0 1 0  ==>  20      1 0 1 1  ==>  22
-+           1 1 0 0  ==>  24      1 1 0 1  ==>  26
-+           1 1 1 0  ==>  28      1 1 1 1  ==>  30
-+
-+       The remaining values are left for future definition."
-+    SYNTAX      Integer32 (0..30)
-+
-+
-+--  OSPF General Variables
-+
-+--      These parameters apply globally to the Router's
-+--      OSPF Process.
-+
-+ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 }
-+
-+
-+    ospfRouterId OBJECT-TYPE
-+        SYNTAX   RouterID
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "A  32-bit  integer  uniquely  identifying  the
-+           router in the Autonomous System.
-+
-+           By  convention,  to  ensure  uniqueness,   this
-+           should  default  to  the  value  of  one of the
-+           router's IP interface addresses."
-+       REFERENCE
-+          "OSPF Version 2, C.1 Global parameters"
-+      ::= { ospfGeneralGroup 1 }
-+
-+
-+    ospfAdminStat OBJECT-TYPE
-+        SYNTAX   Status
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "The  administrative  status  of  OSPF  in  the
-+           router.   The  value 'enabled' denotes that the
-+           OSPF Process is active on at least  one  inter-
-+           face;  'disabled'  disables  it  on  all inter-
-+           faces."
-+       ::= { ospfGeneralGroup 2 }
-+
-+    ospfVersionNumber OBJECT-TYPE
-+        SYNTAX   INTEGER    { version2 (2) }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The current version number of the OSPF  proto-
-+           col is 2."
-+       REFERENCE
-+          "OSPF Version 2, Title"
-+      ::= { ospfGeneralGroup 3 }
-+
-+
-+    ospfAreaBdrRtrStatus OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "A flag to note whether this router is an  area
-+           border router."
-+       REFERENCE
-+          "OSPF Version 2, Section 3 Splitting the AS into
-+          Areas"
-+      ::= { ospfGeneralGroup 4 }
-+
-+
-+    ospfASBdrRtrStatus OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "A flag to note whether this router is  config-
-+           ured as an Autonomous System border router."
-+       REFERENCE
-+          "OSPF Version 2, Section 3.3  Classification  of
-+          routers"
-+      ::= { ospfGeneralGroup 5 }
-+
-+    ospfExternLsaCount OBJECT-TYPE
-+        SYNTAX   Gauge32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of external (LS type 5)  link-state
-+           advertisements in the link-state database."
-+       REFERENCE
-+          "OSPF Version 2, Appendix A.4.5 AS external link
-+          advertisements"
-+      ::= { ospfGeneralGroup 6 }
-+
-+
-+    ospfExternLsaCksumSum OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The 32-bit unsigned sum of the LS checksums of
-+           the  external  link-state  advertisements  con-
-+           tained in the link-state  database.   This  sum
-+           can  be  used  to determine if there has been a
-+           change in a router's link state  database,  and
-+           to  compare  the  link-state  database  of  two
-+           routers."
-+       ::= { ospfGeneralGroup 7 }
-+
-+
-+    ospfTOSSupport OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "The router's support for type-of-service rout-
-+           ing."
-+       REFERENCE
-+          "OSPF Version 2,  Appendix  F.1.2  Optional  TOS
-+          support"
-+      ::= { ospfGeneralGroup 8 }
-+
-+    ospfOriginateNewLsas OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of  new  link-state  advertisements
-+           that  have been originated.  This number is in-
-+           cremented each time the router originates a new
-+           LSA."
-+       ::= { ospfGeneralGroup 9 }
-+
-+
-+    ospfRxNewLsas OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of  link-state  advertisements  re-
-+           ceived  determined  to  be  new instantiations.
-+           This number does not include  newer  instantia-
-+           tions  of self-originated link-state advertise-
-+           ments."
-+       ::= { ospfGeneralGroup 10 }
-+
-+    ospfExtLsdbLimit OBJECT-TYPE
-+        SYNTAX   Integer32 (-1..'7FFFFFFF'h)
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "The  maximum   number   of   non-default   AS-
-+           external-LSAs entries that can be stored in the
-+           link-state database.  If the value is -1,  then
-+           there is no limit.
-+
-+           When the number of non-default AS-external-LSAs
-+           in   a  router's  link-state  database  reaches
-+           ospfExtLsdbLimit, the router  enters  Overflow-
-+           State.   The   router  never  holds  more  than
-+           ospfExtLsdbLimit  non-default  AS-external-LSAs
-+           in  its  database. OspfExtLsdbLimit MUST be set
-+           identically in all routers attached to the OSPF
-+           backbone  and/or  any regular OSPF area. (i.e.,
-+           OSPF stub areas and NSSAs are excluded)."
-+       DEFVAL { -1 }
-+       ::= { ospfGeneralGroup 11 }
-+
-+    ospfMulticastExtensions OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "A Bit Mask indicating whether  the  router  is
-+           forwarding  IP  multicast  (Class  D) datagrams
-+           based on the algorithms defined in  the  Multi-
-+           cast Extensions to OSPF.
-+
-+           Bit 0, if set, indicates that  the  router  can
-+           forward  IP multicast datagrams in the router's
-+           directly attached areas (called intra-area mul-
-+           ticast routing).
-+
-+           Bit 1, if set, indicates that  the  router  can
-+           forward  IP  multicast  datagrams  between OSPF
-+           areas (called inter-area multicast routing).
-+
-+           Bit 2, if set, indicates that  the  router  can
-+           forward  IP  multicast  datagrams between Auto-
-+           nomous Systems (called inter-AS multicast rout-
-+           ing).
-+
-+           Only certain combinations of bit  settings  are
-+           allowed,  namely: 0 (no multicast forwarding is
-+           enabled), 1 (intra-area multicasting  only),  3
-+           (intra-area  and  inter-area  multicasting),  5
-+           (intra-area and inter-AS  multicasting)  and  7
-+           (multicasting  everywhere). By default, no mul-
-+           ticast forwarding is enabled."
-+       DEFVAL { 0 }
-+       ::= { ospfGeneralGroup 12 }
-+
-+    ospfExitOverflowInterval OBJECT-TYPE
-+        SYNTAX   PositiveInteger
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of  seconds  that,  after  entering
-+           OverflowState,  a  router will attempt to leave
-+           OverflowState. This allows the router to  again
-+           originate  non-default  AS-external-LSAs.  When
-+           set to 0, the router will not  leave  Overflow-
-+           State until restarted."
-+       DEFVAL { 0 }
-+       ::= { ospfGeneralGroup 13 }
-+
-+
-+    ospfDemandExtensions OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "The router's support for demand routing."
-+       REFERENCE
-+          "OSPF Version 2, Appendix on Demand Routing"
-+      ::= { ospfGeneralGroup 14 }
-+
-+
-+--      The OSPF Area Data Structure contains information
-+--      regarding the various areas. The interfaces and
-+--      virtual links are configured as part of these areas.
-+--      Area 0.0.0.0, by definition, is the Backbone Area
-+
-+
-+    ospfAreaTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfAreaEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "Information describing the configured  parame-
-+           ters  and cumulative statistics of the router's
-+           attached areas."
-+       REFERENCE
-+          "OSPF Version 2, Section 6  The Area Data Struc-
-+          ture"
-+      ::= { ospf 2 }
-+
-+
-+    ospfAreaEntry OBJECT-TYPE
-+        SYNTAX   OspfAreaEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "Information describing the configured  parame-
-+           ters  and  cumulative  statistics of one of the
-+           router's attached areas."
-+       INDEX { ospfAreaId }
-+       ::= { ospfAreaTable 1 }
-+
-+OspfAreaEntry ::=
-+    SEQUENCE {
-+        ospfAreaId
-+            AreaID,
-+        ospfAuthType
-+            Integer32,
-+        ospfImportAsExtern
-+            INTEGER,
-+        ospfSpfRuns
-+            Counter32,
-+        ospfAreaBdrRtrCount
-+            Gauge32,
-+        ospfAsBdrRtrCount
-+            Gauge32,
-+        ospfAreaLsaCount
-+            Gauge32,
-+        ospfAreaLsaCksumSum
-+            Integer32,
-+        ospfAreaSummary
-+            INTEGER,
-+        ospfAreaStatus
-+            RowStatus
-+              }
-+
-+    ospfAreaId OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "A 32-bit integer uniquely identifying an area.
-+           Area ID 0.0.0.0 is used for the OSPF backbone."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaEntry 1 }
-+
-+
-+    ospfAuthType OBJECT-TYPE
-+        SYNTAX   Integer32
-+                    -- none (0),
-+                    -- simplePassword (1)
-+                    -- md5 (2)
-+                    -- reserved for specification by IANA (> 2)
-+        MAX-ACCESS   read-create
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "The authentication type specified for an area.
-+           Additional authentication types may be assigned
-+           locally on a per Area basis."
-+       REFERENCE
-+          "OSPF Version 2, Appendix E Authentication"
-+      DEFVAL { 0 }        -- no authentication, by default
-+      ::= { ospfAreaEntry 2 }
-+
-+    ospfImportAsExtern OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    importExternal (1),
-+                    importNoExternal (2),
-+                    importNssa (3)
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The area's support for importing  AS  external
-+           link- state advertisements."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      DEFVAL { importExternal }
-+      ::= { ospfAreaEntry 3 }
-+
-+
-+    ospfSpfRuns OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of times that the intra-area  route
-+           table  has  been  calculated  using this area's
-+           link-state database.  This  is  typically  done
-+           using Dijkstra's algorithm."
-+       ::= { ospfAreaEntry 4 }
-+
-+
-+    ospfAreaBdrRtrCount OBJECT-TYPE
-+        SYNTAX   Gauge32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The total number of area border routers reach-
-+           able within this area.  This is initially zero,
-+           and is calculated in each SPF Pass."
-+       ::= { ospfAreaEntry 5 }
-+
-+    ospfAsBdrRtrCount OBJECT-TYPE
-+        SYNTAX   Gauge32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The total number of Autonomous  System  border
-+           routers  reachable  within  this area.  This is
-+           initially zero, and is calculated in  each  SPF
-+           Pass."
-+       ::= { ospfAreaEntry 6 }
-+
-+
-+    ospfAreaLsaCount OBJECT-TYPE
-+        SYNTAX   Gauge32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The total number of link-state  advertisements
-+           in  this  area's link-state database, excluding
-+           AS External LSA's."
-+       ::= { ospfAreaEntry 7 }
-+
-+
-+    ospfAreaLsaCksumSum OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The 32-bit unsigned sum of the link-state  ad-
-+           vertisements'  LS  checksums  contained in this
-+           area's link-state database.  This sum  excludes
-+           external (LS type 5) link-state advertisements.
-+           The sum can be used to determine if  there  has
-+           been  a  change  in a router's link state data-
-+           base, and to compare the link-state database of
-+           two routers."
-+       DEFVAL   { 0 }
-+       ::= { ospfAreaEntry 8 }
-+
-+    ospfAreaSummary OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    noAreaSummary (1),
-+                    sendAreaSummary (2)
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The variable ospfAreaSummary controls the  im-
-+           port  of  summary LSAs into stub areas.  It has
-+           no effect on other areas.
-+
-+           If it is noAreaSummary, the router will neither
-+           originate  nor  propagate summary LSAs into the
-+           stub area.  It will rely entirely  on  its  de-
-+           fault route.
-+
-+           If it is sendAreaSummary, the router will  both
-+           summarize and propagate summary LSAs."
-+       DEFVAL   { noAreaSummary }
-+       ::= { ospfAreaEntry 9 }
-+
-+
-+    ospfAreaStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfAreaEntry 10 }
-+
-+
-+--  OSPF Area Default Metric Table
-+
-+--      The OSPF Area Default Metric Table describes the metrics
-+--      that a default Area Border Router will advertise into a
-+--      Stub area.
-+
-+
-+    ospfStubAreaTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfStubAreaEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The set of metrics that will be advertised  by
-+           a default Area Border Router into a stub area."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2, Area Parameters"
-+      ::= { ospf 3 }
-+
-+
-+    ospfStubAreaEntry OBJECT-TYPE
-+        SYNTAX   OspfStubAreaEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The metric for a given Type  of  Service  that
-+           will  be  advertised  by  a default Area Border
-+           Router into a stub area."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2, Area Parameters"
-+      INDEX { ospfStubAreaId, ospfStubTOS }
-+      ::= { ospfStubAreaTable 1 }
-+
-+OspfStubAreaEntry ::=
-+    SEQUENCE {
-+        ospfStubAreaId
-+            AreaID,
-+        ospfStubTOS
-+            TOSType,
-+        ospfStubMetric
-+            BigMetric,
-+        ospfStubStatus
-+            RowStatus,
-+        ospfStubMetricType
-+            INTEGER
-+              }
-+
-+    ospfStubAreaId OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The 32 bit identifier for the Stub  Area.   On
-+           creation,  this  can  be  derived  from the in-
-+           stance."
-+       ::= { ospfStubAreaEntry 1 }
-+
-+
-+    ospfStubTOS OBJECT-TYPE
-+        SYNTAX   TOSType
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The  Type  of  Service  associated  with   the
-+           metric.   On creation, this can be derived from
-+           the instance."
-+       ::= { ospfStubAreaEntry 2 }
-+
-+
-+    ospfStubMetric OBJECT-TYPE
-+        SYNTAX   BigMetric
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The metric value applied at the indicated type
-+           of  service.  By default, this equals the least
-+           metric at the type of service among the  inter-
-+           faces to other areas."
-+       ::= { ospfStubAreaEntry 3 }
-+
-+
-+    ospfStubStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfStubAreaEntry 4 }
-+
-+    ospfStubMetricType OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    ospfMetric (1),                -- OSPF Metric
-+                    comparableCost (2),        -- external type 1
-+                    nonComparable  (3)        -- external type 2
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the type of metric  ad-
-+           vertised as a default route."
-+       DEFVAL   { ospfMetric }
-+       ::= { ospfStubAreaEntry 5 }
-+
-+--  OSPF Link State Database
-+
-+--      The Link State Database contains the Link State
-+--      Advertisements from throughout the areas that the
-+--      device is attached to.
-+
-+
-+    ospfLsdbTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfLsdbEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF Process's Link State Database."
-+       REFERENCE
-+          "OSPF Version 2, Section 12  Link  State  Adver-
-+          tisements"
-+      ::= { ospf 4 }
-+
-+
-+    ospfLsdbEntry OBJECT-TYPE
-+        SYNTAX   OspfLsdbEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A single Link State Advertisement."
-+       INDEX { ospfLsdbAreaId, ospfLsdbType,
-+               ospfLsdbLsid, ospfLsdbRouterId }
-+       ::= { ospfLsdbTable 1 }
-+
-+OspfLsdbEntry ::=
-+    SEQUENCE {
-+        ospfLsdbAreaId
-+            AreaID,
-+        ospfLsdbType
-+            INTEGER,
-+        ospfLsdbLsid
-+            IpAddress,
-+        ospfLsdbRouterId
-+            RouterID,
-+        ospfLsdbSequence
-+            Integer32,
-+        ospfLsdbAge
-+            Integer32,
-+        ospfLsdbChecksum
-+            Integer32,
-+        ospfLsdbAdvertisement
-+            OCTET STRING
-+              }
-+    ospfLsdbAreaId OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The 32 bit identifier of the Area  from  which
-+           the LSA was received."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfLsdbEntry 1 }
-+
-+-- External Link State Advertisements are permitted
-+-- for backward compatibility, but should be displayed in
-+-- the ospfExtLsdbTable rather than here.
-+
-+    ospfLsdbType OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    routerLink (1),
-+                    networkLink (2),
-+                    summaryLink (3),
-+                    asSummaryLink (4),
-+                    asExternalLink (5), -- but see ospfExtLsdbTable
-+                    multicastLink (6),
-+                    nssaExternalLink (7)
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The type  of  the  link  state  advertisement.
-+           Each  link state type has a separate advertise-
-+           ment format."
-+       REFERENCE
-+          "OSPF Version 2, Appendix A.4.1 The  Link  State
-+          Advertisement header"
-+      ::= { ospfLsdbEntry 2 }
-+
-+    ospfLsdbLsid OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Link State ID is an LS Type Specific field
-+           containing either a Router ID or an IP Address;
-+           it identifies the piece of the  routing  domain
-+           that is being described by the advertisement."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.4 Link State ID"
-+      ::= { ospfLsdbEntry 3 }
-+    ospfLsdbRouterId OBJECT-TYPE
-+        SYNTAX   RouterID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The 32 bit number that uniquely identifies the
-+           originating router in the Autonomous System."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.1 Global parameters"
-+      ::= { ospfLsdbEntry 4 }
-+
-+--  Note that the OSPF Sequence Number is a 32 bit signed
-+--  integer.  It starts with the value '80000001'h,
-+--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
-+--  Thus, a typical sequence number will be very negative.
-+
-+    ospfLsdbSequence OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The sequence number field is a  signed  32-bit
-+           integer.   It  is used to detect old and dupli-
-+           cate link state advertisements.  The  space  of
-+           sequence  numbers  is  linearly  ordered.   The
-+           larger the sequence number the more recent  the
-+           advertisement."
-+       REFERENCE
-+          "OSPF Version  2,  Section  12.1.6  LS  sequence
-+          number"
-+      ::= { ospfLsdbEntry 5 }
-+
-+
-+    ospfLsdbAge OBJECT-TYPE
-+        SYNTAX   Integer32    -- Should be 0..MaxAge
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "This field is the age of the link state adver-
-+           tisement in seconds."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.1 LS age"
-+      ::= { ospfLsdbEntry 6 }
-+
-+    ospfLsdbChecksum OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "This field is the  checksum  of  the  complete
-+           contents  of  the  advertisement, excepting the
-+           age field.  The age field is excepted  so  that
-+           an   advertisement's  age  can  be  incremented
-+           without updating the  checksum.   The  checksum
-+           used  is  the same that is used for ISO connec-
-+           tionless datagrams; it is commonly referred  to
-+           as the Fletcher checksum."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.7 LS checksum"
-+      ::= { ospfLsdbEntry 7 }
-+
-+
-+    ospfLsdbAdvertisement OBJECT-TYPE
-+        SYNTAX   OCTET STRING (SIZE (1..65535))
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The entire Link State Advertisement, including
-+           its header."
-+       REFERENCE
-+          "OSPF Version 2, Section 12  Link  State  Adver-
-+          tisements"
-+      ::= { ospfLsdbEntry 8 }
-+
-+
-+--  Address Range Table
-+
-+--      The Address Range Table acts as an adjunct to the Area
-+--      Table; It describes those Address Range Summaries that
-+--      are configured to be propagated from an Area to reduce
-+--      the amount of information about it which is known beyond
-+--      its borders.
-+
-+    ospfAreaRangeTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfAreaRangeEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "A range if IP addresses  specified  by  an  IP
-+           address/IP  network  mask  pair.   For example,
-+           class B address range of X.X.X.X with a network
-+           mask  of  255.255.0.0 includes all IP addresses
-+           from X.X.0.0 to X.X.255.255"
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2  Area parameters"
-+      ::= { ospf 5 }
-+    ospfAreaRangeEntry OBJECT-TYPE
-+        SYNTAX   OspfAreaRangeEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "A range if IP addresses  specified  by  an  IP
-+           address/IP  network  mask  pair.   For example,
-+           class B address range of X.X.X.X with a network
-+           mask  of  255.255.0.0 includes all IP addresses
-+           from X.X.0.0 to X.X.255.255"
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2  Area parameters"
-+      INDEX { ospfAreaRangeAreaId, ospfAreaRangeNet }
-+      ::= { ospfAreaRangeTable 1 }
-+
-+OspfAreaRangeEntry ::=
-+    SEQUENCE {
-+        ospfAreaRangeAreaId
-+            AreaID,
-+        ospfAreaRangeNet
-+            IpAddress,
-+        ospfAreaRangeMask
-+            IpAddress,
-+        ospfAreaRangeStatus
-+            RowStatus,
-+        ospfAreaRangeEffect
-+            INTEGER
-+              }
-+
-+    ospfAreaRangeAreaId OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "The Area the Address  Range  is  to  be  found
-+           within."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaRangeEntry 1 }
-+
-+
-+    ospfAreaRangeNet OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "The IP Address of the Net or Subnet  indicated
-+           by the range."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaRangeEntry 2 }
-+
-+
-+    ospfAreaRangeMask OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-create
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "The Subnet Mask that pertains to  the  Net  or
-+           Subnet."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaRangeEntry 3 }
-+
-+    ospfAreaRangeStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfAreaRangeEntry 4 }
-+
-+
-+    ospfAreaRangeEffect OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    advertiseMatching (1),
-+                    doNotAdvertiseMatching (2)
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "Subnets subsumed by ranges either trigger  the
-+           advertisement  of the indicated summary (adver-
-+           tiseMatching), or result in  the  subnet's  not
-+           being advertised at all outside the area."
-+       DEFVAL   { advertiseMatching }
-+       ::= { ospfAreaRangeEntry 5 }
-+
-+
-+
-+--  OSPF Host Table
-+
-+--      The Host/Metric Table indicates what hosts are directly
-+--      attached to the Router, and what metrics and types of
-+--      service should be advertised for them.
-+
-+    ospfHostTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfHostEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The list of Hosts, and their metrics, that the
-+           router will advertise as host routes."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.6  Host route param-
-+          eters"
-+      ::= { ospf 6 }
-+
-+
-+    ospfHostEntry OBJECT-TYPE
-+        SYNTAX   OspfHostEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A metric to be advertised, for a given type of
-+           service, when a given host is reachable."
-+       INDEX { ospfHostIpAddress, ospfHostTOS }
-+       ::= { ospfHostTable 1 }
-+
-+OspfHostEntry ::=
-+    SEQUENCE {
-+        ospfHostIpAddress
-+            IpAddress,
-+        ospfHostTOS
-+            TOSType,
-+        ospfHostMetric
-+            Metric,
-+        ospfHostStatus
-+            RowStatus,
-+        ospfHostAreaID
-+            AreaID
-+              }
-+
-+    ospfHostIpAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address of the Host."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.6 Host route parame-
-+          ters"
-+      ::= { ospfHostEntry 1 }
-+
-+
-+    ospfHostTOS OBJECT-TYPE
-+        SYNTAX   TOSType
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Type of Service of the route being config-
-+           ured."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.6 Host route parame-
-+          ters"
-+      ::= { ospfHostEntry 2 }
-+
-+
-+    ospfHostMetric OBJECT-TYPE
-+        SYNTAX   Metric
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The Metric to be advertised."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.6 Host route parame-
-+          ters"
-+      ::= { ospfHostEntry 3 }
-+
-+    ospfHostStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfHostEntry 4 }
-+
-+
-+    ospfHostAreaID OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Area the Host Entry is to be found within.
-+           By  default, the area that a subsuming OSPF in-
-+           terface is in, or 0.0.0.0"
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfHostEntry 5 }
-+
-+
-+--  OSPF Interface Table
-+
-+--      The OSPF Interface Table augments the ipAddrTable
-+--             with OSPF specific information.
-+
-+    ospfIfTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfIfEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF Interface Table describes the  inter-
-+           faces from the viewpoint of OSPF."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.3  Router  interface
-+          parameters"
-+      ::= { ospf 7 }
-+
-+
-+    ospfIfEntry OBJECT-TYPE
-+        SYNTAX   OspfIfEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF Interface Entry describes one  inter-
-+           face from the viewpoint of OSPF."
-+       INDEX { ospfIfIpAddress, ospfAddressLessIf }
-+       ::= { ospfIfTable 1 }
-+
-+OspfIfEntry ::=
-+    SEQUENCE {
-+        ospfIfIpAddress
-+            IpAddress,
-+        ospfAddressLessIf
-+            Integer32,
-+        ospfIfAreaId
-+            AreaID,
-+        ospfIfType
-+            INTEGER,
-+        ospfIfAdminStat
-+            Status,
-+        ospfIfRtrPriority
-+            DesignatedRouterPriority,
-+        ospfIfTransitDelay
-+            UpToMaxAge,
-+        ospfIfRetransInterval
-+            UpToMaxAge,
-+        ospfIfHelloInterval
-+            HelloRange,
-+        ospfIfRtrDeadInterval
-+            PositiveInteger,
-+        ospfIfPollInterval
-+            PositiveInteger,
-+        ospfIfState
-+            INTEGER,
-+        ospfIfDesignatedRouter
-+            IpAddress,
-+        ospfIfBackupDesignatedRouter
-+            IpAddress,
-+        ospfIfEvents
-+            Counter32,
-+        ospfIfAuthType
-+            INTEGER,
-+        ospfIfAuthKey
-+            OCTET STRING,
-+        ospfIfStatus
-+            RowStatus,
-+        ospfIfMulticastForwarding
-+            INTEGER,
-+        ospfIfDemand
-+            TruthValue
-+              }
-+
-+    ospfIfIpAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP address of this OSPF interface."
-+       ::= { ospfIfEntry 1 }
-+
-+    ospfAddressLessIf OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "For the purpose of easing  the  instancing  of
-+           addressed   and  addressless  interfaces;  This
-+           variable takes the value 0 on  interfaces  with
-+           IP  Addresses,  and  the corresponding value of
-+           ifIndex for interfaces having no IP Address."
-+       ::= { ospfIfEntry 2 }
-+    ospfIfAreaId OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "A 32-bit integer uniquely identifying the area
-+           to  which  the  interface  connects.   Area  ID
-+           0.0.0.0 is used for the OSPF backbone."
-+       DEFVAL   { '00000000'H }    -- 0.0.0.0
-+       ::= { ospfIfEntry 3 }
-+
-+    ospfIfType OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    broadcast (1),
-+                    nbma (2),
-+                    pointToPoint (3),
-+                    pointToMultipoint (5)
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF interface type.
-+
-+           By way of a default, this field may be intuited
-+           from the corresponding value of ifType.  Broad-
-+           cast LANs, such as  Ethernet  and  IEEE  802.5,
-+           take  the  value  'broadcast', X.25 and similar
-+           technologies take the value 'nbma',  and  links
-+           that  are  definitively point to point take the
-+           value 'pointToPoint'."
-+       ::= { ospfIfEntry 4 }
-+
-+
-+    ospfIfAdminStat OBJECT-TYPE
-+        SYNTAX   Status
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF  interface's  administrative  status.
-+           The  value formed on the interface, and the in-
-+           terface will be advertised as an internal route
-+           to  some  area.   The  value 'disabled' denotes
-+           that the interface is external to OSPF."
-+       DEFVAL { enabled }
-+       ::= { ospfIfEntry 5 }
-+
-+    ospfIfRtrPriority OBJECT-TYPE
-+        SYNTAX   DesignatedRouterPriority
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The  priority  of  this  interface.   Used  in
-+           multi-access  networks,  this  field is used in
-+           the designated router election algorithm.   The
-+           value 0 signifies that the router is not eligi-
-+           ble to become the  designated  router  on  this
-+           particular  network.   In the event of a tie in
-+           this value, routers will use their Router ID as
-+           a tie breaker."
-+       DEFVAL { 1 }
-+       ::= { ospfIfEntry 6 }
-+
-+
-+    ospfIfTransitDelay OBJECT-TYPE
-+        SYNTAX   UpToMaxAge
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The estimated number of seconds  it  takes  to
-+           transmit  a  link state update packet over this
-+           interface."
-+       DEFVAL { 1 }
-+       ::= { ospfIfEntry 7 }
-+
-+
-+    ospfIfRetransInterval OBJECT-TYPE
-+        SYNTAX   UpToMaxAge
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of seconds between  link-state  ad-
-+           vertisement  retransmissions,  for  adjacencies
-+           belonging to this  interface.   This  value  is
-+           also used when retransmitting database descrip-
-+           tion and link-state request packets."
-+       DEFVAL { 5 }
-+       ::= { ospfIfEntry 8 }
-+
-+
-+    ospfIfHelloInterval OBJECT-TYPE
-+        SYNTAX   HelloRange
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The length of time, in  seconds,  between  the
-+           Hello  packets that the router sends on the in-
-+           terface.  This value must be the same  for  all
-+           routers attached to a common network."
-+       DEFVAL { 10 }
-+       ::= { ospfIfEntry 9 }
-+
-+
-+    ospfIfRtrDeadInterval OBJECT-TYPE
-+        SYNTAX   PositiveInteger
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of seconds that  a  router's  Hello
-+           packets  have  not been seen before it's neigh-
-+           bors declare the router down.  This  should  be
-+           some  multiple  of  the  Hello  interval.  This
-+           value must be the same for all routers attached
-+           to a common network."
-+       DEFVAL { 40 }
-+       ::= { ospfIfEntry 10 }
-+
-+
-+    ospfIfPollInterval OBJECT-TYPE
-+        SYNTAX   PositiveInteger
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The larger time interval, in seconds,  between
-+           the  Hello  packets  sent  to  an inactive non-
-+           broadcast multi- access neighbor."
-+       DEFVAL { 120 }
-+       ::= { ospfIfEntry 11 }
-+
-+
-+    ospfIfState OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    down (1),
-+                    loopback (2),
-+                    waiting (3),
-+                    pointToPoint (4),
-+                    designatedRouter (5),
-+                    backupDesignatedRouter (6),
-+                    otherDesignatedRouter (7)
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF Interface State."
-+       DEFVAL { down }
-+       ::= { ospfIfEntry 12 }
-+
-+
-+    ospfIfDesignatedRouter OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address of the Designated Router."
-+       DEFVAL   { '00000000'H }    -- 0.0.0.0
-+       ::= { ospfIfEntry 13 }
-+
-+
-+    ospfIfBackupDesignatedRouter OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The  IP  Address  of  the  Backup   Designated
-+           Router."
-+       DEFVAL   { '00000000'H }    -- 0.0.0.0
-+       ::= { ospfIfEntry 14 }
-+
-+    ospfIfEvents OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of times this  OSPF  interface  has
-+           changed its state, or an error has occurred."
-+       ::= { ospfIfEntry 15 }
-+
-+
-+    ospfIfAuthKey OBJECT-TYPE
-+        SYNTAX   OCTET STRING (SIZE (0..256))
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The Authentication Key.  If the Area's Author-
-+           ization  Type  is  simplePassword,  and the key
-+           length is shorter than 8 octets, the agent will
-+           left adjust and zero fill to 8 octets.
-+
-+           Note that unauthenticated  interfaces  need  no
-+           authentication key, and simple password authen-
-+           tication cannot use a key of more  than  8  oc-
-+           tets.  Larger keys are useful only with authen-
-+           tication mechanisms not specified in this docu-
-+           ment.
-+
-+           When read, ospfIfAuthKey always returns an  Oc-
-+           tet String of length zero."
-+       REFERENCE
-+          "OSPF Version 2, Section 9  The  Interface  Data
-+          Structure"
-+      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
-+      ::= { ospfIfEntry 16 }
-+
-+    ospfIfStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfIfEntry 17 }
-+
-+
-+    ospfIfMulticastForwarding OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                            blocked (1),        -- no multicast forwarding
-+                            multicast (2),        -- using multicast address
-+                            unicast (3)        -- to each OSPF neighbor
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The way multicasts should  forwarded  on  this
-+           interface;  not  forwarded,  forwarded  as data
-+           link multicasts, or forwarded as data link uni-
-+           casts.   Data link multicasting is not meaning-
-+           ful on point to point and NBMA interfaces,  and
-+           setting ospfMulticastForwarding to 0 effective-
-+           ly disables all multicast forwarding."
-+       DEFVAL { blocked }
-+       ::= { ospfIfEntry 18 }
-+
-+
-+    ospfIfDemand OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "Indicates whether Demand OSPF procedures (hel-
-+           lo supression to FULL neighbors and setting the
-+           DoNotAge flag on proogated LSAs) should be per-
-+           formed on this interface."
-+       DEFVAL { false }
-+       ::= { ospfIfEntry 19 }
-+
-+
-+    ospfIfAuthType OBJECT-TYPE
-+        SYNTAX   INTEGER (0..255)
-+                    -- none (0),
-+                    -- simplePassword (1)
-+                    -- md5 (2)
-+                    -- reserved for specification by IANA (> 2)
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The authentication type specified for  an  in-
-+           terface.   Additional  authentication types may
-+           be assigned locally."
-+       REFERENCE
-+          "OSPF Version 2, Appendix E Authentication"
-+      DEFVAL { 0 }        -- no authentication, by default
-+      ::= { ospfIfEntry 20 }
-+
-+
-+--  OSPF Interface Metric Table
-+
-+--      The Metric Table describes the metrics to be advertised
-+--      for a specified interface at the various types of service.
-+--      As such, this table is an adjunct of the OSPF Interface
-+--      Table.
-+
-+-- Types of service, as defined by RFC 791, have the ability
-+-- to request low delay, high bandwidth, or reliable linkage.
-+
-+-- For the purposes of this specification, the measure of
-+-- bandwidth
-+
-+--      Metric = 10^8 / ifSpeed
-+
-+-- is the default value.  For multiple link interfaces, note
-+-- that ifSpeed is the sum of the individual link speeds.
-+-- This yields a number having the following typical values:
-+
-+--      Network Type/bit rate   Metric
-+
-+--      >= 100 MBPS                 1
-+--      Ethernet/802.3             10
-+--      E1                         48
-+--      T1 (ESF)                   65
-+--       64 KBPS                 1562
-+--       56 KBPS                 1785
-+--       19.2 KBPS               5208
-+--        9.6 KBPS              10416
-+
-+-- Routes that are not specified use the default (TOS 0) metric
-+
-+    ospfIfMetricTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfIfMetricEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The TOS metrics for  a  non-virtual  interface
-+           identified by the interface index."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.3  Router  interface
-+          parameters"
-+      ::= { ospf 8 }
-+
-+    ospfIfMetricEntry OBJECT-TYPE
-+        SYNTAX   OspfIfMetricEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A particular TOS metric for a non-virtual  in-
-+           terface identified by the interface index."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.3  Router  interface
-+          parameters"
-+      INDEX { ospfIfMetricIpAddress,
-+  ospfIfMetricAddressLessIf,
-+  ospfIfMetricTOS }
-+      ::= { ospfIfMetricTable 1 }
-+
-+OspfIfMetricEntry ::=
-+    SEQUENCE {
-+        ospfIfMetricIpAddress
-+            IpAddress,
-+        ospfIfMetricAddressLessIf
-+            Integer32,
-+        ospfIfMetricTOS
-+            TOSType,
-+        ospfIfMetricValue
-+            Metric,
-+        ospfIfMetricStatus
-+            RowStatus
-+              }
-+
-+    ospfIfMetricIpAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP address of this OSPF interface.  On row
-+           creation,  this  can  be  derived  from the in-
-+           stance."
-+       ::= { ospfIfMetricEntry 1 }
-+
-+    ospfIfMetricAddressLessIf OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "For the purpose of easing  the  instancing  of
-+           addressed   and  addressless  interfaces;  This
-+           variable takes the value 0 on  interfaces  with
-+           IP  Addresses, and the value of ifIndex for in-
-+           terfaces having no IP Address.   On  row  crea-
-+           tion, this can be derived from the instance."
-+       ::= { ospfIfMetricEntry 2 }
-+
-+
-+    ospfIfMetricTOS OBJECT-TYPE
-+        SYNTAX   TOSType
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The type of service metric  being  referenced.
-+           On  row  creation, this can be derived from the
-+           instance."
-+       ::= { ospfIfMetricEntry 3 }
-+
-+
-+    ospfIfMetricValue OBJECT-TYPE
-+        SYNTAX   Metric
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The metric of using this type  of  service  on
-+           this interface.  The default value of the TOS 0
-+           Metric is 10^8 / ifSpeed."
-+       ::= { ospfIfMetricEntry 4 }
-+
-+    ospfIfMetricStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfIfMetricEntry 5 }
-+
-+
-+--  OSPF Virtual Interface Table
-+
-+--      The Virtual Interface Table describes the virtual
-+--      links that the OSPF Process is configured to
-+--      carry on.
-+
-+    ospfVirtIfTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfVirtIfEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "Information about this router's virtual inter-
-+           faces."
-+       REFERENCE
-+          "OSPF Version  2,  Appendix  C.4   Virtual  link
-+          parameters"
-+      ::= { ospf 9 }
-+
-+
-+    ospfVirtIfEntry OBJECT-TYPE
-+        SYNTAX   OspfVirtIfEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "Information about a single Virtual Interface."
-+       INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor }
-+       ::= { ospfVirtIfTable 1 }
-+
-+OspfVirtIfEntry ::=
-+    SEQUENCE {
-+        ospfVirtIfAreaId
-+            AreaID,
-+        ospfVirtIfNeighbor
-+            RouterID,
-+        ospfVirtIfTransitDelay
-+            UpToMaxAge,
-+        ospfVirtIfRetransInterval
-+            UpToMaxAge,
-+        ospfVirtIfHelloInterval
-+            HelloRange,
-+        ospfVirtIfRtrDeadInterval
-+            PositiveInteger,
-+        ospfVirtIfState
-+            INTEGER,
-+        ospfVirtIfEvents
-+            Counter32,
-+        ospfVirtIfAuthType
-+            INTEGER,
-+        ospfVirtIfAuthKey
-+            OCTET STRING,
-+        ospfVirtIfStatus
-+            RowStatus
-+              }
-+
-+    ospfVirtIfAreaId OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The  Transit  Area  that  the   Virtual   Link
-+           traverses.  By definition, this is not 0.0.0.0"
-+       ::= { ospfVirtIfEntry 1 }
-+
-+
-+    ospfVirtIfNeighbor OBJECT-TYPE
-+        SYNTAX   RouterID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Router ID of the Virtual Neighbor."
-+       ::= { ospfVirtIfEntry 2 }
-+
-+
-+    ospfVirtIfTransitDelay OBJECT-TYPE
-+        SYNTAX   UpToMaxAge
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The estimated number of seconds  it  takes  to
-+           transmit  a link- state update packet over this
-+           interface."
-+       DEFVAL { 1 }
-+       ::= { ospfVirtIfEntry 3 }
-+
-+
-+    ospfVirtIfRetransInterval OBJECT-TYPE
-+        SYNTAX   UpToMaxAge
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of seconds between  link-state  ad-
-+           vertisement  retransmissions,  for  adjacencies
-+           belonging to this  interface.   This  value  is
-+           also used when retransmitting database descrip-
-+           tion  and  link-state  request  packets.   This
-+           value  should  be well over the expected round-
-+           trip time."
-+       DEFVAL { 5 }
-+       ::= { ospfVirtIfEntry 4 }
-+
-+
-+    ospfVirtIfHelloInterval OBJECT-TYPE
-+        SYNTAX   HelloRange
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The length of time, in  seconds,  between  the
-+           Hello  packets that the router sends on the in-
-+           terface.  This value must be the same  for  the
-+           virtual neighbor."
-+       DEFVAL { 10 }
-+       ::= { ospfVirtIfEntry 5 }
-+
-+
-+    ospfVirtIfRtrDeadInterval OBJECT-TYPE
-+        SYNTAX   PositiveInteger
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of seconds that  a  router's  Hello
-+           packets  have  not been seen before it's neigh-
-+           bors declare the router down.  This  should  be
-+           some  multiple  of  the  Hello  interval.  This
-+           value must be the same for the  virtual  neigh-
-+           bor."
-+       DEFVAL { 60 }
-+       ::= { ospfVirtIfEntry 6 }
-+
-+
-+    ospfVirtIfState OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    down (1),            -- these use the same encoding
-+                    pointToPoint (4)     -- as the ospfIfTable
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "OSPF virtual interface states."
-+       DEFVAL   { down }
-+       ::= { ospfVirtIfEntry 7 }
-+
-+
-+    ospfVirtIfEvents OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of state changes or error events on
-+           this Virtual Link"
-+       ::= { ospfVirtIfEntry 8 }
-+
-+
-+    ospfVirtIfAuthKey OBJECT-TYPE
-+        SYNTAX   OCTET STRING (SIZE(0..256))
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "If Authentication Type is simplePassword,  the
-+           device  will left adjust and zero fill to 8 oc-
-+           tets.
-+
-+           Note that unauthenticated  interfaces  need  no
-+           authentication key, and simple password authen-
-+           tication cannot use a key of more  than  8  oc-
-+           tets.  Larger keys are useful only with authen-
-+           tication mechanisms not specified in this docu-
-+           ment.
-+
-+           When  read,  ospfVifAuthKey  always  returns  a
-+           string of length zero."
-+       REFERENCE
-+          "OSPF Version 2, Section 9  The  Interface  Data
-+          Structure"
-+      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
-+      ::= { ospfVirtIfEntry 9 }
-+
-+
-+    ospfVirtIfStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfVirtIfEntry 10 }
-+
-+
-+    ospfVirtIfAuthType OBJECT-TYPE
-+        SYNTAX   INTEGER (0..255)
-+                    -- none (0),
-+                    -- simplePassword (1)
-+                    -- md5 (2)
-+                    -- reserved for specification by IANA (> 2)
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The authentication type specified for a virtu-
-+           al  interface.  Additional authentication types
-+           may be assigned locally."
-+       REFERENCE
-+          "OSPF Version 2, Appendix E Authentication"
-+      DEFVAL { 0 }        -- no authentication, by default
-+      ::= { ospfVirtIfEntry 11 }
-+
-+
-+--  OSPF Neighbor Table
-+
-+--      The OSPF Neighbor Table describes all neighbors in
-+--      the locality of the subject router.
-+
-+    ospfNbrTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfNbrEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A table of non-virtual neighbor information."
-+       REFERENCE
-+          "OSPF Version 2, Section 10  The  Neighbor  Data
-+          Structure"
-+      ::= { ospf 10 }
-+
-+
-+    ospfNbrEntry OBJECT-TYPE
-+        SYNTAX   OspfNbrEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The information regarding a single neighbor."
-+       REFERENCE
-+          "OSPF Version 2, Section 10  The  Neighbor  Data
-+          Structure"
-+      INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex }
-+      ::= { ospfNbrTable 1 }
-+
-+OspfNbrEntry ::=
-+    SEQUENCE {
-+        ospfNbrIpAddr
-+            IpAddress,
-+        ospfNbrAddressLessIndex
-+            InterfaceIndex,
-+        ospfNbrRtrId
-+            RouterID,
-+        ospfNbrOptions
-+            Integer32,
-+        ospfNbrPriority
-+            DesignatedRouterPriority,
-+        ospfNbrState
-+            INTEGER,
-+        ospfNbrEvents
-+            Counter32,
-+        ospfNbrLsRetransQLen
-+            Gauge32,
-+        ospfNbmaNbrStatus
-+            RowStatus,
-+        ospfNbmaNbrPermanence
-+            INTEGER,
-+        ospfNbrHelloSuppressed
-+            TruthValue
-+              }
-+
-+    ospfNbrIpAddr OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP address this neighbor is using  in  its
-+           IP  Source  Address.  Note that, on addressless
-+           links, this will not be 0.0.0.0,  but  the  ad-
-+           dress of another of the neighbor's interfaces."
-+       ::= { ospfNbrEntry 1 }
-+
-+
-+    ospfNbrAddressLessIndex OBJECT-TYPE
-+        SYNTAX   InterfaceIndex
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "On an interface having an  IP  Address,  zero.
-+           On  addressless  interfaces,  the corresponding
-+           value of ifIndex in the Internet Standard  MIB.
-+           On  row  creation, this can be derived from the
-+           instance."
-+       ::= { ospfNbrEntry 2 }
-+
-+
-+    ospfNbrRtrId OBJECT-TYPE
-+        SYNTAX   RouterID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "A 32-bit integer (represented as a type  IpAd-
-+           dress)  uniquely  identifying  the  neighboring
-+           router in the Autonomous System."
-+       DEFVAL   { '00000000'H }    -- 0.0.0.0
-+       ::= { ospfNbrEntry 3 }
-+
-+
-+    ospfNbrOptions OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "A Bit Mask corresponding to the neighbor's op-
-+           tions field.
-+
-+           Bit 0, if set, indicates that the  system  will
-+           operate  on  Type of Service metrics other than
-+           TOS 0.  If zero, the neighbor will  ignore  all
-+           metrics except the TOS 0 metric.
-+
-+           Bit 1, if set, indicates  that  the  associated
-+           area  accepts and operates on external informa-
-+           tion; if zero, it is a stub area.
-+
-+           Bit 2, if set, indicates that the system is ca-
-+           pable  of routing IP Multicast datagrams; i.e.,
-+           that it implements the Multicast Extensions  to
-+           OSPF.
-+
-+           Bit 3, if set, indicates  that  the  associated
-+           area  is  an  NSSA.  These areas are capable of
-+           carrying type 7 external advertisements,  which
-+           are  translated into type 5 external advertise-
-+           ments at NSSA borders."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.2 Options"
-+      DEFVAL { 0 }
-+      ::= { ospfNbrEntry 4 }
-+
-+
-+    ospfNbrPriority OBJECT-TYPE
-+        SYNTAX   DesignatedRouterPriority
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The priority of this neighbor in the designat-
-+           ed router election algorithm.  The value 0 sig-
-+           nifies that the neighbor is not eligible to be-
-+           come  the  designated router on this particular
-+           network."
-+       DEFVAL { 1 }
-+       ::= { ospfNbrEntry 5 }
-+
-+
-+    ospfNbrState OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    down (1),
-+                    attempt (2),
-+                    init (3),
-+                    twoWay (4),
-+                    exchangeStart (5),
-+                    exchange (6),
-+                    loading (7),
-+                    full (8)
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The State of the relationship with this Neigh-
-+           bor."
-+       REFERENCE
-+          "OSPF Version 2, Section 10.1 Neighbor States"
-+      DEFVAL   { down }
-+      ::= { ospfNbrEntry 6 }
-+
-+
-+    ospfNbrEvents OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of times this neighbor relationship
-+           has changed state, or an error has occurred."
-+       ::= { ospfNbrEntry 7 }
-+
-+
-+    ospfNbrLsRetransQLen OBJECT-TYPE
-+        SYNTAX   Gauge32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The  current  length  of  the   retransmission
-+           queue."
-+       ::= { ospfNbrEntry 8 }
-+
-+
-+    ospfNbmaNbrStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfNbrEntry 9 }
-+
-+
-+    ospfNbmaNbrPermanence OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    dynamic (1),        -- learned through protocol
-+                    permanent (2)       -- configured address
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.   'dynamic'  and  'permanent' refer to how
-+           the neighbor became known."
-+       DEFVAL { permanent }
-+       ::= { ospfNbrEntry 10 }
-+
-+
-+    ospfNbrHelloSuppressed OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "Indicates whether Hellos are being  suppressed
-+           to the neighbor"
-+       ::= { ospfNbrEntry 11 }
-+
-+
-+--  OSPF Virtual Neighbor Table
-+
-+--      This table describes all virtual neighbors.
-+--      Since Virtual Links are configured in the
-+--      virtual interface table, this table is read-only.
-+
-+    ospfVirtNbrTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfVirtNbrEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A table of virtual neighbor information."
-+       REFERENCE
-+          "OSPF Version 2, Section 15  Virtual Links"
-+      ::= { ospf 11 }
-+
-+
-+    ospfVirtNbrEntry OBJECT-TYPE
-+        SYNTAX   OspfVirtNbrEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "Virtual neighbor information."
-+       INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId }
-+       ::= { ospfVirtNbrTable 1 }
-+
-+OspfVirtNbrEntry ::=
-+    SEQUENCE {
-+        ospfVirtNbrArea
-+            AreaID,
-+        ospfVirtNbrRtrId
-+            RouterID,
-+        ospfVirtNbrIpAddr
-+            IpAddress,
-+        ospfVirtNbrOptions
-+            Integer32,
-+        ospfVirtNbrState
-+            INTEGER,
-+        ospfVirtNbrEvents
-+            Counter32,
-+        ospfVirtNbrLsRetransQLen
-+            Gauge32,
-+        ospfVirtNbrHelloSuppressed
-+                TruthValue
-+              }
-+
-+    ospfVirtNbrArea OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Transit Area Identifier."
-+       ::= { ospfVirtNbrEntry 1 }
-+
-+
-+    ospfVirtNbrRtrId OBJECT-TYPE
-+        SYNTAX   RouterID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "A  32-bit  integer  uniquely  identifying  the
-+           neighboring router in the Autonomous System."
-+       ::= { ospfVirtNbrEntry 2 }
-+
-+
-+    ospfVirtNbrIpAddr OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP address this Virtual  Neighbor  is  us-
-+           ing."
-+       ::= { ospfVirtNbrEntry 3 }
-+
-+
-+    ospfVirtNbrOptions OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "A Bit Mask corresponding to the neighbor's op-
-+           tions field.
-+
-+           Bit 1, if set, indicates that the  system  will
-+           operate  on  Type of Service metrics other than
-+           TOS 0.  If zero, the neighbor will  ignore  all
-+           metrics except the TOS 0 metric.
-+
-+           Bit 2, if set, indicates  that  the  system  is
-+           Network  Multicast  capable; ie, that it imple-
-+           ments OSPF Multicast Routing."
-+       ::= { ospfVirtNbrEntry 4 }
-+    ospfVirtNbrState OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    down (1),
-+                    attempt (2),
-+                    init (3),
-+                    twoWay (4),
-+                    exchangeStart (5),
-+                    exchange (6),
-+                    loading (7),
-+                    full (8)
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The state of the  Virtual  Neighbor  Relation-
-+           ship."
-+       ::= { ospfVirtNbrEntry 5 }
-+
-+
-+    ospfVirtNbrEvents OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of  times  this  virtual  link  has
-+           changed its state, or an error has occurred."
-+       ::= { ospfVirtNbrEntry 6 }
-+
-+
-+    ospfVirtNbrLsRetransQLen OBJECT-TYPE
-+        SYNTAX   Gauge32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The  current  length  of  the   retransmission
-+           queue."
-+       ::= { ospfVirtNbrEntry 7 }
-+
-+
-+    ospfVirtNbrHelloSuppressed OBJECT-TYPE
-+        SYNTAX   TruthValue
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "Indicates whether Hellos are being  suppressed
-+           to the neighbor"
-+       ::= { ospfVirtNbrEntry 8 }
-+
-+--  OSPF Link State Database, External
-+
-+--      The Link State Database contains the Link State
-+--      Advertisements from throughout the areas that the
-+--      device is attached to.
-+
-+--             This table is identical to the OSPF LSDB Table in
-+--      format, but contains only External Link State
-+--             Advertisements.  The purpose is to allow external
-+--      LSAs to be displayed once for the router rather
-+--      than once in each non-stub area.
-+
-+    ospfExtLsdbTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfExtLsdbEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "The OSPF Process's Links State Database."
-+       REFERENCE
-+          "OSPF Version 2, Section 12  Link  State  Adver-
-+          tisements"
-+      ::= { ospf 12 }
-+
-+
-+    ospfExtLsdbEntry OBJECT-TYPE
-+        SYNTAX   OspfExtLsdbEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A single Link State Advertisement."
-+       INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId }
-+       ::= { ospfExtLsdbTable 1 }
-+
-+OspfExtLsdbEntry ::=
-+    SEQUENCE {
-+        ospfExtLsdbType
-+            INTEGER,
-+        ospfExtLsdbLsid
-+            IpAddress,
-+        ospfExtLsdbRouterId
-+            RouterID,
-+        ospfExtLsdbSequence
-+            Integer32,
-+        ospfExtLsdbAge
-+            Integer32,
-+        ospfExtLsdbChecksum
-+            Integer32,
-+        ospfExtLsdbAdvertisement
-+            OCTET STRING
-+              }
-+
-+    ospfExtLsdbType OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    asExternalLink (5)
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The type  of  the  link  state  advertisement.
-+           Each  link state type has a separate advertise-
-+           ment format."
-+       REFERENCE
-+          "OSPF Version 2, Appendix A.4.1 The  Link  State
-+          Advertisement header"
-+      ::= { ospfExtLsdbEntry 1 }
-+
-+
-+    ospfExtLsdbLsid OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Link State ID is an LS Type Specific field
-+           containing either a Router ID or an IP Address;
-+           it identifies the piece of the  routing  domain
-+           that is being described by the advertisement."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.4 Link State ID"
-+      ::= { ospfExtLsdbEntry 2 }
-+
-+
-+    ospfExtLsdbRouterId OBJECT-TYPE
-+        SYNTAX   RouterID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The 32 bit number that uniquely identifies the
-+           originating router in the Autonomous System."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.1 Global parameters"
-+      ::= { ospfExtLsdbEntry 3 }
-+
-+--  Note that the OSPF Sequence Number is a 32 bit signed
-+--  integer.  It starts with the value '80000001'h,
-+--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
-+--  Thus, a typical sequence number will be very negative.
-+    ospfExtLsdbSequence OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The sequence number field is a  signed  32-bit
-+           integer.   It  is used to detect old and dupli-
-+           cate link state advertisements.  The  space  of
-+           sequence  numbers  is  linearly  ordered.   The
-+           larger the sequence number the more recent  the
-+           advertisement."
-+       REFERENCE
-+          "OSPF Version  2,  Section  12.1.6  LS  sequence
-+          number"
-+      ::= { ospfExtLsdbEntry 4 }
-+
-+
-+    ospfExtLsdbAge OBJECT-TYPE
-+        SYNTAX   Integer32    -- Should be 0..MaxAge
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "This field is the age of the link state adver-
-+           tisement in seconds."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.1 LS age"
-+      ::= { ospfExtLsdbEntry 5 }
-+
-+
-+    ospfExtLsdbChecksum OBJECT-TYPE
-+        SYNTAX   Integer32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "This field is the  checksum  of  the  complete
-+           contents  of  the  advertisement, excepting the
-+           age field.  The age field is excepted  so  that
-+           an   advertisement's  age  can  be  incremented
-+           without updating the  checksum.   The  checksum
-+           used  is  the same that is used for ISO connec-
-+           tionless datagrams; it is commonly referred  to
-+           as the Fletcher checksum."
-+       REFERENCE
-+          "OSPF Version 2, Section 12.1.7 LS checksum"
-+      ::= { ospfExtLsdbEntry 6 }
-+
-+
-+    ospfExtLsdbAdvertisement OBJECT-TYPE
-+        SYNTAX   OCTET STRING (SIZE(36))
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The entire Link State Advertisement, including
-+           its header."
-+       REFERENCE
-+          "OSPF Version 2, Section 12  Link  State  Adver-
-+          tisements"
-+      ::= { ospfExtLsdbEntry 7 }
-+
-+
-+--  OSPF Use of the CIDR Route Table
-+
-+ospfRouteGroup           OBJECT IDENTIFIER ::= { ospf 13 }
-+
-+-- The IP Forwarding Table defines a number of objects for use by
-+-- the routing protocol to externalize its information.  Most of
-+-- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
-+-- ipForwardNextHop, ipForwardIfIndex, ipForwardType,
-+-- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
-+-- defined there.
-+
-+-- Those that leave some discretion are defined here.
-+
-+-- ipCidrRouteProto is, of course, ospf (13).
-+
-+-- ipCidrRouteAge is the time since the route was first calculated,
-+-- as opposed to the time since the last SPF run.
-+
-+-- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing
-+-- protocol.  The following values shall be found there depending
-+-- on the way the route was calculated.
-+
-+ospfIntraArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 1 }
-+ospfInterArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 2 }
-+ospfExternalType1  OBJECT IDENTIFIER ::= { ospfRouteGroup 3 }
-+ospfExternalType2  OBJECT IDENTIFIER ::= { ospfRouteGroup 4 }
-+
-+-- ipCidrRouteMetric1 is, by definition, the primary routing
-+-- metric.  Therefore, it should be the metric that route
-+-- selection is based on.  For intra-area and inter-area routes,
-+-- it is an OSPF metric.  For External Type 1 (comparable value)
-+-- routes, it is an OSPF metric plus the External Metric.  For
-+-- external Type 2 (non-comparable value) routes, it is the
-+-- external metric.
-+
-+-- ipCidrRouteMetric2 is, by definition, a secondary routing
-+-- metric.  Therefore, it should be the metric that breaks a tie
-+-- among routes having equal metric1 values and the same
-+-- calculation rule.  For intra-area, inter-area routes, and
-+-- External Type 1 (comparable value) routes, it is unused.  For
-+-- external Type 2 (non-comparable value) routes, it is the metric
-+-- to the AS border router.
-+
-+-- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 are
-+-- unused.
-+
-+--
-+--      The OSPF Area Aggregate Table
-+--
-+--      This table replaces the OSPF Area Summary Table, being an
-+--      extension of that for CIDR routers.
-+
-+    ospfAreaAggregateTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF OspfAreaAggregateEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A range of IP addresses  specified  by  an  IP
-+           address/IP  network  mask  pair.   For example,
-+           class B address range of X.X.X.X with a network
-+           mask  of  255.255.0.0 includes all IP addresses
-+           from X.X.0.0  to  X.X.255.255.   Note  that  if
-+           ranges  are configured such that one range sub-
-+           sumes  another  range  (e.g.,   10.0.0.0   mask
-+           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
-+           most specific match is the preferred one."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2  Area parameters"
-+      ::= { ospf 14 }
-+
-+
-+    ospfAreaAggregateEntry OBJECT-TYPE
-+        SYNTAX   OspfAreaAggregateEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A range of IP addresses  specified  by  an  IP
-+           address/IP  network  mask  pair.   For example,
-+           class B address range of X.X.X.X with a network
-+           mask  of  255.255.0.0 includes all IP addresses
-+           from X.X.0.0  to  X.X.255.255.   Note  that  if
-+           ranges are range configured such that one range
-+           subsumes another  range  (e.g.,  10.0.0.0  mask
-+           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
-+           most specific match is the preferred one."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2  Area parameters"
-+      INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType,
-+              ospfAreaAggregateNet, ospfAreaAggregateMask }
-+      ::= { ospfAreaAggregateTable 1 }
-+
-+
-+OspfAreaAggregateEntry ::=
-+    SEQUENCE {
-+        ospfAreaAggregateAreaID
-+            AreaID,
-+        ospfAreaAggregateLsdbType
-+            INTEGER,
-+        ospfAreaAggregateNet
-+            IpAddress,
-+        ospfAreaAggregateMask
-+            IpAddress,
-+        ospfAreaAggregateStatus
-+            RowStatus,
-+        ospfAreaAggregateEffect
-+            INTEGER
-+              }
-+
-+    ospfAreaAggregateAreaID OBJECT-TYPE
-+        SYNTAX   AreaID
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Area the Address Aggregate is to be  found
-+           within."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaAggregateEntry 1 }
-+
-+
-+    ospfAreaAggregateLsdbType OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    summaryLink (3),
-+                    nssaExternalLink (7)
-+                  }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The type of the Address Aggregate.  This field
-+           specifies  the  Lsdb type that this Address Ag-
-+           gregate applies to."
-+       REFERENCE
-+          "OSPF Version 2, Appendix A.4.1 The  Link  State
-+          Advertisement header"
-+      ::= { ospfAreaAggregateEntry 2 }
-+
-+
-+    ospfAreaAggregateNet OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address of the Net or Subnet  indicated
-+           by the range."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaAggregateEntry 3 }
-+
-+
-+    ospfAreaAggregateMask OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The Subnet Mask that pertains to  the  Net  or
-+           Subnet."
-+       REFERENCE
-+          "OSPF Version 2, Appendix C.2 Area parameters"
-+      ::= { ospfAreaAggregateEntry 4 }
-+
-+
-+    ospfAreaAggregateStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable displays the status of  the  en-
-+           try.  Setting it to 'invalid' has the effect of
-+           rendering it inoperative.  The internal  effect
-+           (row removal) is implementation dependent."
-+       ::= { ospfAreaAggregateEntry 5 }
-+
-+
-+    ospfAreaAggregateEffect OBJECT-TYPE
-+        SYNTAX   INTEGER    {
-+                    advertiseMatching (1),
-+                    doNotAdvertiseMatching (2)
-+                  }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "Subnets subsumed by ranges either trigger  the
-+           advertisement  of  the indicated aggregate (ad-
-+           vertiseMatching), or result in the subnet's not
-+           being advertised at all outside the area."
-+       DEFVAL   { advertiseMatching }
-+       ::= { ospfAreaAggregateEntry 6 }
-+
-+
-+-- conformance information
-+
-+ospfConformance OBJECT IDENTIFIER ::= { ospf 15 }
-+
-+ospfGroups      OBJECT IDENTIFIER ::= { ospfConformance 1 }
-+ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 }
-+
-+-- compliance statements
-+
-+    ospfCompliance MODULE-COMPLIANCE
-+        STATUS  current
-+        DESCRIPTION
-+           "The compliance statement "
-+       MODULE  -- this module
-+       MANDATORY-GROUPS {
-+                    ospfBasicGroup,
-+                    ospfAreaGroup,
-+                    ospfStubAreaGroup,
-+                    ospfIfGroup,
-+                    ospfIfMetricGroup,
-+                    ospfVirtIfGroup,
-+                    ospfNbrGroup,
-+                    ospfVirtNbrGroup,
-+                    ospfAreaAggregateGroup
-+           }
-+       ::= { ospfCompliances 1 }
-+
-+
-+-- units of conformance
-+
-+    ospfBasicGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfRouterId,
-+                    ospfAdminStat,
-+                    ospfVersionNumber,
-+                    ospfAreaBdrRtrStatus,
-+                    ospfASBdrRtrStatus,
-+                    ospfExternLsaCount,
-+                    ospfExternLsaCksumSum,
-+                    ospfTOSSupport,
-+                    ospfOriginateNewLsas,
-+                    ospfRxNewLsas,
-+                    ospfExtLsdbLimit,
-+                    ospfMulticastExtensions,
-+                    ospfExitOverflowInterval,
-+                    ospfDemandExtensions
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 1 }
-+
-+
-+    ospfAreaGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfAreaId,
-+                    ospfImportAsExtern,
-+                    ospfSpfRuns,
-+                    ospfAreaBdrRtrCount,
-+                    ospfAsBdrRtrCount,
-+                    ospfAreaLsaCount,
-+                    ospfAreaLsaCksumSum,
-+                    ospfAreaSummary,
-+                    ospfAreaStatus
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required  for  OSPF  systems
-+           supporting areas."
-+       ::= { ospfGroups 2 }
-+
-+
-+    ospfStubAreaGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfStubAreaId,
-+                    ospfStubTOS,
-+                    ospfStubMetric,
-+                    ospfStubStatus,
-+                    ospfStubMetricType
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required  for  OSPF  systems
-+           supporting stub areas."
-+       ::= { ospfGroups 3 }
-+
-+
-+    ospfLsdbGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfLsdbAreaId,
-+                    ospfLsdbType,
-+                    ospfLsdbLsid,
-+                    ospfLsdbRouterId,
-+                    ospfLsdbSequence,
-+                    ospfLsdbAge,
-+                    ospfLsdbChecksum,
-+                    ospfLsdbAdvertisement
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required  for  OSPF  systems
-+           that display their link state database."
-+       ::= { ospfGroups 4 }
-+
-+
-+    ospfAreaRangeGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfAreaRangeAreaId,
-+                    ospfAreaRangeNet,
-+                    ospfAreaRangeMask,
-+                    ospfAreaRangeStatus,
-+                    ospfAreaRangeEffect
-+        }
-+        STATUS  obsolete
-+        DESCRIPTION
-+           "These objects are required for  non-CIDR  OSPF
-+           systems that support multiple areas."
-+       ::= { ospfGroups 5 }
-+
-+
-+    ospfHostGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfHostIpAddress,
-+                    ospfHostTOS,
-+                    ospfHostMetric,
-+                    ospfHostStatus,
-+                    ospfHostAreaID
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required  for  OSPF  systems
-+           that support attached hosts."
-+       ::= { ospfGroups 6 }
-+
-+
-+    ospfIfGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfIfIpAddress,
-+                    ospfAddressLessIf,
-+                    ospfIfAreaId,
-+                    ospfIfType,
-+                    ospfIfAdminStat,
-+                    ospfIfRtrPriority,
-+                    ospfIfTransitDelay,
-+                    ospfIfRetransInterval,
-+                    ospfIfHelloInterval,
-+                    ospfIfRtrDeadInterval,
-+                    ospfIfPollInterval,
-+                    ospfIfState,
-+                    ospfIfDesignatedRouter,
-+                    ospfIfBackupDesignatedRouter,
-+                    ospfIfEvents,
-+                    ospfIfAuthType,
-+                    ospfIfAuthKey,
-+                    ospfIfStatus,
-+                    ospfIfMulticastForwarding,
-+                    ospfIfDemand
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 7 }
-+
-+
-+    ospfIfMetricGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfIfMetricIpAddress,
-+                    ospfIfMetricAddressLessIf,
-+                    ospfIfMetricTOS,
-+                    ospfIfMetricValue,
-+                    ospfIfMetricStatus
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 8 }
-+
-+
-+    ospfVirtIfGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfVirtIfAreaId,
-+                    ospfVirtIfNeighbor,
-+                    ospfVirtIfTransitDelay,
-+                    ospfVirtIfRetransInterval,
-+                    ospfVirtIfHelloInterval,
-+                    ospfVirtIfRtrDeadInterval,
-+                    ospfVirtIfState,
-+                    ospfVirtIfEvents,
-+                    ospfVirtIfAuthType,
-+                    ospfVirtIfAuthKey,
-+                    ospfVirtIfStatus
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 9 }
-+
-+
-+    ospfNbrGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfNbrIpAddr,
-+                    ospfNbrAddressLessIndex,
-+                    ospfNbrRtrId,
-+                    ospfNbrOptions,
-+                    ospfNbrPriority,
-+                    ospfNbrState,
-+                    ospfNbrEvents,
-+                    ospfNbrLsRetransQLen,
-+                    ospfNbmaNbrStatus,
-+                    ospfNbmaNbrPermanence,
-+                    ospfNbrHelloSuppressed
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 10 }
-+
-+
-+    ospfVirtNbrGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfVirtNbrArea,
-+                    ospfVirtNbrRtrId,
-+                    ospfVirtNbrIpAddr,
-+                    ospfVirtNbrOptions,
-+                    ospfVirtNbrState,
-+                    ospfVirtNbrEvents,
-+                    ospfVirtNbrLsRetransQLen,
-+                    ospfVirtNbrHelloSuppressed
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 11 }
-+
-+
-+    ospfExtLsdbGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfExtLsdbType,
-+                    ospfExtLsdbLsid,
-+                    ospfExtLsdbRouterId,
-+                    ospfExtLsdbSequence,
-+                    ospfExtLsdbAge,
-+                    ospfExtLsdbChecksum,
-+                    ospfExtLsdbAdvertisement
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required  for  OSPF  systems
-+           that display their link state database."
-+       ::= { ospfGroups 12 }
-+
-+
-+    ospfAreaAggregateGroup    OBJECT-GROUP
-+        OBJECTS {
-+                    ospfAreaAggregateAreaID,
-+                    ospfAreaAggregateLsdbType,
-+                    ospfAreaAggregateNet,
-+                    ospfAreaAggregateMask,
-+                    ospfAreaAggregateStatus,
-+                    ospfAreaAggregateEffect
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required for OSPF systems."
-+       ::= { ospfGroups 13 }
-+
-+END
-diff -ruN net-snmp-5.1.2-orig/mibs/OSPF-TRAP-MIB.txt net-snmp-5.1.2-5/mibs/OSPF-TRAP-MIB.txt
---- net-snmp-5.1.2-orig/mibs/OSPF-TRAP-MIB.txt 1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/OSPF-TRAP-MIB.txt    2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,443 @@
-+OSPF-TRAP-MIB DEFINITIONS ::= BEGIN
-+
-+    IMPORTS
-+            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress
-+                FROM SNMPv2-SMI
-+            MODULE-COMPLIANCE, OBJECT-GROUP
-+                FROM SNMPv2-CONF
-+            ospfRouterId, ospfIfIpAddress, ospfAddressLessIf, ospfIfState,
-+            ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState,
-+            ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId,
-+            ospfNbrState, ospfVirtNbrArea, ospfVirtNbrRtrId, ospfVirtNbrState,
-+            ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId, ospfLsdbAreaId,
-+            ospfExtLsdbLimit, ospf
-+                FROM OSPF-MIB;
-+
-+    ospfTrap MODULE-IDENTITY
-+           LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
-+           ORGANIZATION "IETF OSPF Working Group"
-+           CONTACT-INFO
-+           "                      Fred Baker
-+           Postal:                Cisco Systems
-+                                  519 Lado Drive
-+                                  Santa Barbara, California 93111
-+           Tel:                   +1 805 681 0115
-+           E-Mail:                fred@cisco.com
-+
-+                                  Rob Coltun
-+           Postal:                RainbowBridge Communications
-+           Tel:                   (301) 340-9416
-+           E-Mail:                rcoltun@rainbow-bridge.com"
-+       DESCRIPTION
-+          "The MIB module to describe traps for  the  OSPF
-+          Version 2 Protocol."
-+      ::= { ospf 16 }
-+
-+-- Trap Support Objects
-+
-+--         The following are support objects for the OSPF traps.
-+
-+ospfTrapControl OBJECT IDENTIFIER ::= { ospfTrap 1 }
-+ospfTraps OBJECT IDENTIFIER ::= { ospfTrap 2 }
-+
-+    ospfSetTrap OBJECT-TYPE
-+        SYNTAX   OCTET STRING (SIZE(4))
-+        MAX-ACCESS   read-write
-+        STATUS   current
-+        DESCRIPTION
-+           "A four-octet string serving as a bit  map  for
-+           the trap events defined by the OSPF traps. This
-+           object is used to enable and  disable  specific
-+           OSPF   traps   where  a  1  in  the  bit  field
-+           represents enabled.  The right-most bit  (least
-+           significant) represents trap 0."
-+       ::= { ospfTrapControl 1 }
-+
-+
-+    ospfConfigErrorType OBJECT-TYPE
-+        SYNTAX   INTEGER   {
-+                    badVersion (1),
-+                    areaMismatch (2),
-+                    unknownNbmaNbr (3), -- Router is Dr eligible
-+                    unknownVirtualNbr (4),
-+                    authTypeMismatch(5),
-+                    authFailure (6),
-+                    netMaskMismatch (7),
-+                    helloIntervalMismatch (8),
-+                    deadIntervalMismatch (9),
-+                    optionMismatch (10) }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "Potential types  of  configuration  conflicts.
-+           Used  by the ospfConfigError and ospfConfigVir-
-+           tError traps."
-+   ::= { ospfTrapControl 2 }
-+
-+
-+    ospfPacketType OBJECT-TYPE
-+        SYNTAX   INTEGER   {
-+                    hello (1),
-+                    dbDescript (2),
-+                    lsReq (3),
-+                    lsUpdate (4),
-+                    lsAck (5) }
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "OSPF packet types."
-+   ::= { ospfTrapControl 3 }
-+
-+
-+    ospfPacketSrc OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP address of an inbound packet that  can-
-+           not be identified by a neighbor instance."
-+       ::= { ospfTrapControl 4 }
-+
-+
-+-- Traps
-+
-+
-+    ospfIfStateChange NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfIfIpAddress,
-+                    ospfAddressLessIf,
-+                    ospfIfState   -- The new state
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfIfStateChange trap signifies that there
-+           has been a change in the state of a non-virtual
-+           OSPF interface. This trap should  be  generated
-+           when  the interface state regresses (e.g., goes
-+           from Dr to Down) or progresses  to  a  terminal
-+           state  (i.e.,  Point-to-Point, DR Other, Dr, or
-+           Backup)."
-+   ::= { ospfTraps 16 }
-+
-+
-+    ospfVirtIfStateChange NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfVirtIfAreaId,
-+                    ospfVirtIfNeighbor,
-+                    ospfVirtIfState  -- The new state
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfIfStateChange trap signifies that there
-+           has  been a change in the state of an OSPF vir-
-+           tual interface.
-+           This trap should be generated when  the  inter-
-+           face  state  regresses  (e.g., goes from Point-
-+           to-Point to Down) or progresses to  a  terminal
-+           state (i.e., Point-to-Point)."
-+   ::= { ospfTraps 1 }
-+
-+
-+    ospfNbrStateChange NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfNbrIpAddr,
-+                    ospfNbrAddressLessIndex,
-+                    ospfNbrRtrId,
-+                    ospfNbrState  -- The new state
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An  ospfNbrStateChange  trap  signifies   that
-+           there  has been a change in the state of a non-
-+           virtual OSPF neighbor.   This  trap  should  be
-+           generated  when  the  neighbor  state regresses
-+           (e.g., goes from Attempt or Full  to  1-Way  or
-+           Down)  or progresses to a terminal state (e.g.,
-+           2-Way or Full).  When an  neighbor  transitions
-+           from  or  to Full on non-broadcast multi-access
-+           and broadcast networks, the trap should be gen-
-+           erated  by the designated router.  A designated
-+           router transitioning to Down will be  noted  by
-+           ospfIfStateChange."
-+   ::= { ospfTraps 2 }
-+
-+
-+    ospfVirtNbrStateChange NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfVirtNbrArea,
-+                    ospfVirtNbrRtrId,
-+                    ospfVirtNbrState  -- The new state
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfIfStateChange trap signifies that there
-+           has  been a change in the state of an OSPF vir-
-+           tual neighbor.  This trap should  be  generated
-+           when  the  neighbor state regresses (e.g., goes
-+           from Attempt or  Full  to  1-Way  or  Down)  or
-+           progresses to a terminal state (e.g., Full)."
-+   ::= { ospfTraps 3 }
-+    ospfIfConfigError NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfIfIpAddress,
-+                    ospfAddressLessIf,
-+                    ospfPacketSrc,  -- The source IP address
-+                    ospfConfigErrorType, -- Type of error
-+                    ospfPacketType
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfIfConfigError  trap  signifies  that  a
-+           packet  has  been received on a non-virtual in-
-+           terface  from  a  router  whose   configuration
-+           parameters  conflict  with this router's confi-
-+           guration parameters.  Note that the  event  op-
-+           tionMismatch  should  cause  a  trap only if it
-+           prevents an adjacency from forming."
-+                  ::= { ospfTraps 4 }
-+
-+
-+    ospfVirtIfConfigError NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfVirtIfAreaId,
-+                    ospfVirtIfNeighbor,
-+                    ospfConfigErrorType, -- Type of error
-+                    ospfPacketType
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfConfigError trap signifies that a pack-
-+           et  has  been  received  on a virtual interface
-+           from a router  whose  configuration  parameters
-+           conflict   with   this  router's  configuration
-+           parameters.  Note that the event optionMismatch
-+           should  cause a trap only if it prevents an ad-
-+           jacency from forming."
-+   ::= { ospfTraps 5 }
-+
-+
-+    ospfIfAuthFailure NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfIfIpAddress,
-+                    ospfAddressLessIf,
-+                    ospfPacketSrc,  -- The source IP address
-+                    ospfConfigErrorType, -- authTypeMismatch or
-+                                         -- authFailure
-+                    ospfPacketType
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfIfAuthFailure  trap  signifies  that  a
-+           packet  has  been received on a non-virtual in-
-+           terface from a router whose authentication  key
-+           or  authentication  type  conflicts  with  this
-+           router's authentication key  or  authentication
-+           type."
-+   ::= { ospfTraps 6 }
-+
-+
-+    ospfVirtIfAuthFailure NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfVirtIfAreaId,
-+                    ospfVirtIfNeighbor,
-+                    ospfConfigErrorType, -- authTypeMismatch or
-+                                         -- authFailure
-+                    ospfPacketType
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfVirtIfAuthFailure trap signifies that a
-+           packet has been received on a virtual interface
-+           from a router whose authentication key  or  au-
-+           thentication  type conflicts with this router's
-+           authentication key or authentication type."
-+   ::= { ospfTraps 7 }
-+
-+
-+    ospfIfRxBadPacket NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfIfIpAddress,
-+                    ospfAddressLessIf,
-+                    ospfPacketSrc,  -- The source IP address
-+                    ospfPacketType
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfIfRxBadPacket trap  signifies  that  an
-+           OSPF  packet has been received on a non-virtual
-+           interface that cannot be parsed."
-+   ::= { ospfTraps 8 }
-+
-+    ospfVirtIfRxBadPacket NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfVirtIfAreaId,
-+                    ospfVirtIfNeighbor,
-+                    ospfPacketType
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfRxBadPacket trap signifies that an OSPF
-+           packet has been received on a virtual interface
-+           that cannot be parsed."
-+   ::= { ospfTraps 9 }
-+
-+
-+    ospfTxRetransmit NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfIfIpAddress,
-+                    ospfAddressLessIf,
-+                    ospfNbrRtrId, -- Destination
-+                    ospfPacketType,
-+                    ospfLsdbType,
-+                    ospfLsdbLsid,
-+                    ospfLsdbRouterId
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfTxRetransmit  trap  signifies  than  an
-+           OSPF  packet  has  been retransmitted on a non-
-+           virtual interface.  All packets that may be re-
-+           transmitted  are associated with an LSDB entry.
-+           The LS type, LS ID, and Router ID are  used  to
-+           identify the LSDB entry."
-+   ::= { ospfTraps 10 }
-+
-+
-+    ospfVirtIfTxRetransmit NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfVirtIfAreaId,
-+                    ospfVirtIfNeighbor,
-+                    ospfPacketType,
-+                    ospfLsdbType,
-+                    ospfLsdbLsid,
-+                    ospfLsdbRouterId
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfTxRetransmit  trap  signifies  than  an
-+           OSPF packet has been retransmitted on a virtual
-+           interface.  All packets that may be retransmit-
-+           ted  are  associated with an LSDB entry. The LS
-+           type, LS ID, and Router ID are used to identify
-+           the LSDB entry."
-+   ::= { ospfTraps 11 }
-+
-+
-+    ospfOriginateLsa NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
-+                    ospfLsdbType,
-+                    ospfLsdbLsid,
-+                    ospfLsdbRouterId
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfOriginateLsa trap signifies that a  new
-+           LSA  has  been originated by this router.  This
-+           trap should not be invoked for simple refreshes
-+           of  LSAs  (which happesn every 30 minutes), but
-+           instead will only be invoked  when  an  LSA  is
-+           (re)originated due to a topology change.  Addi-
-+           tionally, this trap does not include LSAs  that
-+           are  being  flushed  because  they have reached
-+           MaxAge."
-+   ::= { ospfTraps 12 }
-+
-+
-+    ospfMaxAgeLsa NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
-+                    ospfLsdbType,
-+                    ospfLsdbLsid,
-+                    ospfLsdbRouterId
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfMaxAgeLsa trap signifies  that  one  of
-+           the LSA in the router's link-state database has
-+           aged to MaxAge."
-+   ::= { ospfTraps 13 }
-+
-+
-+    ospfLsdbOverflow NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfExtLsdbLimit
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfLsdbOverflow trap  signifies  that  the
-+           number of LSAs in the router's link-state data-
-+           base has exceeded ospfExtLsdbLimit."
-+   ::= { ospfTraps 14 }
-+
-+
-+    ospfLsdbApproachingOverflow NOTIFICATION-TYPE
-+        OBJECTS {
-+                    ospfRouterId, -- The originator of the trap
-+                    ospfExtLsdbLimit
-+                  }
-+        STATUS             current
-+        DESCRIPTION
-+           "An ospfLsdbApproachingOverflow trap  signifies
-+           that  the  number of LSAs in the router's link-
-+           state database has exceeded ninety  percent  of
-+           ospfExtLsdbLimit."
-+   ::= { ospfTraps 15 }
-+
-+
-+-- conformance information
-+
-+ospfTrapConformance OBJECT IDENTIFIER ::= { ospfTrap 3 }
-+
-+ospfTrapGroups      OBJECT IDENTIFIER ::= { ospfTrapConformance 1 }
-+ospfTrapCompliances OBJECT IDENTIFIER ::= { ospfTrapConformance 2 }
-+
-+-- compliance statements
-+
-+    ospfTrapCompliance MODULE-COMPLIANCE
-+        STATUS  current
-+        DESCRIPTION
-+           "The compliance statement "
-+       MODULE  -- this module
-+       MANDATORY-GROUPS { ospfTrapControlGroup }
-+
-+
-+        GROUP       ospfTrapControlGroup
-+        DESCRIPTION
-+           "This group is optional but recommended for all
-+           OSPF systems"
-+       ::= { ospfTrapCompliances 1 }
-+
-+
-+-- units of conformance
-+
-+    ospfTrapControlGroup    OBJECT-GROUP
-+        OBJECTS {
-+                           ospfSetTrap,
-+                           ospfConfigErrorType,
-+                           ospfPacketType,
-+                           ospfPacketSrc
-+        }
-+        STATUS  current
-+        DESCRIPTION
-+           "These objects are required  to  control  traps
-+           from OSPF systems."
-+       ::= { ospfTrapGroups 1 }
-+
-+
-+END
-diff -ruN net-snmp-5.1.2-orig/mibs/RIPv2-MIB.txt net-snmp-5.1.2-5/mibs/RIPv2-MIB.txt
---- net-snmp-5.1.2-orig/mibs/RIPv2-MIB.txt     1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/RIPv2-MIB.txt        2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,530 @@
-+   RIPv2-MIB DEFINITIONS ::= BEGIN
-+
-+   IMPORTS
-+       MODULE-IDENTITY, OBJECT-TYPE, Counter32,
-+       TimeTicks, IpAddress                     FROM SNMPv2-SMI
-+       TEXTUAL-CONVENTION, RowStatus            FROM SNMPv2-TC
-+       MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
-+       mib-2                                    FROM RFC1213-MIB;
-+
-+   --  This MIB module uses the extended OBJECT-TYPE macro as
-+   --  defined in [9].
-+
-+   rip2  MODULE-IDENTITY
-+           LAST-UPDATED "9407272253Z"      -- Wed Jul 27 22:53:04 PDT 1994
-+           ORGANIZATION "IETF RIP-II Working Group"
-+           CONTACT-INFO
-+          "       Fred Baker
-+          Postal: Cisco Systems
-+                  519 Lado Drive
-+                  Santa Barbara, California 93111
-+          Tel:    +1 805 681 0115
-+          E-Mail: fbaker@cisco.com
-+
-+          Postal: Gary Malkin
-+                  Xylogics, Inc.
-+                  53 Third Avenue
-+                  Burlington, MA  01803
-+
-+          Phone:  (617) 272-8140
-+          EMail:  gmalkin@Xylogics.COM"
-+      DESCRIPTION
-+         "The MIB module to describe the RIP2 Version 2 Protocol"
-+     ::= { mib-2 23 }
-+
-+ --  RIP-2 Management Information Base
-+
-+ -- the RouteTag type represents the contents of the
-+ -- Route Domain field in the packet header or route entry.
-+ -- The use of the Route Domain is deprecated.
-+
-+ RouteTag ::= TEXTUAL-CONVENTION
-+     STATUS      current
-+     DESCRIPTION
-+        "the RouteTag type represents the contents of the Route Domain
-+        field in the packet header or route entry"
-+    SYNTAX      OCTET STRING (SIZE (2))
-+
-+--4.1 Global Counters
-+
-+--      The RIP-2 Globals Group.
-+--      Implementation of this group is mandatory for systems
-+--      which implement RIP-2.
-+
-+-- These counters are intended to facilitate debugging quickly
-+-- changing routes or failing neighbors
-+
-+rip2Globals OBJECT IDENTIFIER ::= { rip2 1 }
-+
-+    rip2GlobalRouteChanges OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of route changes made to the IP Route
-+           Database by RIP.  This does not include the refresh
-+           of a route's age."
-+       ::= { rip2Globals 1 }
-+
-+    rip2GlobalQueries OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of responses sent to RIP queries
-+           from other systems."
-+       ::= { rip2Globals 2 }
-+
-+--4.2 RIP Interface Tables
-+
-+--  RIP Interfaces Groups
-+--  Implementation of these Groups is mandatory for systems
-+--  which implement RIP-2.
-+
-+-- The RIP Interface Status Table.
-+
-+    rip2IfStatTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF Rip2IfStatEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A list of subnets which require separate
-+           status monitoring in RIP."
-+       ::= { rip2 2 }
-+
-+   rip2IfStatEntry OBJECT-TYPE
-+       SYNTAX   Rip2IfStatEntry
-+       MAX-ACCESS   not-accessible
-+       STATUS   current
-+       DESCRIPTION
-+          "A Single Routing Domain in a single Subnet."
-+      INDEX { rip2IfStatAddress }
-+      ::= { rip2IfStatTable 1 }
-+
-+    Rip2IfStatEntry ::=
-+        SEQUENCE {
-+            rip2IfStatAddress
-+                IpAddress,
-+            rip2IfStatRcvBadPackets
-+                Counter32,
-+            rip2IfStatRcvBadRoutes
-+                Counter32,
-+            rip2IfStatSentUpdates
-+                Counter32,
-+            rip2IfStatStatus
-+                RowStatus
-+    }
-+
-+    rip2IfStatAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address of this system on the indicated
-+           subnet. For unnumbered interfaces, the value 0.0.0.N,
-+           where the least significant 24 bits (N) is the ifIndex
-+           for the IP Interface in network byte order."
-+       ::= { rip2IfStatEntry 1 }
-+
-+    rip2IfStatRcvBadPackets OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of RIP response packets received by
-+           the RIP process which were subsequently discarded
-+           for any reason (e.g. a version 0 packet, or an
-+           unknown command type)."
-+       ::= { rip2IfStatEntry 2 }
-+
-+    rip2IfStatRcvBadRoutes OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of routes, in valid RIP packets,
-+           which were ignored for any reason (e.g. unknown
-+           address family, or invalid metric)."
-+       ::= { rip2IfStatEntry 3 }
-+
-+    rip2IfStatSentUpdates OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of triggered RIP updates actually
-+           sent on this interface.  This explicitly does
-+           NOT include full updates sent containing new
-+           information."
-+       ::= { rip2IfStatEntry 4 }
-+
-+    rip2IfStatStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "Writing invalid has the effect of deleting
-+           this interface."
-+       ::= { rip2IfStatEntry 5 }
-+
-+-- The RIP Interface Configuration Table.
-+
-+    rip2IfConfTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF Rip2IfConfEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A list of subnets which require separate
-+           configuration in RIP."
-+       ::= { rip2 3 }
-+
-+   rip2IfConfEntry OBJECT-TYPE
-+       SYNTAX   Rip2IfConfEntry
-+       MAX-ACCESS   not-accessible
-+       STATUS   current
-+       DESCRIPTION
-+          "A Single Routing Domain in a single Subnet."
-+      INDEX { rip2IfConfAddress }
-+      ::= { rip2IfConfTable 1 }
-+
-+    Rip2IfConfEntry ::=
-+        SEQUENCE {
-+            rip2IfConfAddress
-+                IpAddress,
-+            rip2IfConfDomain
-+                RouteTag,
-+            rip2IfConfAuthType
-+                INTEGER,
-+            rip2IfConfAuthKey
-+                OCTET STRING (SIZE(0..16)),
-+            rip2IfConfSend
-+                INTEGER,
-+            rip2IfConfReceive
-+                INTEGER,
-+            rip2IfConfDefaultMetric
-+                INTEGER,
-+            rip2IfConfStatus
-+                RowStatus,
-+            rip2IfConfSrcAddress
-+                IpAddress
-+    }
-+
-+    rip2IfConfAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address of this system on the indicated
-+           subnet.  For unnumbered interfaces, the value 0.0.0.N,
-+           where the least significant 24 bits (N) is the ifIndex
-+           for the IP Interface in network byte order."
-+       ::= { rip2IfConfEntry 1 }
-+
-+    rip2IfConfDomain OBJECT-TYPE
-+        SYNTAX   RouteTag
-+        MAX-ACCESS   read-create
-+        STATUS   obsolete
-+        DESCRIPTION
-+           "Value inserted into the Routing Domain field
-+           of all RIP packets sent on this interface."
-+       DEFVAL { '0000'h }
-+       ::= { rip2IfConfEntry 2 }
-+
-+    rip2IfConfAuthType OBJECT-TYPE
-+        SYNTAX   INTEGER {
-+                    noAuthentication (1),
-+                    simplePassword (2),
-+                    md5 (3)
-+                 }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The type of Authentication used on this
-+           interface."
-+       DEFVAL { noAuthentication }
-+       ::= { rip2IfConfEntry 3 }
-+
-+    rip2IfConfAuthKey OBJECT-TYPE
-+        SYNTAX   OCTET STRING (SIZE(0..16))
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The value to be used as the Authentication Key
-+           whenever the corresponding instance of
-+           rip2IfConfAuthType has a value other than
-+           noAuthentication.  A modification of the corresponding
-+           instance of rip2IfConfAuthType does not modify
-+           the rip2IfConfAuthKey value.  If a string shorter
-+           than 16 octets is supplied, it will be left-
-+           justified and padded to 16 octets, on the right,
-+           with nulls (0x00).
-+
-+           Reading this object always results in an  OCTET
-+           STRING of length zero; authentication may not
-+           be bypassed by reading the MIB object."
-+       DEFVAL { ''h }
-+       ::= { rip2IfConfEntry 4 }
-+
-+    rip2IfConfSend OBJECT-TYPE
-+        SYNTAX   INTEGER {
-+                    doNotSend (1),
-+                    ripVersion1 (2),
-+                    rip1Compatible (3),
-+                    ripVersion2 (4),
-+                    ripV1Demand (5),
-+                    ripV2Demand (6)
-+                 }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "What the router sends on this interface.
-+           ripVersion1 implies sending RIP updates compliant
-+           with  RFC  1058.   rip1Compatible implies
-+           broadcasting RIP-2 updates using RFC 1058 route
-+           subsumption rules.  ripVersion2 implies
-+           multicasting RIP-2 updates.  ripV1Demand indicates
-+           the use of Demand RIP on a WAN interface under RIP
-+           Version 1 rules.  ripV2Demand indicates the use of
-+           Demand RIP on a WAN interface under Version 2 rules."
-+       DEFVAL { rip1Compatible }
-+       ::= { rip2IfConfEntry 5 }
-+
-+    rip2IfConfReceive OBJECT-TYPE
-+        SYNTAX   INTEGER {
-+                    rip1 (1),
-+                    rip2 (2),
-+                    rip1OrRip2 (3),
-+                    doNotRecieve (4)
-+                 }
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This indicates which version of RIP updates
-+           are to be accepted.  Note that rip2 and
-+           rip1OrRip2 implies reception of multicast
-+           packets."
-+       DEFVAL { rip1OrRip2 }
-+       ::= { rip2IfConfEntry 6 }
-+
-+    rip2IfConfDefaultMetric OBJECT-TYPE
-+        SYNTAX   INTEGER ( 0..15 )
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "This variable indicates the metric that is to
-+           be used for the default route entry in RIP updates
-+           originated on this interface.  A value of zero
-+           indicates that no default route should be
-+           originated; in this case, a default route via
-+           another router may be propagated."
-+       ::= { rip2IfConfEntry 7 }
-+
-+    rip2IfConfStatus OBJECT-TYPE
-+        SYNTAX   RowStatus
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "Writing invalid has  the  effect  of  deleting
-+           this interface."
-+       ::= { rip2IfConfEntry 8 }
-+
-+    rip2IfConfSrcAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-create
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address this system will use as a source
-+            address on this interface.  If it is a numbered
-+            interface, this MUST be the same value as
-+            rip2IfConfAddress.  On unnumbered interfaces,
-+            it must be the value of rip2IfConfAddress for
-+            some interface on the system."
-+       ::= { rip2IfConfEntry 9 }
-+
-+--4.3 Peer Table
-+
-+--  Peer Table
-+
-+--      The RIP Peer Group
-+--      Implementation of this Group is Optional
-+
-+--      This group provides information about active peer
-+--      relationships intended to assist in debugging.  An
-+--      active peer is a router from which a valid RIP
-+--      updated has been heard in the last 180 seconds.
-+
-+    rip2PeerTable OBJECT-TYPE
-+        SYNTAX   SEQUENCE OF Rip2PeerEntry
-+        MAX-ACCESS   not-accessible
-+        STATUS   current
-+        DESCRIPTION
-+           "A list of RIP Peers."
-+       ::= { rip2 4 }
-+
-+   rip2PeerEntry OBJECT-TYPE
-+       SYNTAX   Rip2PeerEntry
-+       MAX-ACCESS   not-accessible
-+       STATUS   current
-+       DESCRIPTION
-+          "Information regarding a single routing peer."
-+      INDEX { rip2PeerAddress, rip2PeerDomain }
-+      ::= { rip2PeerTable 1 }
-+
-+    Rip2PeerEntry ::=
-+        SEQUENCE {
-+            rip2PeerAddress
-+                IpAddress,
-+            rip2PeerDomain
-+                RouteTag,
-+            rip2PeerLastUpdate
-+                TimeTicks,
-+            rip2PeerVersion
-+                INTEGER,
-+            rip2PeerRcvBadPackets
-+                Counter32,
-+            rip2PeerRcvBadRoutes
-+                Counter32
-+            }
-+
-+    rip2PeerAddress OBJECT-TYPE
-+        SYNTAX   IpAddress
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The IP Address that the peer is using as its source
-+            address.  Note that on an unnumbered link, this may
-+            not be a member of any subnet on the system."
-+       ::= { rip2PeerEntry 1 }
-+
-+    rip2PeerDomain OBJECT-TYPE
-+        SYNTAX   RouteTag
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The value in the Routing Domain field  in  RIP
-+           packets received from the peer.  As domain suuport
-+           is deprecated, this must be zero."
-+       ::= { rip2PeerEntry 2 }
-+
-+    rip2PeerLastUpdate OBJECT-TYPE
-+        SYNTAX   TimeTicks
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The value of sysUpTime when the most recent
-+           RIP update was received from this system."
-+       ::= { rip2PeerEntry 3 }
-+
-+    rip2PeerVersion OBJECT-TYPE
-+        SYNTAX   INTEGER ( 0..255 )
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The RIP version number in the header of the
-+           last RIP packet received."
-+       ::= { rip2PeerEntry 4 }
-+
-+    rip2PeerRcvBadPackets OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of RIP response packets from this
-+           peer discarded as invalid."
-+       ::= { rip2PeerEntry 5 }
-+
-+
-+    rip2PeerRcvBadRoutes OBJECT-TYPE
-+        SYNTAX   Counter32
-+        MAX-ACCESS   read-only
-+        STATUS   current
-+        DESCRIPTION
-+           "The number of routes from this peer that were
-+           ignored because the entry format was invalid."
-+       ::= { rip2PeerEntry 6 }
-+
-+-- conformance information
-+
-+rip2Conformance OBJECT IDENTIFIER ::= { rip2 5 }
-+
-+rip2Groups      OBJECT IDENTIFIER ::= { rip2Conformance 1 }
-+rip2Compliances OBJECT IDENTIFIER ::= { rip2Conformance 2 }
-+
-+-- compliance statements
-+rip2Compliance MODULE-COMPLIANCE
-+    STATUS  current
-+    DESCRIPTION
-+       "The compliance statement "
-+    MODULE  -- this module
-+    MANDATORY-GROUPS {
-+                 rip2GlobalGroup,
-+                 rip2IfStatGroup,
-+                 rip2IfConfGroup,
-+                 rip2PeerGroup
-+        }
-+    GROUP       rip2GlobalGroup
-+    DESCRIPTION
-+       "This group defines global controls for RIP-II systems."
-+    GROUP       rip2IfStatGroup
-+    DESCRIPTION
-+       "This group defines interface statistics for RIP-II systems."
-+    GROUP       rip2IfConfGroup
-+    DESCRIPTION
-+       "This group defines interface configuration for RIP-II systems."
-+    GROUP       rip2PeerGroup
-+    DESCRIPTION
-+       "This group defines peer information for RIP-II systems."
-+    ::= { rip2Compliances 1 }
-+
-+-- units of conformance
-+
-+rip2GlobalGroup    OBJECT-GROUP
-+    OBJECTS {
-+                rip2GlobalRouteChanges,
-+                rip2GlobalQueries
-+    }
-+    STATUS  current
-+    DESCRIPTION
-+       "This group defines global controls for RIP-II systems."
-+    ::= { rip2Groups 1 }
-+rip2IfStatGroup    OBJECT-GROUP
-+    OBJECTS {
-+            rip2IfStatAddress,
-+            rip2IfStatRcvBadPackets,
-+            rip2IfStatRcvBadRoutes,
-+            rip2IfStatSentUpdates,
-+            rip2IfStatStatus
-+    }
-+    STATUS  current
-+    DESCRIPTION
-+       "This group defines interface statistics for RIP-II systems."
-+    ::= { rip2Groups 2 }
-+rip2IfConfGroup    OBJECT-GROUP
-+    OBJECTS {
-+            rip2IfConfAddress,
-+            rip2IfConfAuthType,
-+            rip2IfConfAuthKey,
-+            rip2IfConfSend,
-+            rip2IfConfReceive,
-+            rip2IfConfDefaultMetric,
-+            rip2IfConfStatus,
-+            rip2IfConfSrcAddress
-+    }
-+    STATUS  current
-+    DESCRIPTION
-+       "This group defines interface configuration for RIP-II systems."
-+    ::= { rip2Groups 3 }
-+rip2PeerGroup    OBJECT-GROUP
-+    OBJECTS {
-+            rip2PeerAddress,
-+            rip2PeerDomain,
-+            rip2PeerLastUpdate,
-+            rip2PeerVersion,
-+            rip2PeerRcvBadPackets,
-+            rip2PeerRcvBadRoutes
-+    }
-+    STATUS  current
-+    DESCRIPTION
-+       "This group defines peer information for RIP-II systems."
-+    ::= { rip2Groups 4 }
-+END
-diff -ruN net-snmp-5.1.2-orig/mibs/SOURCE-ROUTING-MIB.txt net-snmp-5.1.2-5/mibs/SOURCE-ROUTING-MIB.txt
---- net-snmp-5.1.2-orig/mibs/SOURCE-ROUTING-MIB.txt    1970-01-01 01:00:00.000000000 +0100
-+++ net-snmp-5.1.2-5/mibs/SOURCE-ROUTING-MIB.txt       2005-03-13 16:17:21.000000000 +0100
-@@ -0,0 +1,452 @@
-+SOURCE-ROUTING-MIB DEFINITIONS ::= BEGIN
-+
-+IMPORTS
-+        Counter, Gauge
-+                FROM RFC1155-SMI
-+        dot1dBridge, dot1dSr
-+                FROM BRIDGE-MIB
-+        OBJECT-TYPE
-+                FROM RFC-1212;
-+
-+-- groups in the SR MIB
-+
-+-- dot1dSr is imported from the Bridge MIB
-+
-+dot1dPortPair   OBJECT IDENTIFIER ::= { dot1dBridge 10 }
-+
-+-- the dot1dSr group
-+
-+-- this group is implemented by those bridges that
-+-- support the source route bridging mode, including Source
-+-- Routing and SRT bridges.
-+
-+dot1dSrPortTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dSrPortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table that contains information about every
-+            port that is associated with this source route
-+            bridge."
-+    ::= { dot1dSr 1 }
-+
-+dot1dSrPortEntry OBJECT-TYPE
-+    SYNTAX  Dot1dSrPortEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A list of information for each port of a source
-+            route bridge."
-+    INDEX   { dot1dSrPort }
-+
-+    ::= { dot1dSrPortTable 1 }
-+
-+Dot1dSrPortEntry ::=
-+    SEQUENCE {
-+        dot1dSrPort
-+            INTEGER,
-+        dot1dSrPortHopCount
-+            INTEGER,
-+        dot1dSrPortLocalSegment
-+            INTEGER,
-+        dot1dSrPortBridgeNum
-+            INTEGER,
-+        dot1dSrPortTargetSegment
-+            INTEGER,
-+        dot1dSrPortLargestFrame
-+            INTEGER,
-+        dot1dSrPortSTESpanMode
-+            INTEGER,
-+        dot1dSrPortSpecInFrames
-+            Counter,
-+        dot1dSrPortSpecOutFrames
-+            Counter,
-+        dot1dSrPortApeInFrames
-+            Counter,
-+        dot1dSrPortApeOutFrames
-+            Counter,
-+        dot1dSrPortSteInFrames
-+            Counter,
-+        dot1dSrPortSteOutFrames
-+            Counter,
-+        dot1dSrPortSegmentMismatchDiscards
-+            Counter,
-+        dot1dSrPortDuplicateSegmentDiscards
-+            Counter,
-+        dot1dSrPortHopCountExceededDiscards
-+            Counter,
-+        dot1dSrPortDupLanIdOrTreeErrors
-+            Counter,
-+        dot1dSrPortLanIdMismatches
-+            Counter
-+    }
-+
-+dot1dSrPort OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the port for which this entry
-+
-+            contains Source Route management information."
-+    ::= { dot1dSrPortEntry 1 }
-+
-+dot1dSrPortHopCount OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The maximum number of routing descriptors allowed
-+            in an All Paths or Spanning Tree Explorer frames."
-+    ::= { dot1dSrPortEntry 2 }
-+
-+dot1dSrPortLocalSegment OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The segment number that uniquely identifies the
-+            segment to which this port is connected. Current
-+            source routing protocols limit this value to the
-+            range: 0 through 4095. (The value 0 is used by
-+            some management applications for special test
-+            cases.) A value of 65535 signifies that no segment
-+            number is assigned to this port."
-+    ::= { dot1dSrPortEntry 3 }
-+
-+dot1dSrPortBridgeNum OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A bridge number uniquely identifies a bridge when
-+            more than one bridge is used to span the same two
-+            segments.  Current source routing protocols limit
-+            this value to the range: 0 through 15. A value of
-+            65535 signifies that no bridge number is assigned
-+            to this bridge."
-+    ::= { dot1dSrPortEntry 4 }
-+
-+dot1dSrPortTargetSegment OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The segment number that corresponds to the target
-+            segment this port is considered to be connected to
-+            by the bridge.  Current source routing protocols
-+            limit this value to the range: 0 through 4095.
-+
-+            (The value 0 is used by some management
-+            applications for special test cases.) A value of
-+            65535 signifies that no target segment is assigned
-+            to this port."
-+    ::= { dot1dSrPortEntry 5 }
-+
-+-- It would be nice if we could use ifMtu as the size of the
-+-- largest frame, but we can't because ifMtu is defined to be
-+-- the size that the (inter-)network layer can use which can
-+-- differ from the MAC layer (especially if several layers of
-+-- encapsulation are used).
-+
-+dot1dSrPortLargestFrame OBJECT-TYPE
-+    SYNTAX  INTEGER
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The maximum size of the INFO field (LLC and
-+            above) that this port can send/receive.  It does
-+            not include any MAC level (framing) octets.  The
-+            value of this object is used by this bridge to
-+            determine whether a modification of the
-+            LargestFrame (LF, see [14]) field of the Routing
-+            Control field of the Routing Information Field is
-+            necessary.
-+
-+            64 valid values are defined by the IEEE 802.5M SRT
-+            Addendum: 516, 635, 754, 873, 993, 1112, 1231,
-+            1350, 1470, 1542, 1615, 1688, 1761, 1833, 1906,
-+            1979, 2052, 2345, 2638, 2932, 3225, 3518, 3812,
-+            4105, 4399, 4865, 5331, 5798, 6264, 6730, 7197,
-+            7663, 8130, 8539, 8949, 9358, 9768, 10178, 10587,
-+            10997, 11407, 12199, 12992, 13785, 14578, 15370,
-+            16163, 16956, 17749, 20730, 23711, 26693, 29674,
-+            32655, 35637, 38618, 41600, 44591, 47583, 50575,
-+            53567, 56559, 59551, and 65535.
-+
-+            An illegal value will not be accepted by the
-+            bridge."
-+    ::= { dot1dSrPortEntry 6 }
-+
-+dot1dSrPortSTESpanMode OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                auto-span(1),
-+                disabled(2),
-+                forced(3)
-+            }
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Determines how this port behaves when presented
-+            with a Spanning Tree Explorer frame.  The value
-+            'disabled(2)' indicates that the port will not
-+            accept or send Spanning Tree Explorer packets; any
-+            STE packets received will be silently discarded.
-+            The value 'forced(3)' indicates the port will
-+            always accept and propagate Spanning Tree Explorer
-+            frames.  This allows a manually configured
-+            Spanning Tree for this class of packet to be
-+            configured.  Note that unlike transparent
-+            bridging, this is not catastrophic to the network
-+            if there are loops.  The value 'auto-span(1)' can
-+            only be returned by a bridge that both implements
-+            the Spanning Tree Protocol and has use of the
-+            protocol enabled on this port. The behavior of the
-+            port for Spanning Tree Explorer frames is
-+            determined by the state of dot1dStpPortState.  If
-+            the port is in the 'forwarding' state, the frame
-+            will be accepted or propagated.  Otherwise, it
-+            will be silently discarded."
-+    ::= { dot1dSrPortEntry 7 }
-+
-+dot1dSrPortSpecInFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of Specifically Routed frames, also
-+            referred to as Source Routed Frames, that have
-+            been received from this port's segment."
-+    ::= { dot1dSrPortEntry 8 }
-+
-+dot1dSrPortSpecOutFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of Specifically Routed frames, also
-+            referred to as Source Routed Frames, that this
-+            port has transmitted on its segment."
-+    ::= { dot1dSrPortEntry 9 }
-+
-+dot1dSrPortApeInFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of All Paths Explorer frames, also
-+            referred to as All Routes Explorer frames, that
-+            have been received by this port from its segment."
-+    ::= { dot1dSrPortEntry 10 }
-+
-+dot1dSrPortApeOutFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of all Paths Explorer Frames, also
-+            referred to as All Routes Explorer frames, that
-+            have been transmitted by this port on its
-+            segment."
-+    ::= { dot1dSrPortEntry 11 }
-+
-+dot1dSrPortSteInFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of spanning tree explorer frames that
-+            have been received by this port from its segment."
-+    ::= { dot1dSrPortEntry 12 }
-+
-+dot1dSrPortSteOutFrames OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of spanning tree explorer frames that
-+            have been transmitted by this port on its
-+            segment."
-+    ::= { dot1dSrPortEntry 13 }
-+
-+dot1dSrPortSegmentMismatchDiscards OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of explorer frames that have been
-+            discarded by this port because the routing
-+            descriptor field contained an invalid adjacent
-+            segment value."
-+    ::= { dot1dSrPortEntry 14 }
-+
-+dot1dSrPortDuplicateSegmentDiscards OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of frames that have been discarded by
-+            this port because the routing descriptor field
-+            contained a duplicate segment identifier."
-+    ::= { dot1dSrPortEntry 15 }
-+
-+dot1dSrPortHopCountExceededDiscards OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of explorer frames that have been
-+            discarded by this port because the Routing
-+            Information Field has exceeded the maximum route
-+            descriptor length."
-+    ::= { dot1dSrPortEntry 16 }
-+
-+dot1dSrPortDupLanIdOrTreeErrors OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of duplicate LAN IDs or Tree errors.
-+            This helps in detection of problems in networks
-+            containing older IBM Source Routing Bridges."
-+    ::= { dot1dSrPortEntry 17 }
-+
-+dot1dSrPortLanIdMismatches OBJECT-TYPE
-+    SYNTAX  Counter
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The number of ARE and STE frames that were
-+            discarded because the last LAN ID in the routing
-+            information field did not equal the LAN-in ID.
-+            This error can occur in implementations which do
-+            only a LAN-in ID and Bridge Number check instead
-+            of a LAN-in ID, Bridge Number, and LAN-out ID
-+            check before they forward broadcast frames."
-+    ::= { dot1dSrPortEntry 18 }
-+
-+-- scalar object in dot1dSr
-+
-+dot1dSrBridgeLfMode OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                mode3(1),
-+                mode6(2)
-+            }
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "Indicates whether the bridge operates using older
-+            3 bit length negotiation fields or the newer 6 bit
-+            length field in its RIF."
-+    ::= { dot1dSr 2 }
-+
-+-- The Port-Pair Database
-+
-+-- Implementation of this group is optional.
-+
-+-- This group is implemented by those bridges that support
-+-- the direct multiport model of the source route bridging
-+-- mode as defined in the IEEE 802.5 SRT Addendum to
-+-- 802.1d.
-+
-+-- Bridges implementing this group may report 65535 for
-+-- dot1dSrPortBridgeNumber and dot1dSrPortTargetSegment,
-+-- indicating that those objects are not applicable.
-+
-+dot1dPortPairTableSize OBJECT-TYPE
-+    SYNTAX  Gauge
-+    ACCESS  read-only
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The total number of entries in the Bridge Port
-+            Pair Database."
-+    ::= { dot1dPortPair 1 }
-+
-+-- the Bridge Port-Pair table
-+
-+-- this table represents port pairs within a bridge forming
-+-- a unique bridge path, as defined in the IEEE 802.5M SRT
-+-- Addendum.
-+
-+dot1dPortPairTable OBJECT-TYPE
-+    SYNTAX  SEQUENCE OF Dot1dPortPairEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A table that contains information about every
-+
-+            port pair database entity associated with this
-+            source routing bridge."
-+    ::= { dot1dPortPair 2 }
-+
-+dot1dPortPairEntry OBJECT-TYPE
-+    SYNTAX  Dot1dPortPairEntry
-+    ACCESS  not-accessible
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A list of information for each port pair entity
-+            of a bridge."
-+    INDEX   { dot1dPortPairLowPort, dot1dPortPairHighPort }
-+    ::= { dot1dPortPairTable 1 }
-+
-+Dot1dPortPairEntry ::=
-+    SEQUENCE {
-+        dot1dPortPairLowPort
-+            INTEGER,
-+        dot1dPortPairHighPort
-+            INTEGER,
-+        dot1dPortPairBridgeNum
-+            INTEGER,
-+        dot1dPortPairBridgeState
-+            INTEGER
-+    }
-+
-+dot1dPortPairLowPort OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the lower numbered port for
-+            which this entry contains port pair database
-+            information."
-+    ::= { dot1dPortPairEntry 1 }
-+
-+dot1dPortPairHighPort OBJECT-TYPE
-+    SYNTAX  INTEGER (1..65535)
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The port number of the higher numbered port for
-+            which this entry contains port pair database
-+            information."
-+    ::= { dot1dPortPairEntry 2 }
-+
-+dot1dPortPairBridgeNum OBJECT-TYPE
-+    SYNTAX  INTEGER
-+
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "A bridge number that uniquely identifies the path
-+            provided by this source routing bridge between the
-+            segments connected to dot1dPortPairLowPort and
-+            dot1dPortPairHighPort.  The purpose of bridge
-+            number is to disambiguate between multiple paths
-+            connecting the same two LANs."
-+    ::= { dot1dPortPairEntry 3 }
-+
-+dot1dPortPairBridgeState OBJECT-TYPE
-+    SYNTAX  INTEGER {
-+                enabled(1),
-+                disabled(2),
-+                invalid(3)
-+            }
-+    ACCESS  read-write
-+    STATUS  mandatory
-+    DESCRIPTION
-+            "The state of dot1dPortPairBridgeNum.  Writing
-+            'invalid(3)' to this object removes the
-+            corresponding entry."
-+    ::= { dot1dPortPairEntry 4 }
-+
-+END
-diff -ruN net-snmp-5.1.2-orig/net-snmp-config.in net-snmp-5.1.2-5/net-snmp-config.in
---- net-snmp-5.1.2-orig/net-snmp-config.in     2004-06-17 15:39:28.000000000 +0200
-+++ net-snmp-5.1.2-5/net-snmp-config.in        2005-03-13 16:17:21.000000000 +0100
-@@ -113,13 +113,13 @@
-     #################################################### client lib
-     --libs)
-       # use this one == --netsnmp-libs + --external-libs
--      echo $NSC_LDFLAGS $NSC_LIBDIR -lnetsnmp $NSC_LIBS
-+      echo $NSC_LDFLAGS $NSC_LIBDIR -lnetsnmp $NSC_LIBS @WRAPLIBS@
-       ;;
-     --netsnmp-libs)
-       echo $NSC_LIBDIR -lnetsnmp
-       ;;
-     --external-libs)
--      echo $NSC_LDFLAGS $NSC_LIBS
-+      echo $NSC_LDFLAGS $NSC_LIBS @WRAPLIBS@
-       ;;
-     #################################################### agent lib
-     --base-agent-libs)
-@@ -130,13 +130,13 @@
-       ;;
-     --agent-libs)
-       # use this one == --netsnmp-agent-libs + --external-libs
--      echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS
-+      echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS @WRAPLIBS@
-       ;;
-     --netsnmp-agent-libs)
-       echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS
-       ;;
-     --external-agent-libs)
--      echo $NSC_LDFLAGS $NSC_AGENTLIBS
-+      echo $NSC_LDFLAGS $NSC_AGENTLIBS @WRAPLIBS@
-       ;;
-     ####################################################
-     --version)
-@@ -409,7 +409,7 @@
-         echo "Ack.  Can't create $tmpfile."
-       exit 1
-       fi
--      cmd="@CC@ $cflags @CFLAGS@ @DEVFLAGS@ -I. -I@includedir@ -o $outname $tmpfile $cfiles $NSC_LDFLAGS -L$NSC_EXEC_PREFIX/lib -lnetsnmpagent -lnetsnmphelpers -lnetsnmpmibs -lnetsnmp $NSC_AGENTLIBS $ldflags"
-+      cmd="@CC@ $cflags @CFLAGS@ @DEVFLAGS@ -I. -I@includedir@ -o $outname $tmpfile $cfiles $NSC_LDFLAGS -L$NSC_EXEC_PREFIX/lib -lnetsnmpagent -lnetsnmphelpers -lnetsnmpmibs -lnetsnmp $NSC_AGENTLIBS @WRAPLIBS@ $ldflags"
-       echo "running: $cmd"
-       `$cmd`
-       if test "x$norm" != "x1" ; then
-diff -ruN net-snmp-5.1.2-orig/perl/agent/netsnmp_request_infoPtr.pm net-snmp-5.1.2-5/perl/agent/netsnmp_request_infoPtr.pm
---- net-snmp-5.1.2-orig/perl/agent/netsnmp_request_infoPtr.pm  2002-09-19 22:38:24.000000000 +0200
-+++ net-snmp-5.1.2-5/perl/agent/netsnmp_request_infoPtr.pm     2005-03-13 16:17:21.000000000 +0100
-@@ -4,6 +4,7 @@
- 1;
- __END__
-+
- =head1 NAME
- NetSNMP::agent::netsnmp_request_infoPtr - Perl extension for request information
-diff -ruN net-snmp-5.1.2-orig/snmplib/Makefile.in net-snmp-5.1.2-5/snmplib/Makefile.in
---- net-snmp-5.1.2-orig/snmplib/Makefile.in    2004-03-04 14:41:19.000000000 +0100
-+++ net-snmp-5.1.2-5/snmplib/Makefile.in       2005-03-13 16:17:21.000000000 +0100
-@@ -178,11 +178,11 @@
- # how to build the libraries.
- libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION):    ${TOBJS}
--      $(LIB_LD_CMD) libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) ${TOBJS}
-+      $(LIB_LD_CMD) libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) ${TOBJS} @CRYPTOLIBS@
-       $(RANLIB) libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION)
- libsnmp.$(LIB_EXTENSION)$(LIB_VERSION):    ${TOBJS}
--      $(LIB_LD_CMD) libsnmp.$(LIB_EXTENSION)$(LIB_VERSION) ${TOBJS}
-+      $(LIB_LD_CMD) libsnmp.$(LIB_EXTENSION)$(LIB_VERSION) ${TOBJS} @CRYPTOLIBS@
-       $(RANLIB) libsnmp.$(LIB_EXTENSION)$(LIB_VERSION)
- #
-diff -ruN net-snmp-5.1.2-orig/snmplib/snmpUDPDomain.c net-snmp-5.1.2-5/snmplib/snmpUDPDomain.c
---- net-snmp-5.1.2-orig/snmplib/snmpUDPDomain.c        2004-07-07 14:21:32.000000000 +0200
-+++ net-snmp-5.1.2-5/snmplib/snmpUDPDomain.c   2005-03-13 16:17:21.000000000 +0100
-@@ -233,18 +233,6 @@
-         netsnmp_transport_free(t);
-         return NULL;
-     }
--#ifdef  SO_BSDCOMPAT
--    /*
--     * Patch for Linux.  Without this, UDP packets that fail get an ICMP
--     * response.  Linux turns the failed ICMP response into an error message
--     * and return value, unlike all other OS's.  
--     */
--    {
--        int             one = 1;
--        setsockopt(t->sock, SOL_SOCKET, SO_BSDCOMPAT, (void *) &one,
--                   sizeof(one));
--    }
--#endif                          /*SO_BSDCOMPAT */
-     /*
-      * SO_REUSEADDR will allow multiple apps to open the same port at
-      * the same time. Only the last one to open the socket will get
-diff -ruN net-snmp-5.1.2-orig/snmplib/snmpUDPIPv6Domain.c net-snmp-5.1.2-5/snmplib/snmpUDPIPv6Domain.c
---- net-snmp-5.1.2-orig/snmplib/snmpUDPIPv6Domain.c    2004-07-22 19:45:00.000000000 +0200
-+++ net-snmp-5.1.2-5/snmplib/snmpUDPIPv6Domain.c       2005-03-13 16:17:21.000000000 +0100
-@@ -249,17 +249,6 @@
-         netsnmp_transport_free(t);
-         return NULL;
-     }
--#ifdef  SO_BSDCOMPAT
--    /*
--     * Patch for Linux.  Without this, UDP packets that fail get an ICMP
--     * response.  Linux turns the failed ICMP response into an error message
--     * and return value, unlike all other OS's.  
--     */
--    {
--        int             one = 1;
--        setsockopt(t->sock, SOL_SOCKET, SO_BSDCOMPAT, &one, sizeof(one));
--    }
--#endif                          /*SO_BSDCOMPAT */
-     /*
-      * Try to set the send and receive buffers to a reasonably large value, so
-diff -ruN net-snmp-5.1.2-orig/snmplib/snmp_logging.c net-snmp-5.1.2-5/snmplib/snmp_logging.c
---- net-snmp-5.1.2-orig/snmplib/snmp_logging.c 2004-03-31 03:06:08.000000000 +0200
-+++ net-snmp-5.1.2-5/snmplib/snmp_logging.c    2005-03-13 16:17:21.000000000 +0100
-@@ -860,13 +860,14 @@
-     } else {
-         strcpy(sbuf, "");
-     }
--    newline = string[strlen(string) - 1] == '\n';     /* XXX - Eh ? */
-     if (logh->imagic)
-        printf(         "%s%s", sbuf, string);
-     else
-        fprintf(stderr, "%s%s", sbuf, string);
-+    newline = string[strlen(string) - 1] == '\n';     /* XXX - Eh ? */
-+
-     return 1;
- }
-diff -ruN net-snmp-5.1.2-orig/snmplib/winservice.mc net-snmp-5.1.2-5/snmplib/winservice.mc
---- net-snmp-5.1.2-orig/snmplib/winservice.mc  2002-04-20 09:30:21.000000000 +0200
-+++ net-snmp-5.1.2-5/snmplib/winservice.mc     2005-03-13 16:17:21.000000000 +0100
-@@ -1,11 +1,11 @@
--;//Message catalog for Windows Serivce Support routines\r
--;//To support event logging functionality\r
--;//By Raju Krishnappa(raju_krishnappa@yahoo.com)\r
--\r
--;//Message ID descriptions\r
--\r
--MessageId=100\r
--SymbolicName=DISPLAY_MSG\r
--Language=English\r
--%1.\r
--.\r
-+;//Message catalog for Windows Serivce Support routines
-+;//To support event logging functionality
-+;//By Raju Krishnappa(raju_krishnappa@yahoo.com)
-+
-+;//Message ID descriptions
-+
-+MessageId=100
-+SymbolicName=DISPLAY_MSG
-+Language=English
-+%1.
-+.
-diff -ruN net-snmp-5.1.2-orig/snmplib/winservice.rc net-snmp-5.1.2-5/snmplib/winservice.rc
---- net-snmp-5.1.2-orig/snmplib/winservice.rc  2002-04-20 09:30:21.000000000 +0200
-+++ net-snmp-5.1.2-5/snmplib/winservice.rc     2005-03-13 16:17:21.000000000 +0100
-@@ -1,2 +1,2 @@
--LANGUAGE 0x9,0x1\r
--1 11 MSG00001.bin\r
-+LANGUAGE 0x9,0x1
-+1 11 MSG00001.bin
diff --git a/libs/net-snmp/patches/901-ipsec-interfaces.patch b/libs/net-snmp/patches/901-ipsec-interfaces.patch
deleted file mode 100644 (file)
index 886f37a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Date: Tue, 14 Jun 2005 00:39:54 +0200
-From: Alexander Holler <aholler@ahsoftware.de>
-To: nthill@free.fr
-Subject: Patch for libsnmp (openwrt) to work with ipsec-if
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 7bit
-
-Hello,
-
-I've a small patch for net-snmp (5.1.2) which is needed to work with
-ipsec-interfaces. Otherwise snmpd will segfault which means snmp is not
-really usable.
-
-The patch is from me, but the source for the fault is from:
-
-http://lists.openswan.org/pipermail/users/2004-August/001773.html
-
-It works, because this  email is going out over ipsec using a
-snmp-monitored wrt54g. ;)
-
-
---- net-snmp-5.1.2/agent/mibgroup/mibII/interfaces.c.orig      2005-06-14 00:41:16.000000000 +0200
-+++ net-snmp-5.1.2/agent/mibgroup/mibII/interfaces.c   2005-06-14 03:21:35.000000000 +0200
-@@ -1438,8 +1438,10 @@
-       if (ioctl(fd, 0x8947, &ifr) >= 0) {
-               new_ioctl_nums = 1;
-+/*
-       } else if (ioctl(fd, SIOCDEVPRIVATE, &ifr) >= 0) {
-               new_ioctl_nums = 0;
-+*/
-       } else {
-               DEBUGMSGTL(("mibII/interfaces", "SIOCGMIIPHY on %s failed\n", ifr.ifr_name));
-               return retspeed;
-@@ -1449,7 +1451,8 @@
-       for (mii_reg = 0; mii_reg < 8; mii_reg++){
-               data[0] = phy_id;
-               data[1] = mii_reg;
--              if(ioctl(fd, new_ioctl_nums ? 0x8948 : SIOCDEVPRIVATE+1, &ifr) <0){
-+/*            if(ioctl(fd, new_ioctl_nums ? 0x8948 : SIOCDEVPRIVATE+1, &ifr) <0){ */
-+              if(ioctl(fd, 0x8948, &ifr) <0){
-                       DEBUGMSGTL(("mibII/interfaces", "SIOCGMIIREG on %s failed\n", ifr.ifr_name));
-               }
-               mii_val[mii_reg] = data[3];