FASTPATH-ROUTING6-MIB DEFINITIONS ::= BEGIN

-- Broadcom Corporation FastPath Routing MIB
-- Copyright Broadcom Corporation (2007) All rights reserved.

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

-- This Specification is supplied "AS IS", Broadcom Corporation
-- 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,
    Counter32, Unsigned32, Integer32,
    Gauge32                               FROM SNMPv2-SMI
    DisplayString, PhysAddress, TruthValue, TimeStamp,
    VariablePointer, RowPointer, RowStatus, MacAddress
                                          FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP                    FROM SNMPv2-CONF
    Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix,
    Ipv6AddressIfIdentifier,
    Ipv6IfIndexOrZero                     FROM IPV6-TC
    fastPath                              FROM BROADCOM-REF-MIB;

    fastPathRoutingIpv6 MODULE-IDENTITY
        LAST-UPDATED "200705230000Z" -- 23 May 2007 12:00:00 GMT
        ORGANIZATION "Broadcom Corporation"
        CONTACT-INFO
          "                      Customer Support
          Postal:                Broadcom Corporation
                                 100, Perimeter Park Drive
                                 Morrisville, NC 27560
          Tel:                   +1 919 865 2700"
        DESCRIPTION
          "The Broadcom Private MIB for FastPath Ipv6 Routing"

        -- Revision history.
        REVISION
          "200705230000Z" -- 23 May 2007 12:00:00 GMT
        DESCRIPTION
          "Broadcom branding related changes."
        REVISION
          "200509211700Z" -- 21 Sept 2005 12:00 PM EST
        DESCRIPTION
          "Updated for release"

    ::= { fastPath 30 }


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

    --**************************************************************************************
    -- agentIpv6InterfaceTable
    --
    --**************************************************************************************
        
    agentIpv6InterfaceTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentIpv6InterfaceEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         ::= { agentIpv6Group 2 }

    agentIpv6InterfaceEntry OBJECT-TYPE
         SYNTAX      AgentIpv6InterfaceEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         INDEX       { agentIpv6InterfaceIfIndex }
         ::= { agentIpv6InterfaceTable 1 }
         
    AgentIpv6InterfaceEntry ::= SEQUENCE {         
          agentIpv6InterfaceIfIndex
              Integer32,
          agentIpv6InterfaceMtuValue
              Unsigned32,
          agentIpv6InterfaceDadTransmits
              Integer32,
          agentIpv6InterfaceLinkLocalOnly
              INTEGER,
          agentIpv6InterfaceIcmpUnreachables
              INTEGER

          }
          
    agentIpv6InterfaceIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The IfIndex associated with this instance."
         ::= { agentIpv6InterfaceEntry 1 }
          
    agentIpv6InterfaceMtuValue OBJECT-TYPE
         SYNTAX      Unsigned32 (0|1280..1500)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the MTU value for this interface.If it is not yet configured,
                      retrieving the value of this object results in a zero value.
                      Setting the value zero to this object effectively un-configures the MTU."
         ::= { agentIpv6InterfaceEntry 2 }
          
    agentIpv6InterfaceDadTransmits OBJECT-TYPE
         SYNTAX      Integer32 (0..100)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the dad transmits value for this interface."  
         ::= { agentIpv6InterfaceEntry 3 }

    agentIpv6InterfaceLinkLocalOnly OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "When enabled, interface is capable of ipv6 operation without a global address.
                      In this case, an eui-64 based link-local address is used. "
         DEFVAL      { disable }
         ::= { agentIpv6InterfaceEntry 4 }
     
    agentIpv6InterfaceIcmpUnreachables OBJECT-TYPE
         SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                  }

         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "If this object is enable, it indicates that ICMPv6 unreachables can be sent on this
                      interface."
         ::= { agentIpv6InterfaceEntry 5 }
          
    --**************************************************************************************
    -- agentIpv6RouterAdvertisementTable
    --
    --**************************************************************************************
        
    agentIpv6RouterAdvertisementTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentIpv6RouterAdvertisementEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "There is no global administrative flag for router advertisement.  The global
                     routing flag (agentIpv6RoutingMode) will be used for this purpose.  If routing
                     is disabled, router advertisement is disabled as well."
         ::= { agentIpv6Group 3 }

    agentIpv6RouterAdvertisementEntry OBJECT-TYPE
         SYNTAX      AgentIpv6RouterAdvertisementEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     ""
         INDEX       { agentIpv6RouterAdvertisementIfIndex }
         ::= { agentIpv6RouterAdvertisementTable 1 }
         
    AgentIpv6RouterAdvertisementEntry ::= SEQUENCE {         
          agentIpv6RouterAdvertisementIfIndex
              Integer32,
          agentIpv6RouterAdvertisementSuppressMode
              INTEGER,
          agentIpv6RouterAdvertisementMaxAdvertisementInterval
              Integer32,
          agentIpv6RouterAdvertisementAdvertisementLifetime
              Integer32,
          agentIpv6RouterAdvertisementNbrSolicitInterval
              Integer32,
          agentIpv6RouterAdvertisementReachableTime
              Integer32,
          agentIpv6RouterAdvertisementManagedFlag
              INTEGER,
          agentIpv6RouterAdvertisementOtherFlag
              INTEGER
          }
          
    agentIpv6RouterAdvertisementIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface Number to configure Router Advertisement on."
         ::= { agentIpv6RouterAdvertisementEntry 1 }
         
    agentIpv6RouterAdvertisementSuppressMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable or disable router advertisement suppression on the interface."
         DEFVAL      { disable }
         ::= { agentIpv6RouterAdvertisementEntry 2 }
         
    agentIpv6RouterAdvertisementMaxAdvertisementInterval 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 }
         ::= { agentIpv6RouterAdvertisementEntry 3 }
         
    agentIpv6RouterAdvertisementAdvertisementLifetime OBJECT-TYPE
         SYNTAX      Integer32 (4..65520)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Value of lifetime field of router advertisement sent from 
                     the interface.
                     
                     This value must be greater than or equal to 
                     agentIpv6RouterAdvertisementMaxAdvertisementInterval."
         DEFVAL      { 1800 }
         ::= { agentIpv6RouterAdvertisementEntry 4 }
         
    agentIpv6RouterAdvertisementNbrSolicitInterval OBJECT-TYPE
         SYNTAX      Integer32 (0..3600000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Value of retrans time field of router advertisement sent from 
                     the interface. A value of 0 means this router does not specifiy 
                     the interval."
                     
         DEFVAL      { 0 }
         ::= { agentIpv6RouterAdvertisementEntry 5 }
         
    agentIpv6RouterAdvertisementReachableTime OBJECT-TYPE
         SYNTAX      Integer32 (0..3600000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Value of reachable time field of router advertisement sent from 
                     the interface. A value of 0 means this router does not specifiy 
                     the interval."
                     
         DEFVAL      { 0 }
         ::= { agentIpv6RouterAdvertisementEntry 6 }
         
    agentIpv6RouterAdvertisementManagedFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Value of managed config field of router advertisement sent from 
                      the interface."
         DEFVAL      { disable }
         ::= { agentIpv6RouterAdvertisementEntry 7 }

    agentIpv6RouterAdvertisementOtherFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Value of other config field of router advertisement sent from 
                      the interface."
         DEFVAL      { disable }
         ::= { agentIpv6RouterAdvertisementEntry 8 }
         
         

    -- Address Prefix table
    
    -- The IPv6 Address Prefix table contains information on
    -- the entity's IPv6 Address Prefixes that are associated
    -- with IPv6 interfaces.
      
    agentIpv6AddrPrefixTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF AgentIpv6AddrPrefixEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "The list of IPv6 address prefixes of
             IPv6 interfaces."
         ::= { agentIpv6Group 4 }
      
    agentIpv6AddrPrefixEntry OBJECT-TYPE
         SYNTAX  AgentIpv6AddrPrefixEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "An interface entry containing objects of
             a particular IPv6 address prefix."
         INDEX   { agentIpv6InterfaceIfIndex,
                   agentIpv6AddrPrefix,
                   agentIpv6AddrPrefixLength }
         ::= { agentIpv6AddrPrefixTable 1 }
      
    AgentIpv6AddrPrefixEntry ::= SEQUENCE {
          agentIpv6AddrPrefix                     Ipv6AddressPrefix,
          agentIpv6AddrPrefixLength               INTEGER,
          agentIpv6AddrPrefixOnLinkFlag           TruthValue,
          agentIpv6AddrPrefixAutonomousFlag       TruthValue,
          agentIpv6AddrPrefixAdvPreferredLifetime Unsigned32,
          agentIpv6AddrPrefixAdvValidLifetime     Unsigned32
         }
      
    agentIpv6AddrPrefix OBJECT-TYPE
         SYNTAX      Ipv6AddressPrefix
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
           "The prefix associated with the this interface."
         ::= { agentIpv6AddrPrefixEntry 1 }
      
    agentIpv6AddrPrefixLength OBJECT-TYPE
         SYNTAX      INTEGER (0..128)
         UNITS       "bits"
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
           "The length of the prefix (in bits)."
         ::= { agentIpv6AddrPrefixEntry 2 }
      
    agentIpv6AddrPrefixOnLinkFlag OBJECT-TYPE
         SYNTAX      TruthValue
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
           "This object has the value 'true(1)', if this
           prefix can be used  for on-link determination
           and the value 'false(2)' otherwise."
         ::= { agentIpv6AddrPrefixEntry 3 }
      
    agentIpv6AddrPrefixAutonomousFlag OBJECT-TYPE
         SYNTAX      TruthValue
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
           "Autonomous address configuration flag. When
           true(1), indicates that this prefix can be used
           for autonomous address configuration (i.e. can
           be used to form a local interface address).
           If false(2), it is not used to autoconfigure
           a local interface address."
         ::= { agentIpv6AddrPrefixEntry 4 }
      
      
      
      
      
      
    agentIpv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
         SYNTAX      Unsigned32
         UNITS       "seconds"
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
            "It is the length of time in seconds that this
            prefix will remain preferred, i.e. time until
            deprecation.  A value of 4,294,967,295 represents
            infinity.
      
            The address generated from a deprecated prefix
            should no longer be used as a source address in
            new communications, but packets received on such
            an interface are processed as expected."
         ::= { agentIpv6AddrPrefixEntry 5 }
      
    agentIpv6AddrPrefixAdvValidLifetime OBJECT-TYPE
         SYNTAX      Unsigned32
         UNITS       "seconds"
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
           "It is the length of time in seconds that this
           prefix will remain valid, i.e. time until
           invalidation.  A value of 4,294,967,295 represents
           infinity.
      
           The address generated from an invalidated prefix
           should not appear as the destination or source
           address of a packet."
         ::= { agentIpv6AddrPrefixEntry 6 }
      
      
      
      
    -- the IPv6 Address table
    
    -- The IPv6 address table contains this node's IPv6
    -- addressing information.
      
    agentIpv6AddrTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AgentIpv6AddrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The table of addressing information relevant to
          this node's interface addresses."
        ::= { agentIpv6Group 5 }
      
      
    agentIpv6AddrEntry OBJECT-TYPE
        SYNTAX      AgentIpv6AddrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The addressing information for one of this
            node's interface addresses."
        INDEX   { agentIpv6InterfaceIfIndex, agentIpv6AddrAddress }
        ::= { agentIpv6AddrTable 1 }
      
    AgentIpv6AddrEntry ::=
        SEQUENCE {
             agentIpv6AddrAddress        Ipv6Address,
             agentIpv6AddrPfxLength      INTEGER,
             agentIpv6AddrEui64Flag      TruthValue,
             agentIpv6AddrStatus         RowStatus
            }
      
    agentIpv6AddrAddress OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The IPv6 address to which this entry's addressing
          information pertains."
        ::= { agentIpv6AddrEntry 1 }
      
    agentIpv6AddrPfxLength OBJECT-TYPE
        SYNTAX      INTEGER(0..128)
        UNITS       "bits"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "The length of the prefix (in bits) associated with
          the IPv6 address of this entry."
        ::= { agentIpv6AddrEntry 2 }
      
    agentIpv6AddrEui64Flag OBJECT-TYPE
         SYNTAX      TruthValue
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
           "This object has the value 'true(1)', if this
           address uses and eui-64 generated interface identifier and the value
           'false(2)' otherwise."
         ::= { agentIpv6AddrEntry 3 }
      
    agentIpv6AddrStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                 "Creates a new entry in the Address table.
                 Allowed values are:
                 
                 createAndGo(4)  - Creates an entry in this table, associating the address
                                   with a given interface.  The agentIpv6NetMask
                                   object must be set during creation.
                                    
                 destroy(6)      - Removes the associated address from the interface."
         ::= { agentIpv6AddrEntry 4 }
      
      
      
    -- IPv6 Static Routing table
    
    agentIpv6StaticRouteTable OBJECT-TYPE
         SYNTAX     SEQUENCE OF AgentIpv6StaticRouteEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "IPv6 Static Routing table. This table contains
           an entry for each valid IPv6 static unicast route
           that can be used for packet forwarding
           determination."
         ::= { agentIpv6Group 6 }
      
    agentIpv6StaticRouteEntry OBJECT-TYPE
         SYNTAX     AgentIpv6StaticRouteEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
                 "A routing entry."
         INDEX   { agentIpv6StaticRouteDest,
                   agentIpv6StaticRoutePfxLength,
                   agentIpv6StaticRouteIfIndex,
                   agentIpv6StaticRouteNextHop }
         ::= { agentIpv6StaticRouteTable 1 }
      
    AgentIpv6StaticRouteEntry ::= SEQUENCE {
             agentIpv6StaticRouteDest           Ipv6AddressPrefix,
             agentIpv6StaticRoutePfxLength      INTEGER,
             agentIpv6StaticRouteIfIndex        Ipv6IfIndexOrZero,
             agentIpv6StaticRouteNextHop        Ipv6Address,
             agentIpv6StaticRoutePreference     INTEGER,
             agentIpv6StaticRouteStatus         RowStatus
         }
      
    agentIpv6StaticRouteDest OBJECT-TYPE
         SYNTAX     Ipv6AddressPrefix
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "The destination IPv6 address of this route.
           This object may not take a Multicast address
           value."
         ::= { agentIpv6StaticRouteEntry 1 }
      
    agentIpv6StaticRoutePfxLength OBJECT-TYPE
         SYNTAX     INTEGER(0..128)
         UNITS      "bits"
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "Indicates the prefix length of the destination
           address."
         ::= { agentIpv6StaticRouteEntry 2 }
    
    agentIpv6StaticRouteIfIndex OBJECT-TYPE
         SYNTAX     Ipv6IfIndexOrZero
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "The index value which uniquely identifies the local
           interface through which the next hop of this
           route should be reached.  The interface identified
           by a particular value of this index is the same
           interface as identified by the same value of
           ipv6IfIndex.  For routes with global address next hop this
           value can be zero."
         ::= { agentIpv6StaticRouteEntry 3 }
    
    agentIpv6StaticRouteNextHop OBJECT-TYPE
         SYNTAX     Ipv6Address
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "The address of the next
           system en route. "
         ::= { agentIpv6StaticRouteEntry 4 }
    
    
    agentIpv6StaticRoutePreference OBJECT-TYPE
         SYNTAX     INTEGER (1..255)
         MAX-ACCESS read-create
         STATUS     current
         DESCRIPTION
            "The routing preference metric for this route. A lower
             value is more preferred."
         DEFVAL      { 1 }
         ::= { agentIpv6StaticRouteEntry 5 }
    
    agentIpv6StaticRouteStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                 "Creates a new entry in the Address table.
                 Allowed values are:
                 
                 createAndGo(4)  - Creates an entry in this table. 
                                    
                 destroy(6)      - Removes the associated route from the interface."
         ::= { agentIpv6StaticRouteEntry 6 }
    

    --**************************************************************************************
    -- agentIpv6ServicePortGroup
    --
    --**************************************************************************************
    
    agentIpv6ServicePortGroup            OBJECT IDENTIFIER ::= { agentIpv6Group 7 }

    -- IPv6 Service Port Prefix Table
    
    agentIpv6ServicePortPrefixTable OBJECT-TYPE
         SYNTAX     SEQUENCE OF AgentIpv6ServicePortPrefixEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "IPv6 Service Port Prefix Table. This table contains
           an entry for each valid IPv6 prefix configured on the
           Service Port."
         ::= { agentIpv6ServicePortGroup 1 }
      
    agentIpv6ServicePortPrefixEntry OBJECT-TYPE
         SYNTAX     AgentIpv6ServicePortPrefixEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
                 "An IPv6 Service Port Prefix entry."
         INDEX   { agentIpv6ServicePortPrefixIndex }
         ::= { agentIpv6ServicePortPrefixTable 1 }
      
    AgentIpv6ServicePortPrefixEntry ::= SEQUENCE {
             agentIpv6ServicePortPrefixIndex    Unsigned32,
             agentIpv6ServicePortPrefix         Ipv6Address,
             agentIpv6ServicePortPrefixLength   Unsigned32
         }

    agentIpv6ServicePortPrefixIndex OBJECT-TYPE
         SYNTAX     Unsigned32
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "The index of the Ipv6 Prefix Address configured on the
           Service Port. Removal of a row will cause index values 
           to be reassigned."
         ::= { agentIpv6ServicePortPrefixEntry 1 }
      
    agentIpv6ServicePortPrefix OBJECT-TYPE
         SYNTAX     Ipv6Address
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
           "The Ipv6 Prefix Address configured on the Service Port."
         ::= { agentIpv6ServicePortPrefixEntry 2 }

    agentIpv6ServicePortPrefixLength OBJECT-TYPE
         SYNTAX     Unsigned32
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
           "The length of the IPv6 Prefix Address."
         ::= { agentIpv6ServicePortPrefixEntry 3 }

    -- IPv6 Service Port Default Router Table

    agentIpv6ServicePortDefaultRouterTable OBJECT-TYPE
         SYNTAX     SEQUENCE OF AgentIpv6ServicePortDefaultRouterEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "IPv6 Service Port Default Router Table. This table contains
           an entry for each valid IPv6 Default Router configured on the
           Service Port."
         ::= { agentIpv6ServicePortGroup 2 }
      
    agentIpv6ServicePortDefaultRouterEntry OBJECT-TYPE
         SYNTAX     AgentIpv6ServicePortDefaultRouterEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
                 "An IPv6 Service Port Default Router entry."
         INDEX   { agentIpv6ServicePortDefaultRouterIndex }
         ::= { agentIpv6ServicePortDefaultRouterTable 1 }
      
    AgentIpv6ServicePortDefaultRouterEntry ::= SEQUENCE {
             agentIpv6ServicePortDefaultRouterIndex    Unsigned32,
             agentIpv6ServicePortDefaultRouter         Ipv6Address
         }

    agentIpv6ServicePortDefaultRouterIndex OBJECT-TYPE
         SYNTAX     Unsigned32
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "The index of the IPv6 Default Router Address 
           configured on the Service Port. Removal of a 
           row will cause index values to be reassigned."
         ::= { agentIpv6ServicePortDefaultRouterEntry 1 }

    agentIpv6ServicePortDefaultRouter OBJECT-TYPE
         SYNTAX     Ipv6Address
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
            "The Address of the IPv6 Default Router configured 
            on the Service Port."
         ::= { agentIpv6ServicePortDefaultRouterEntry 2 }


    -- IPv6 Service Port Neighbor Table

    agentIpv6ServicePortNbrTable OBJECT-TYPE
         SYNTAX     SEQUENCE OF AgentIpv6ServicePortNbrEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "IPv6 Service Port Neighbor Table. This table contains
           an entry for each valid IPv6 Neighbor configured on the
           Service Port."
         ::= { agentIpv6ServicePortGroup 3 }
      
    agentIpv6ServicePortNbrEntry OBJECT-TYPE
         SYNTAX     AgentIpv6ServicePortNbrEntry
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
                 "An IPv6 Service Port Neighbor entry."
         INDEX   { agentIpv6ServicePortNbrAddr }
         ::= { agentIpv6ServicePortNbrTable 1 }
      
    AgentIpv6ServicePortNbrEntry ::= SEQUENCE {
             agentIpv6ServicePortNbrAddr         Ipv6Address,
             agentIpv6ServicePortNbrPhysAddr     MacAddress,
             agentIpv6ServicePortNbrState        INTEGER,
             agentIpv6ServicePortNbrUpdated      TimeStamp,
             agentIpv6ServicePortNbrIsRouter     TruthValue

         }

    agentIpv6ServicePortNbrAddr OBJECT-TYPE
         SYNTAX     Ipv6Address
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
           "The Ipv6 Address of a neighbor switch visible to the Service Port."
         ::= { agentIpv6ServicePortNbrEntry 1 }

    agentIpv6ServicePortNbrPhysAddr OBJECT-TYPE
         SYNTAX     MacAddress
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
           "The MacAddress of the neighboring switch."
         ::= { agentIpv6ServicePortNbrEntry 2 }

    agentIpv6ServicePortNbrState OBJECT-TYPE
         SYNTAX     INTEGER { reachable(1),
                              stale(2),
                              delay(3),
                              probe(4),
                              unknown(6)
                            }
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
           "The state of the neighboring switch:
            reachable(1) - The neighbor is reachable by this switch.
            stale(2)     - Information about the neighbor is scheduled for deletion.
            delay(3)     - No information has been received from neighbor during delay period.
            probe(4)     - Switch is attempting to probe for this neighbor.
            unknown(6)   - Unknown status."
         ::= { agentIpv6ServicePortNbrEntry 3 }

    agentIpv6ServicePortNbrUpdated OBJECT-TYPE
         SYNTAX     TimeStamp
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
           "The last sysUpTime that this neighbor has been updated."
         ::= { agentIpv6ServicePortNbrEntry 4 }

    agentIpv6ServicePortNbrIsRouter OBJECT-TYPE
         SYNTAX     TruthValue
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
           "Returns true(1) if the neighbor machine is a router, 
           false(2) otherwise."
         ::= { agentIpv6ServicePortNbrEntry 5 }


      --**************************************************************************************
    -- agentIpv6IcmpGroup
    --
    --**************************************************************************************

    agentIpv6IcmpControlGroup            OBJECT IDENTIFIER ::= { agentIpv6Group 8 }

    agentIpv6IcmpRateLimitInterval 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."
       ::= { agentIpv6IcmpControlGroup 1 }

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

END

