NG700-ROUTING-MIB DEFINITIONS ::= BEGIN

-- Netgear Routing MIB
-- Copyright Netgear Inc (2001-2007) All rights reserved.

-- This SNMP Management Information Specification
-- embodies Netgear Inc's confidential and proprietary
-- intellectual property.  Netgear Inc retains all title
-- and ownership in the Specification including any revisions.

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


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress,
    Integer32, TimeTicks, Gauge32, Unsigned32, Counter32
                                        FROM SNMPv2-SMI
    RowStatus, TruthValue, TEXTUAL-CONVENTION
                                        FROM SNMPv2-TC
    ng700smartswitch                            FROM NG700-REF-MIB
    DisplayString,PhysAddress           FROM RFC1213-MIB
    ifIndex, InterfaceIndex, InterfaceIndexOrZero       
                                        FROM IF-MIB
    InterfaceIndexOrZero                FROM IF-MIB;
    fastPathRouting MODULE-IDENTITY
        LAST-UPDATED "201101260000Z" -- 26 Jan 2011 12:00:00 GMT
        ORGANIZATION "Netgear Inc"
        CONTACT-INFO ""
        DESCRIPTION
          "The Netgear Private MIB for FastPath Routing"

        -- Revision history.
        REVISION
          "201101260000Z" -- 26 Jan 2011 12:00:00 GMT
        DESCRIPTION
          "Postal address updated."
        REVISION
          "200705230000Z" -- 23 May 2007 12:00:00 GMT
        DESCRIPTION
          "Netgear branding related changes."
        REVISION
          "200311210000Z" -- 21 Nov 2003 12:00:00 GMT
        DESCRIPTION
          "Revisions made for new release."
        REVISION
          "200304021700Z" -- 2 April 2003 12:00 PM EST
        DESCRIPTION
          "Updated for release"

    ::= { ng700smartswitch 2 }

    SpfTimerRange ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION
         "The range of intervals on which Spf timers can be configured."
      SYNTAX      Integer32 (0..65535)

    --**************************************************************************************
    -- agentSwitchArpGroup
    --
    
    --**************************************************************************************
    agentSwitchArpGroup                       OBJECT IDENTIFIER ::= { fastPathRouting 1 }
    
    agentSwitchArpAgeoutTime OBJECT-TYPE
         SYNTAX      Integer32 (15..21600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the ARP entry ageout time in seconds.
                     Allowable range: 15-21600"
         DEFVAL      { 1200 }

         ::= { agentSwitchArpGroup 1 }
         
    agentSwitchArpResponseTime OBJECT-TYPE
         SYNTAX      Integer32 (1..10)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the ARP request response timeout in seconds.
                     Allowable range: 1-10"
         ::= { agentSwitchArpGroup 2 }
    
    agentSwitchArpMaxRetries OBJECT-TYPE
         SYNTAX      Integer32 (0..10)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the ARP count of maximum request for retries.
                     Allowable range: 0-10"
         ::= { agentSwitchArpGroup 3 }
    
    agentSwitchArpCacheSize OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the ARP maximum number of entries in the cache.
                     Allowable range is platform-specific."
         ::= { agentSwitchArpGroup 4 }
   
     agentSwitchArpDynamicRenew OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This indicates the current setting of ARP dynamic renew mode. "   
         DEFVAL      { enable }
         ::= { agentSwitchArpGroup 5 } 
         
      agentSwitchArpTotalEntryCountCurrent OBJECT-TYPE
         SYNTAX      Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Current number of entries in the ARP cache."
         ::= { agentSwitchArpGroup 6 }    

      agentSwitchArpTotalEntryCountPeak OBJECT-TYPE
         SYNTAX      Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Peak number of entries recorded in the ARP cache over
                     time.  This value is restarted whenever the ARP cache
                     size is changed."
         ::= { agentSwitchArpGroup 7 }

     agentSwitchArpStaticEntryCountCurrent OBJECT-TYPE
         SYNTAX      Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Current number of configured static ARP entries."
         ::= { agentSwitchArpGroup 8 }

     agentSwitchArpStaticEntryCountMax OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Maximum number of configurable static ARP entries."
         ::= { agentSwitchArpGroup 9 }

    --**************************************************************************************
         
    agentSwitchArpTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchArpEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION 
                     "This table augments the MIB-II ipNetToMediaTable by providing
                     per-interface ARP entry information."
         ::= { agentSwitchArpGroup 10 }

    agentSwitchArpEntry OBJECT-TYPE
         SYNTAX      AgentSwitchArpEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION 
                     ""
         INDEX       { agentSwitchArpIpAddress }
         ::= { agentSwitchArpTable 1 }
         
    AgentSwitchArpEntry ::= SEQUENCE {         
           agentSwitchArpAge
               TimeTicks,        
           agentSwitchArpIpAddress
               IpAddress,
           agentSwitchArpMacAddress
               PhysAddress,
           agentSwitchArpInterface
               Integer32,
           agentSwitchArpType
               INTEGER,
           agentSwitchArpStatus
               RowStatus
           }
    
    agentSwitchArpAge OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      obsolete 
         DESCRIPTION
                     "This defines the time (in seconds) since the ARP entry 
                     was last refreshed.  This value is 0 for ARP entries of
                     type local(1) or static(3), since these entries are 
                     not subject to aging."
         ::= { agentSwitchArpEntry 1 }  
         
    agentSwitchArpIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "The IP Address assigned to each interface."
         ::= { agentSwitchArpEntry 2 }
    
    agentSwitchArpMacAddress OBJECT-TYPE
         SYNTAX      PhysAddress
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "The hardware MAX Address that each interface maps to."
         ::= { agentSwitchArpEntry 3 }
         
    agentSwitchArpInterface OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "The Associated IfIndex which identified the ARP Entry."
         ::= { agentSwitchArpEntry 4 }
         
    agentSwitchArpType OBJECT-TYPE
         SYNTAX      INTEGER {
                        local(1),
                        gateway(2),
                        static(3),
                        dynamic(4)
                     }
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "The type of ARP entry."
         ::= { agentSwitchArpEntry 5 }
    
    agentSwitchArpStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "The status of this ARP entry.  Setting this object destroy will remove the entry."
         ::= { agentSwitchArpEntry 6 }
         
--*************************************************************************

--*************************************************************************

    agentSwitchIntfArpTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIntfArpEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "This table augments the MIB-II ipNetToMediaTable by providing
                     per-interface ARP entry information."
         ::= { agentSwitchArpGroup 12 }

    agentSwitchIntfArpEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIntfArpEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         INDEX       { agentSwitchIntfArpIpAddress, 
                       agentSwitchIntfArpIfIndex}
         ::= { agentSwitchIntfArpTable 1 }
         
    AgentSwitchIntfArpEntry ::= SEQUENCE {         
           agentSwitchIntfArpIpAddress
               IpAddress,
           agentSwitchIntfArpIfIndex
               InterfaceIndex,
           agentSwitchIntfArpAge
               TimeTicks,        
           agentSwitchIntfArpMacAddress
               PhysAddress,
           agentSwitchIntfArpType
               INTEGER,
           agentSwitchIntfArpStatus
               RowStatus
           }
    
    agentSwitchIntfArpIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Type of Address assigned to this interface."
         ::= { agentSwitchIntfArpEntry 1 }
    
    agentSwitchIntfArpIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Associated IfIndex which identified the ARP Entry.
                     This value must be specified for static ARP entries on an
                     unnumbered interface"
         ::= { agentSwitchIntfArpEntry 2 }
         
    agentSwitchIntfArpAge OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current 
         DESCRIPTION
                     "This defines the time (in seconds) since the ARP entry 
                     was last refreshed.  This value is 0 for ARP entries of
                     type local(1) or static(3), since these entries are 
                     not subject to aging."
         ::= { agentSwitchIntfArpEntry 3 }  
         
    agentSwitchIntfArpMacAddress OBJECT-TYPE
         SYNTAX      PhysAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The hardware MAX Address that each interface maps to."
         ::= { agentSwitchIntfArpEntry 4 }
         
    agentSwitchIntfArpType OBJECT-TYPE
         SYNTAX      INTEGER {
                        local(1),
                        gateway(2),
                        static(3),
                        dynamic(4)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The type of ARP entry."
         ::= { agentSwitchIntfArpEntry 5 }
    
    agentSwitchIntfArpStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this ARP entry.  Setting this object destroy will remove the entry."
         ::= { agentSwitchIntfArpEntry 6 }

    --**************************************************************************************
    -- agentSwitchIpGroup
    --
    --**************************************************************************************
    
    agentSwitchIpGroup                       OBJECT IDENTIFIER ::= { fastPathRouting 2 }
    
    agentSwitchIpRoutingMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Administratively enables/disables routing on the switch."
         ::= { agentSwitchIpGroup 1 }

    agentSwitchIpDefaultGateway OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
                   "Specifies the Default Gateway manually configured."
       ::= { agentSwitchIpGroup 2}


    --**************************************************************************************
    -- agentSwitchIpInterfaceTable
    --
    --**************************************************************************************
        
    agentSwitchIpInterfaceTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIpInterfaceEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         ::= { agentSwitchIpGroup 3 }

    agentSwitchIpInterfaceEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIpInterfaceEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         INDEX       { agentSwitchIpInterfaceIfIndex }
         ::= { agentSwitchIpInterfaceTable 1 }
         
    AgentSwitchIpInterfaceEntry ::= SEQUENCE {         
          agentSwitchIpInterfaceIfIndex
              Integer32,
          agentSwitchIPAddressConfigMethod
              INTEGER,
          agentSwitchIpInterfaceIpAddress
              IpAddress,
          agentSwitchIpInterfaceNetMask
              IpAddress,
          agentSwitchIpInterfaceClearIp
              INTEGER,
          agentSwitchIpInterfaceRoutingMode
              INTEGER,
          agentSwitchIpInterfaceMtuValue
              Unsigned32,
          agentSwitchIpInterfaceBandwidth
              Unsigned32,
          agentSwitchIpInterfaceUnnumberedIfIndex
              InterfaceIndexOrZero,
          agentSwitchIpInterfaceIcmpUnreachables
              INTEGER,
          agentSwitchIpInterfaceIcmpRedirects
              INTEGER,
          agentSwitchDhcpOperation
              INTEGER,
          agentSwitchIpInterfaceSuppressed
              INTEGER,
          agentSwitchIpInterfaceNumberOfFlaps
              Unsigned32,
          agentSwitchIpInterfaceCurrentPenalty
              Unsigned32,
          agentSwitchIpInterfaceReUseTime
              Unsigned32
          }
          
    agentSwitchIpInterfaceIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The IfIndex associated with this instance."
         ::= { agentSwitchIpInterfaceEntry 1 }
          
    agentSwitchIPAddressConfigMethod OBJECT-TYPE
         SYNTAX      INTEGER{
                     none(0),
                     manual(1),
                     dhcp(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The Source of the IP Address. User can set the object to none(0) or dhcp(2).
                      Option dhcp(2) enables Dhcp Client on the interface.
                      Option none(0) disables Dhcp Client on the interface.
                      Get on this object returns manual(1) only when the interface has a manually configured address."
         ::= { agentSwitchIpInterfaceEntry 2 }

    agentSwitchIpInterfaceIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The IpAddress assigned to this interface.  When setting this value,
                     the value of agentSwitchIpInterfaceNetMask must be set at the same time."
         ::= { agentSwitchIpInterfaceEntry 3 }
          
    agentSwitchIpInterfaceNetMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The NetMask assigned to this interface.  When setting this value, the 
                     value of agentSwitchIpInterfaceIpAddress must be set at the same time."
         ::= { agentSwitchIpInterfaceEntry 4 }
          
    agentSwitchIpInterfaceClearIp OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Sets the interfaces IpAddress and NetMask back to 0.0.0.0"
         ::= { agentSwitchIpInterfaceEntry 5 }
         
    agentSwitchIpInterfaceRoutingMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables or disables routing for this interface."
         ::= { agentSwitchIpInterfaceEntry 6 }

          
    agentSwitchIpInterfaceMtuValue OBJECT-TYPE
         SYNTAX      Unsigned32 (0|68..9198)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the MTU value for this interface. The applicable range is 
                     68 to the <interface MTU value - 18>, in bytes. Get of this object 
                     returns the effective MTU value on the interface. Set of this object 
                     with a value of 0 resets the MTU to the default IP MTU value on the 
                     interface."
         ::= { agentSwitchIpInterfaceEntry 8 }

    agentSwitchIpInterfaceBandwidth OBJECT-TYPE
         SYNTAX      Unsigned32 (0|1..10000000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the Bandwidth  value for this interface.  If the value returned is 0
                       bandwidth for this interface is not Configured."
                      ::= { agentSwitchIpInterfaceEntry 9 }  
          
    agentSwitchIpInterfaceUnnumberedIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndexOrZero
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "If this object is non-zero, it indicates that the interface is unnumbered,
                     and specifies which interface the address is borrowed from."
         ::= { agentSwitchIpInterfaceEntry 10 }

    agentSwitchIpInterfaceIcmpUnreachables OBJECT-TYPE
         SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                  }

         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "If this object is enable, it indicates that ICMP unreachables can be sent on this
                      interface."
         ::= { agentSwitchIpInterfaceEntry 11 }

    agentSwitchIpInterfaceIcmpRedirects OBJECT-TYPE
         SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "If this object is enable and agentSwitchIpIcmpRedirectsMode is also enable ICMP Redirects
                      can be sent on this interface."
         ::= { agentSwitchIpInterfaceEntry 12 }
          
    agentSwitchDhcpOperation OBJECT-TYPE
         SYNTAX      INTEGER{
                     renew(1),
                     release(2),
                     none(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Renew or Release the IP Address learned through DHCP.
                      Get on this object always gives none. none means no operation is performed on dhcp."
         ::= { agentSwitchIpInterfaceEntry 13 }

    agentSwitchIpInterfaceSuppressed OBJECT-TYPE
         SYNTAX      INTEGER{
                     unsuppressed(0),
                     suppressed(1)
                     }
         MAX-ACCESS read-only
         STATUS            current
         DESCRIPTION
                     " This mib variable contains the following values, which has the meaning as:
                         'unsuppressed'     - The interface is not suppressed
                         'suppressed'         - The interface is suppressed
                     "
         ::= { agentSwitchIpInterfaceEntry 14 } 

    agentSwitchIpInterfaceNumberOfFlaps OBJECT-TYPE
         SYNTAX      Unsigned32 (0 .. 4294967295)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This mib variable displays the number of flaps occurred on the interface"
         ::= { agentSwitchIpInterfaceEntry 15 }

    agentSwitchIpInterfaceCurrentPenalty OBJECT-TYPE
         SYNTAX      Unsigned32 (0 .. 20000)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This mib variable displays the current penalty of an interface"
         ::= { agentSwitchIpInterfaceEntry 16 }

    agentSwitchIpInterfaceReUseTime OBJECT-TYPE
         SYNTAX      Unsigned32 (0 .. 255)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This mib variable displays the number of seconds until the interface is  
                       allowed to come up " 
         ::= { agentSwitchIpInterfaceEntry 17 }

    --**************************************************************************************
    -- agentSwitchIpRouterDiscoveryTable
    --
    --**************************************************************************************
        
    agentSwitchIpRouterDiscoveryTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIpRouterDiscoveryEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "There is no global administrative flag for router discovery.  The global
                     routing flag (agentSwitchIpRoutingMode) will be used for this purpose.  If routing
                     is disabled, router discovery is disabled as well."
         ::= { agentSwitchIpGroup 4 }

    agentSwitchIpRouterDiscoveryEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIpRouterDiscoveryEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         INDEX       { agentSwitchIpRouterDiscoveryIfIndex }
         ::= { agentSwitchIpRouterDiscoveryTable 1 }
         
    AgentSwitchIpRouterDiscoveryEntry ::= SEQUENCE {         
          agentSwitchIpRouterDiscoveryIfIndex
              Integer32,
          agentSwitchIpRouterDiscoveryAdvertiseMode
              INTEGER,
          agentSwitchIpRouterDiscoveryMaxAdvertisementInterval
              Integer32,
          agentSwitchIpRouterDiscoveryMinAdvertisementInterval
              Integer32,
          agentSwitchIpRouterDiscoveryAdvertisementLifetime
              Integer32,
          agentSwitchIpRouterDiscoveryPreferenceLevel
              Integer32,
          agentSwitchIpRouterDiscoveryAdvertisementAddress
              IpAddress
          }
          
    agentSwitchIpRouterDiscoveryIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface Number to configure Router Discovery on."
         ::= { agentSwitchIpRouterDiscoveryEntry 1 }
         
    agentSwitchIpRouterDiscoveryAdvertiseMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable or disable router discovery on the interface."
         DEFVAL      { disable }
         ::= { agentSwitchIpRouterDiscoveryEntry 2 }
         
    agentSwitchIpRouterDiscoveryMaxAdvertisementInterval OBJECT-TYPE
         SYNTAX      Integer32 (4..1800)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Maximum time allowed between sending router advertisements 
                     from the interface."
         DEFVAL      { 600 }
         ::= { agentSwitchIpRouterDiscoveryEntry 3 }
         
    agentSwitchIpRouterDiscoveryMinAdvertisementInterval OBJECT-TYPE
         SYNTAX      Integer32 (3..1800)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Minimum time allowed between sending router advertisements from the interface.
                     
                     This value must be less than or equal to 
                     agentSwitchIpRouterDiscoveryMaxAdvertisementInterval."
         DEFVAL      { 450 }
         ::= { agentSwitchIpRouterDiscoveryEntry 4 }
         
    agentSwitchIpRouterDiscoveryAdvertisementLifetime OBJECT-TYPE
         SYNTAX      Integer32 (4..9000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Value of lifetime field of router advertsisement sent from 
                     the interface.
                     
                     This value must be greater than or equal to 
                     agentSwitchIpRouterDiscoveryMaxAdvertisementInterval."
         DEFVAL      { 1800 }
         ::= { agentSwitchIpRouterDiscoveryEntry 5 }
         
    agentSwitchIpRouterDiscoveryPreferenceLevel OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Preferability of the address as a default router address,
                     related to other addresses on the same subnet.  This is defined
                     as the larger the number, the higher the preference."
         DEFVAL      { 0 }
         ::= { agentSwitchIpRouterDiscoveryEntry 6 }
         
    agentSwitchIpRouterDiscoveryAdvertisementAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Address used when sending router advertisements from the interface."
         DEFVAL      { 'E0000001'H } -- 224.0.0.1
         ::= { agentSwitchIpRouterDiscoveryEntry 7 }
         
    --**************************************************************************************
    -- agentSwitchIpVlanTable
    --
    --**************************************************************************************
        
    agentSwitchIpVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIpVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         ::= { agentSwitchIpGroup 5 }

    agentSwitchIpVlanEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIpVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "A Static VLAN for which routing can be enabled/disabled"
         INDEX       { agentSwitchIpVlanId }
         ::= { agentSwitchIpVlanTable 1 }
         
    AgentSwitchIpVlanEntry ::= SEQUENCE {         
          agentSwitchIpVlanId
              Integer32,
          agentSwitchIpVlanIfIndex
              Integer32,
          agentSwitchIpVlanRoutingStatus
              RowStatus
          }
          
    agentSwitchIpVlanId OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The Vlan's Id."
         ::= { agentSwitchIpVlanEntry 1 }
         
    agentSwitchIpVlanIfIndex OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The IfIndex associated with this VLAN."
         ::= { agentSwitchIpVlanEntry 2 }
         
    agentSwitchIpVlanRoutingStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Status of Routing mode per Vlan.
                     active(1)       - Vlan is enabled for routing
                     createAndGo(4)  - Adds Vlan entry for routing
                     destroy(6)      - Removes Vlan from routing"
         ::= { agentSwitchIpVlanEntry 3 }
         
    --**************************************************************************************
    -- agentSwitchSecondaryAddressTable
    --
    --**************************************************************************************
        
    agentSwitchSecondaryAddressTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchSecondaryAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "Contains a list of secondary IP Addresses associated with an interface."
         ::= { agentSwitchIpGroup 6 }

    agentSwitchSecondaryAddressEntry OBJECT-TYPE
         SYNTAX      AgentSwitchSecondaryAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "A secondary IP Address for a given interface.  This IP Address must not 
                     conflict with the IP Address configured in the agentSwitchIpInterfaceTable."
         INDEX       { agentSwitchIpInterfaceIfIndex, agentSwitchSecondaryIpAddress }
         ::= { agentSwitchSecondaryAddressTable 1 }
         
    AgentSwitchSecondaryAddressEntry ::= SEQUENCE {         
          agentSwitchSecondaryIpAddress
              IpAddress,
          agentSwitchSecondaryNetMask
              IpAddress,
          agentSwitchSecondaryStatus
              RowStatus
          }
          
    agentSwitchSecondaryIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Secondary IP Address assigned to this interface."
         ::= { agentSwitchSecondaryAddressEntry 1 }
          
    agentSwitchSecondaryNetMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The Secondary Net Mask assigned to this interface.  This value must be
                     set during creation, and can not be changed."
         ::= { agentSwitchSecondaryAddressEntry 2 }
          
    agentSwitchSecondaryStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Creates a new entry in the Secondary Address table.
                     Allowed values are:
                     
                     createAndGo(4)  - Creates an entry in this table, associating the address
                                       with a given interface.  The agentSwitchSecondaryNetMask
                                       object must be set during creation.
                                        
                     destroy(6)      - Removes the associated address from the interface."
         ::= { agentSwitchSecondaryAddressEntry 3 }

    --**************************************************************************************
    -- agentSwitchHelperAddressTable
    --
    --**************************************************************************************
    agentSwitchHelperAddressTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchHelperAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
                     "Replaced by agentSwitchIntfIpHelperAddressTable."
         ::= { agentSwitchIpGroup  7}

    agentSwitchHelperAddressEntry OBJECT-TYPE
         SYNTAX      AgentSwitchHelperAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
                     "A Helper IP Address for a given interface."
         INDEX       { agentSwitchIpInterfaceIfIndex, agentSwitchHelperIpAddress }
         ::= { agentSwitchHelperAddressTable 1 }

    AgentSwitchHelperAddressEntry ::= SEQUENCE {
          agentSwitchHelperIpAddress
              IpAddress,
           agentSwitchHelperStatus
              RowStatus
          }

    agentSwitchHelperIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
                     "The Helper IP Address assigned to this interface."
         ::= { agentSwitchHelperAddressEntry 1 }

    agentSwitchHelperStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "Creates a new entry in the Helper Address table.
                     Allowed values are:

                     createAndGo(4)  - Creates an entry in this table, associating the address
                                       with a given interface.  The agentSwitchHelperNetMask
                                       object must be set during creation.

                     destroy(6)      - Removes the associated address from the interface."
         ::= { agentSwitchHelperAddressEntry 2 }


   --**************************************************************************************
   -- agentSwitchIpIcmpGroup
   --
   --************************************************************************************** 
   agentSwitchIpIcmpControlGroup                     OBJECT IDENTIFIER ::= { agentSwitchIpGroup 8}
   agentSwitchIpIcmpEchoReplyMode OBJECT-TYPE
        SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Sets the administrative Echo Reply Mode."
         ::= { agentSwitchIpIcmpControlGroup 1 }

  agentSwitchIpIcmpRedirectsMode OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
                   "Sets the administrative Mode for sending Redirects. "
       ::= { agentSwitchIpIcmpControlGroup 2 }

  agentSwitchIpIcmpRateLimitInterval OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
                   "Specifies the time interval between tokens being placed in the bucket for
                    ICMP Ratelimit."
       ::= { agentSwitchIpIcmpControlGroup 3 }

  agentSwitchIpIcmpRateLimitBurstSize OBJECT-TYPE
       SYNTAX      Integer32 (1..200)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
                   "Specifies the number of tokens to be placed after timeout."
       ::= { agentSwitchIpIcmpControlGroup 4 }

    --**************************************************************************************
    -- agentSwitchIntfIpHelperAddressTable
    --
    --**************************************************************************************
    agentSwitchIntfIpHelperAddressTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIntfIpHelperAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Contains a list of IP helper addresses associated with an interface."
         ::= { agentSwitchIpGroup  10}

    agentSwitchIntfIpHelperAddressEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIntfIpHelperAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "An IP helper address for a given interface."
         INDEX       { agentSwitchIpInterfaceIfIndex, agentSwitchIntfIpHelperUdpPort, agentSwitchIntfIpHelperIpAddress }
         ::= { agentSwitchIntfIpHelperAddressTable 1 }

    AgentSwitchIntfIpHelperAddressEntry ::= SEQUENCE {
          agentSwitchIntfIpHelperIpAddress
              IpAddress,
          agentSwitchIntfIpHelperUdpPort
              Unsigned32,
          agentSwitchIntfIpHelperDiscard
              TruthValue,
          agentSwitchIntfIpHelperHitCount
              Unsigned32,
           agentSwitchIntfIpHelperStatus
              RowStatus
          }

    agentSwitchIntfIpHelperIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "An IP helper address for packets received on this interface. 
                     An address of 0.0.0.0 identifies the entry as a discard entry.
                     Packets that match a discard entry are dropped."
         ::= { agentSwitchIntfIpHelperAddressEntry 1 }

    agentSwitchIntfIpHelperUdpPort OBJECT-TYPE
         SYNTAX      Unsigned32 (0..65535)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "UDP port number. Received packets with this destination UDP port
                     number are forwarded to the helper address in this entry."
         ::= { agentSwitchIntfIpHelperAddressEntry 2 }

    agentSwitchIntfIpHelperDiscard OBJECT-TYPE
         SYNTAX      TruthValue
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Variable obsoleted. To create a discard entry, set the 
                     helper address to 0.0.0.0."
         ::= { agentSwitchIntfIpHelperAddressEntry 3 }

    agentSwitchIntfIpHelperHitCount OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The number of times a packet has been forwarded or discarded according to this entry."
         ::= { agentSwitchIntfIpHelperAddressEntry 4 }

    agentSwitchIntfIpHelperStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Creates a new entry in the Helper Address table.
                     Allowed values are:

                     createAndGo(4)  - Creates an IP helper entry in this table.

                     destroy(6)      - Removes the IP helper entry."
         ::= { agentSwitchIntfIpHelperAddressEntry 5 }

    agentSwitchClearIpDefaultGateway OBJECT-TYPE
         SYNTAX      INTEGER {
                        enable(1),
                        disable(2)
                       }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                   "Resets the Global Default Gateway address."
       ::= { agentSwitchIpGroup 11}



    --**************************************************************************************
    -- agentBootpDhcpRelayGroup
    --
    --**************************************************************************************
    
    agentBootpDhcpRelayGroup       OBJECT IDENTIFIER ::= { fastPathRouting 6 }
    
    agentBootpDhcpRelayMaxHopCount OBJECT-TYPE
      SYNTAX     Integer32 (1..16)
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
        "The BOOTP/DHCP Max Hop Count.
         The relay agent silently discards BOOTREQUEST messages whose hops field exceeds the value 16 
         assuming that the request is looped through the intermediate agents. The default value is 4."
      DEFVAL { 4 }
    ::= { agentBootpDhcpRelayGroup 1 }

    agentBootpDhcpRelayForwardingIp  OBJECT-TYPE
      SYNTAX     IpAddress
      MAX-ACCESS read-write
      STATUS     obsolete
      DESCRIPTION
        "DHCP server addresses are now configured through IP helper."
    ::= { agentBootpDhcpRelayGroup 2 }

    agentBootpDhcpRelayForwardMode OBJECT-TYPE
      SYNTAX     INTEGER { enable(1),  disable(2) }
      MAX-ACCESS read-write
      STATUS     obsolete
      DESCRIPTION     
        "The DHCP relay admin mode is replaced by the IP helper admin mode."
    ::= { agentBootpDhcpRelayGroup 3 }

    agentBootpDhcpRelayMinWaitTime OBJECT-TYPE
      SYNTAX     Integer32 (0..100)
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
        "The BOOTP/DHCP Minimum Wait Time. 
         When the BOOTP relay agent receives a BOOTREQUEST message, it MAY use the value of the 'secs' 
         (seconds since client began booting) field of the request as a factor in deciding whether to 
         relay the request or not."
    ::= { agentBootpDhcpRelayGroup 4 }


    agentBootpDhcpRelayCircuitIdOptionMode OBJECT-TYPE
      SYNTAX     INTEGER { enable(1), disable(2) }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
        "The BOOTP/DHCP Circuit ID Option Mode. 
         This flag is set to enable/disable the network element to add/remove the DHCP Relay agent
         Circuit ID sub-options."
    ::= { agentBootpDhcpRelayGroup 5 }

    agentBootpDhcpRelayNumOfRequestsReceived OBJECT-TYPE
      SYNTAX     Integer32
      MAX-ACCESS read-only
      STATUS     obsolete
      DESCRIPTION
        "Replaced by IP helper statistics."
    ::= { agentBootpDhcpRelayGroup 6 }


    agentBootpDhcpRelayNumOfRequestsForwarded OBJECT-TYPE
      SYNTAX     Integer32
      MAX-ACCESS read-only
      STATUS     obsolete
      DESCRIPTION
        "Replaced by IP helper statistics."
    ::= { agentBootpDhcpRelayGroup 7 }


    agentBootpDhcpRelayNumOfDiscards OBJECT-TYPE
      SYNTAX     Integer32
      MAX-ACCESS read-only
      STATUS     obsolete
      DESCRIPTION
        "Replaced by IP helper statistics."
    ::= { agentBootpDhcpRelayGroup 8 }






 --**************************************************************************************
    -- ipHelperGroup
    --
    --**************************************************************************************
    
    agentIpHelperGroup       OBJECT IDENTIFIER ::= { fastPathRouting 11 }

    agentIpHelperAdminMode OBJECT-TYPE
      SYNTAX     INTEGER { enable(1),  disable(2) }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION     
        "Administratively enable or disable IP helper."
    ::= { agentIpHelperGroup 1 }

    agentDhcpClientMsgsReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The Number of DHCP Requests Received. 
         Total number of DHCP requests received from all clients."
    ::= { agentIpHelperGroup 2 }

    agentDhcpClientMsgsRelayed OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The Number of DHCP Requests Forwarded. 
         Total number of DHCP requests relayed to a server."
    ::= { agentIpHelperGroup 3 }

    agentDhcpServerMsgsReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of DHCP messages received from a server."
    ::= { agentIpHelperGroup 4 }

    agentDhcpServerMsgsRelayed OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of DHCP messages relayed to a server."
    ::= { agentIpHelperGroup 5 }

    agentUdpClientMsgsReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of UDP messages received from all clients."
    ::= { agentIpHelperGroup 6 }

    agentUdpClientMsgsRelayed OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of UDP messages relayed to a server."
    ::= { agentIpHelperGroup 7 }

    --**************************************************************************************
    -- agentSwitchIpHelperAddressTable
    --
    --**************************************************************************************
    agentSwitchIpHelperAddressTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIpHelperAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Contains a list of IP helper addresses configured globally."
         ::= { agentIpHelperGroup  8}

    agentSwitchIpHelperAddressEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIpHelperAddressEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "An IP Helper address that applies to packets received on any interface."
         INDEX       { agentSwitchIpHelperAddress, agentSwitchIpHelperUdpPort }
         ::= { agentSwitchIpHelperAddressTable 1 }

    AgentSwitchIpHelperAddressEntry ::= SEQUENCE {
          agentSwitchIpHelperAddress
              IpAddress,
          agentSwitchIpHelperUdpPort
              Unsigned32,
          agentSwitchIpHelperHitCount
              Unsigned32,
           agentSwitchIpHelperStatus
              RowStatus
          }

    agentSwitchIpHelperAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The IP Helper address assigned to this interface."
         ::= { agentSwitchIpHelperAddressEntry 1 }

    agentSwitchIpHelperUdpPort OBJECT-TYPE
         SYNTAX      Unsigned32 (0..65535)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "UDP port number."
         ::= { agentSwitchIpHelperAddressEntry 2 }

    agentSwitchIpHelperHitCount OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The number of times a packet has been forwarded or discarded according to this entry."
         ::= { agentSwitchIpHelperAddressEntry 3 }

    agentSwitchIpHelperStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Creates a new entry in the global IP Helper address table.
                     Allowed values are:

                     createAndGo(4)  - Creates an IP helper entry in this table.

                     destroy(6)      - Removes the IP helper entry."
         ::= { agentSwitchIpHelperAddressEntry 4 }

    agentUdpClientMsgsTtlExpired OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of UDP messages received with an expired TTL."
    ::= { agentIpHelperGroup 9 }

    agentUdpClientMsgsDiscarded OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of UDP messages that matched a discard entry."
    ::= { agentIpHelperGroup 10 }

    --**************************************************************************************
    -- agentInternalVlanGroup
    --
    --**************************************************************************************
    
    agentInternalVlanGroup       OBJECT IDENTIFIER ::= { fastPathRouting 12 }
    agentInternalVlanBase OBJECT-TYPE
      SYNTAX     Integer32 
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
        "The VLAN ID internally assigned to the first port-based routing interface."
      DEFVAL { 4093 }
    ::= { agentInternalVlanGroup 1 }

    agentInternalVlanPolicy OBJECT-TYPE
      SYNTAX     INTEGER {
                      ascending (0),
                      descending (1)
                     }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
        "Whether to search up or down from the base VLAN ID for a free VLAN ID to
         assign to a port-based routing interface."
      DEFVAL { descending }
    ::= { agentInternalVlanGroup 2 }

    --****************************************************************************
    -- agentSwitchInternalVlanTable
    --
    --*****************************************************************************
    agentSwitchInternalVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchInternalVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Contains a list of VLAN IDs used internally for port-based routing interfaces."
         ::= { agentInternalVlanGroup  3}

    agentSwitchInternalVlanEntry OBJECT-TYPE
         SYNTAX      AgentSwitchInternalVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A VLAN ID internally assigned to a port-based routing interface."
         INDEX       { agentSwitchInternalVlanId }
         ::= { agentSwitchInternalVlanTable 1 }

    AgentSwitchInternalVlanEntry ::= SEQUENCE {
          agentSwitchInternalVlanId
              Integer32,
          agentSwitchInternalVlanIfIndex
              Integer32
          }

    agentSwitchInternalVlanId OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A VLAN ID internally assigned to a port-based routing interface."
         ::= { agentSwitchInternalVlanEntry 1 }

    agentSwitchInternalVlanIfIndex OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface index of port-based routing interface using this VLAN ID."
         ::= { agentSwitchInternalVlanEntry 2 }


    --****************************************************************     
    -- agentRoutingHeapGroup
    -- 
    --****************************************************************
    
    agentRoutingHeapGroup    OBJECT IDENTIFIER ::= { fastPathRouting 16 }

    agentRoutingHeapSize OBJECT-TYPE
      SYNTAX     Unsigned32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The size of the routing heap, in bytes.  Unicast routing protocols 
        and ARP allocate memory from the routing heap." 
    ::= { agentRoutingHeapGroup 1 }

    agentRoutingHeapInUse OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of bytes currently allocated from the routing heap." 
    ::= { agentRoutingHeapGroup 2 }

    agentRoutingHeapHigh OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "High water mark for the number of bytes allocated from the routing heap." 
    ::= { agentRoutingHeapGroup 3 }

    --****************************************************************     
    -- agentRoutingTableSummaryGroup
    -- 
    --****************************************************************

    agentRoutingTableSummaryGroup    OBJECT IDENTIFIER ::= { fastPathRouting 17 }

    agentConnectedRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of connected routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 1 }

    agentStaticRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of static routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 2 }

    agentRipRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of RIP routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 3 }

    agentOspfRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of OSPFv2 routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 4 }

    agentOspfIntraRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of OSPFv2 intra-area routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 5 }

    agentOspfInterRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of OSPFv2 inter-area routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 6 }

    agentOspfExt1Routes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of OSPFv2 external type 1 routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 7 }

    agentOspfExt2Routes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of OSPFv2 external type 2 routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 8 }

    agentBgpRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of BGP routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 9 }

    agentEbgpRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of external BGP routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 10 }

    agentIbgpRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of internal BGP routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 11 }

    agentLocalBgpRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of local BGP routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 12 }

    agentRejectRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of reject routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 13 }

    agentTotalRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of routes in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 14 }

    agentBestRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of IPv4 routes in the forwarding table." 
    ::= { agentRoutingTableSummaryGroup 15 }

    agentBestRoutesHigh OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The highest number of IPv4 routes in the forwarding table." 
    ::= { agentRoutingTableSummaryGroup 16 }

    agentAlternateRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of alternate routes in the IPv4 routing table. 
         An alternate route is less preferred than the best route and is not used for forwarding." 
    ::= { agentRoutingTableSummaryGroup 17 }

    agentRouteAdds OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of routes added to the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 18 }

    agentRouteModifies OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of routes changed in the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 19 }

    agentRouteDeletes OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of routes removed from the IPv4 routing table." 
    ::= { agentRoutingTableSummaryGroup 20 }

    agentUnresolvedRouteAdds OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of IPv4 route adds that failed because none of the route's next hops were on a local subnet." 
    ::= { agentRoutingTableSummaryGroup 21 }

    agentInvalidRouteAdds OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of IPv4 routes adds that failed because the route was invalid." 
    ::= { agentRoutingTableSummaryGroup 22 }

    agentFailedRouteAdds OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of IPv4 routes adds that failed because of a resource limitation in the routing table" 
    ::= { agentRoutingTableSummaryGroup 23 }

    agentReservedLocals OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of IPv4 routing table entries reserved for a local subnet on a routing interface that is down. " 
    ::= { agentRoutingTableSummaryGroup 24 }

    agentUniqueNextHops OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of distinct next hops used among all IPv4 routes currently in the routing table. 
         These include local interfaces for local routes and neighbors for indirect routes." 
    ::= { agentRoutingTableSummaryGroup 25 }

    agentUniqueNextHopsHigh OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The highest count of unique next hops since counters were last cleared." 
    ::= { agentRoutingTableSummaryGroup 26 }

    agentNextHopGroups OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The current number of next hop groups in use by one or more routes. 
         Each next hop group includes one or more next hops." 
    ::= { agentRoutingTableSummaryGroup 27 }

    agentNextHopGroupsHigh OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The highest count of next hop groups since counters were last cleared." 
    ::= { agentRoutingTableSummaryGroup 28 }

    agentEcmpGroups OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of next hop groups with multiple next hops." 
    ::= { agentRoutingTableSummaryGroup 29 }

    agentEcmpGroupsHigh OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The high water mark of the number of ECMP groups." 
    ::= { agentRoutingTableSummaryGroup 30 }

    agentEcmpRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The current number of IPv4 routes with multiple next hops." 
    ::= { agentRoutingTableSummaryGroup 31 }

    agentTruncEcmpRoutes OBJECT-TYPE
      SYNTAX     Gauge32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of ECMP routes that are currently installed in the forwarding table 
         with just one next hop. The forwarding table may limit the number of ECMP 
         routes or the number of ECMP groups. When an ECMP route cannot be installed 
         because such a limit is reached, the route is installed with a single next hop." 
    ::= { agentRoutingTableSummaryGroup 32 }

    agentEcmpRetries OBJECT-TYPE
      SYNTAX     Counter32 
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "The number of ECMP routes that have been installed in the forwarding table 
         after initially being installed with a single next hop." 
    ::= { agentRoutingTableSummaryGroup 33 }

    --****************************************************************
    -- agentEcmpCountTable
    --
    --************************************************************

    agentEcmpCountTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentEcmpCountEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A count of the number of routes with each number of ECMP next hops."
         ::= { fastPathRouting 18}

    agentEcmpCountEntry OBJECT-TYPE
         SYNTAX      AgentEcmpCountEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Number of IPv4 routes with a given number of next hops."
         INDEX       { agentEcmpNextHopCount }
         ::= { agentEcmpCountTable 1 }

    AgentEcmpCountEntry ::= SEQUENCE {
         agentEcmpNextHopCount
            Unsigned32,
         agentEcmpRouteCount
            Gauge32
       }

    agentEcmpNextHopCount OBJECT-TYPE
         SYNTAX      Unsigned32 (0..128)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The number of next hops in a route. From 0 to the maximum number of 
                      next hops in an ECMP route. The maximum varies by platform."
         ::= { agentEcmpCountEntry 1 }

    agentEcmpRouteCount OBJECT-TYPE
         SYNTAX      Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The number of IPv4 routes with agentEcmpNextHopCount next hops."
         ::= { agentEcmpCountEntry 2 }

    

END
