-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsmpipv6.mib,v 1.10 2013/06/28 13:25:35 siva Exp $

SUPERMICRO-MIIPV6-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, 
        Integer32, Counter32, Unsigned32,
        TimeTicks, 
        enterprises FROM SNMPv2-SMI
        DisplayString, RowStatus, TEXTUAL-CONVENTION   FROM SNMPv2-TC
        InetZoneIndex,InetScopeType   FROM INET-ADDRESS-MIB 
        fsMIStdIpContextId, fsMIStdIpv6InterfaceEntry,
        fsMIStdIpv6InterfaceIfIndex, fsMIStdIpIfStatsIfIndex
        FROM SUPERMICRO-MISTD-IPVX-MIB
        InterfaceIndex  FROM IF-MIB;
      
    fsMIipv6MIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z" 
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com"
    DESCRIPTION
        " The MIB module for IPv6 "
    REVISION "201209050000Z"
    DESCRIPTION
        " The MIB module for IPv6 "
    ::=  { enterprises  supermicro-computer-inc(10876) super-switch(101) basic(2) 35 } 
      
	
-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

InterfaceList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        interfaces, with the first octet specifying router-ports 1 through
        8, the second octet specifying router-ports 9 through 16, etc.
        Within each octet, the most significant bit represents the lowest 
        numbered router-port or L3 interface, and the least significant bit
        represents the highest numbered port.  Thus, each L3 interface
        of the switch is represented by a single bit within the
        value of this object.  If that bit has a value of '1',
        then that L3 interface is included in the set of interfaces; the interface 
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING
	
fsMIipv6      OBJECT IDENTIFIER ::= { fsMIipv6MIB 1 }

fsMIipv6Route OBJECT IDENTIFIER ::= { fsMIipv6MIB 2 }

fsMIIpv6Test  OBJECT IDENTIFIER ::= { fsMIipv6MIB 3 }

-- Support for VR configurations

    fsMIIpv6ContextTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6ContextEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains the global configurations for IPv6 for each VR."
    ::= { fsMIipv6 1 }

    fsMIIpv6ContextEntry OBJECT-TYPE
    SYNTAX     FsMIIpv6ContextEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each entry has the IPv6 global configuration for each VR."
    INDEX { fsMIStdIpContextId }
    ::= { fsMIIpv6ContextTable 1 }

    FsMIIpv6ContextEntry ::= SEQUENCE {
        fsMIIpv6NdCacheMaxRetries     Integer32,
        fsMIIpv6PmtuConfigStatus      INTEGER,
        fsMIIpv6PmtuTimeOutInterval   Unsigned32,
        fsMIIpv6JumboEnable           INTEGER,
        fsMIIpv6NumOfSendJumbo        Integer32,
        fsMIIpv6NumOfRecvJumbo        Integer32,
        fsMIIpv6ErrJumbo              Integer32,
        fsMIIpv6ContextDebug          Unsigned32,
        fsMIIpv6RFC5095Compatibility  INTEGER
    }

    fsMIIpv6NdCacheMaxRetries OBJECT-TYPE
    SYNTAX     Integer32 (1..10)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This object specifies the maximum number of retries
         that can be attempted upon resolving the 'physical'
         address of an IPv6 address during address resolution
         or unreachability detection."
    DEFVAL { 3 }
    ::= { fsMIIpv6ContextEntry 1 }

    fsMIIpv6PmtuConfigStatus OBJECT-TYPE
    SYNTAX     INTEGER {
                 enable(1),
                 disable(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Flag to enable or disable Path MTU Discovery for the node."
    DEFVAL { enable }
    ::= { fsMIIpv6ContextEntry 2 }

    fsMIIpv6PmtuTimeOutInterval OBJECT-TYPE
    SYNTAX     Unsigned32 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The time in minutes after which the path MTU entry times out."
    DEFVAL { 60 }
    ::= { fsMIIpv6ContextEntry 3 }
         
    -- IPv6 Jumbograms Scalars

    fsMIIpv6JumboEnable OBJECT-TYPE
    SYNTAX     INTEGER {
                 enable(1),
                 disable(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Flag to enable or disable IPv6 Jumbogram facility for the node."
    DEFVAL  { enable }
    ::= { fsMIIpv6ContextEntry 4 }

    fsMIIpv6NumOfSendJumbo OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of IPv6 Jumbograms sent from the node."
    ::= { fsMIIpv6ContextEntry 5 }
    
    fsMIIpv6NumOfRecvJumbo OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of IPv6 Jumbograms received."
    ::= { fsMIIpv6ContextEntry 6 }

    fsMIIpv6ErrJumbo OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of IPv6 Error Jumbograms received or transmitted."
    ::= { fsMIIpv6ContextEntry 7 }

    fsMIIpv6ContextDebug OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables the tracing in the selected submodule in IP6. A 32 bit
         integer is used to store the Tracing level in the specified module.
         Different Tracing Levels -
         BIT 1 - Management trace.
         BIT 2 - Data path trace.
         BIT 3 - Control Plane trace.
         BIT 4 - Packet Dump.
         BIT 5 - OS Resource trace.
         BIT 6 - All Failure trace (All failures including Packet Validation)
         BIT 7 - Buffer Trace.
         
         Different submodule Tracing -
         BIT 24 - Tracing in IP6 module.
         BIT 25  - Tracing in ICMP6 submodule.
         BIT 26 - Tracing in ND6 submodule.
         BIT 27 - Tracing in UDP6 submodule.
         
         The remaining bits are unused.The combination of levels and submodules
         are allowed i.e. Tracing can be allowed at all failure and data path
         level in All submodules by setting the BIT appropriately.
         For Example, setting the debug value to
         00000001000000000000000001000000 
         will enable all failure trace prints in IP6 module."
     ::= {  fsMIIpv6ContextEntry 8  }


    fsMIIpv6RFC5095Compatibility OBJECT-TYPE
    SYNTAX     INTEGER {
                  enabled(1),
                  disabled(2)
              }
    MAX-ACCESS read-write 
    STATUS  current
    DESCRIPTION
       "When the IPv6 node is configured to be RFC5095 compatible, 
        then it should treat Type 0 Routing Header as invalid 
        routing header type."
    DEFVAL  { enabled}
    ::= { fsMIIpv6ContextEntry 9 }
-- IPv6 Interface Table
    
    fsMIIpv6IfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIIpv6IfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IPv6 Interface table contains information on the 
         entity's internetwork-layer interfaces on which IPv6.
         protocol is enabled. An IPv6 interface constitutes a logical 
         network layer attachment to the layer immediately below
         IPv6. These include LAN interfaces, Point-to-Point interfaces, 
         NBMA interfaces and IPv6 over IPv4 Tunnel interfaces."
    ::= { fsMIipv6 2 }
     
     fsMIIpv6IfEntry OBJECT-TYPE
     SYNTAX     FsMIIpv6IfEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
        "An interface entry containing objects about a particular 
         IPv6 interface. The entry is created or deleted from SNMP."
     AUGMENTS { fsMIStdIpv6InterfaceEntry }
     ::= { fsMIIpv6IfTable 1 }
     
     
     FsMIIpv6IfEntry ::= SEQUENCE {
            fsMIIpv6IfType                INTEGER,
            fsMIIpv6IfPortNum             Integer32,
            fsMIIpv6IfCircuitNum          Integer32,
            fsMIIpv6IfToken               OCTET STRING,
            fsMIIpv6IfOperStatus          INTEGER,
            fsMIIpv6IfRouterAdvStatus     INTEGER,
            fsMIIpv6IfRouterAdvFlags      INTEGER,
            fsMIIpv6IfHopLimit            Integer32,
            fsMIIpv6IfDefRouterTime       Integer32,
            fsMIIpv6IfReachableTime       Integer32,
            fsMIIpv6IfRetransmitTime      Integer32,
            fsMIIpv6IfDelayProbeTime      Integer32,
            fsMIIpv6IfPrefixAdvStatus     INTEGER,
            fsMIIpv6IfMinRouterAdvTime    Integer32,
            fsMIIpv6IfMaxRouterAdvTime    Integer32,
            fsMIIpv6IfDADRetries          Integer32,
            fsMIIpv6IfForwarding          INTEGER,
            fsMIIpv6IfRoutingStatus       INTEGER,
            fsMIIpv6IfIcmpErrInterval     Integer32,
            fsMIIpv6IfIcmpTokenBucketSize Integer32,
            fsMIIpv6IfDestUnreachableMsg  INTEGER
     }
     
    fsMIIpv6IfType OBJECT-TYPE
    SYNTAX     INTEGER {
           ethernetcsmacd(6),
           ppp(23),
           framerelay(32),
           tunnel(131),
           l3ipvlan(136) 
     }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The type of interface immediately `below' the network layer 
         in the protocol stack."
    ::= { fsMIIpv6IfEntry 1 }
     
    fsMIIpv6IfPortNum OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the 'interface' over which this
         network interface operates and is dependent on the value of
         fsMIIpv6IfType. This object reflects the ifindex value of
         ifTable."
    ::= { fsMIIpv6IfEntry 2 }
     
     
    fsMIIpv6IfCircuitNum OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object identifies the circuit over which this network
         interface operates and is dependent on the value of
         fsMIIpv6IfType. If the data-link layer is Ethernet, PPP or
         IPv4 Tunnel, this object can have only value of zero. If the
         data-link layer is Frame Relay, this object requires a non-zero
         value which will identify the Frame Relay virtual circuit."
    ::= { fsMIIpv6IfEntry 3 }
     
     
    fsMIIpv6IfToken OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The address token for this interface that is (at least) 
         unique on the link this interface is attached to. This token
         can be specified only if the fsMIIpv6IfType is frame-relay(32). For
         other interface types, the interface token is autoconfigured
         according to the rules of the link type this interface is
         attached to. This address token is combined with the prefix
         'fe80' to form a link-local IPv6 address on this interface."
    ::= { fsMIIpv6IfEntry 4 }
     
    fsMIIpv6IfOperStatus OBJECT-TYPE
    SYNTAX     INTEGER {
           up(1),
           down(2),
           stale(3)
    }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The operational state of interface. It is up(1) if the
         fsMIStdIpv6InterfaceEnableStatus is 'up' and the layer 
         below the network layer is also operational.
         Otherwise it is down(2)."
    ::= { fsMIIpv6IfEntry 5 }

    fsMIIpv6IfRouterAdvStatus OBJECT-TYPE
    SYNTAX     INTEGER {
           enabled(1),
           disabled(2)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The router advertisement status on this interface. When
         the object is set to enabled(1), router advertisements can be
         allowed on the IPv6 interface. Otherwise, router advertisements
         are not allowed."
    DEFVAL  { disabled}
    ::= { fsMIIpv6IfEntry 6 }

    fsMIIpv6IfRouterAdvFlags OBJECT-TYPE
    SYNTAX     INTEGER {
           mbit(1),
           obit(2),
           nombit(3),
           noobit(4),
           mobits(5),
           none(6)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This object specifies the bits to be set in the router
         advertisements sent by this entity on this interface.
         M-bit set in the router advertisement indicates hosts
         to configure an address by stateful protocol means. O-bit
         set in the router advertisement indicates hosts to configure
         other non-address information by stateful means."
    DEFVAL  { none }
    ::= { fsMIIpv6IfEntry 7 }

    fsMIIpv6IfHopLimit OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The Hop Limit value to be placed in the router advertisements
         sent on this IPv6 interface."
    DEFVAL  { 64 }
    ::= { fsMIIpv6IfEntry 8 }

    fsMIIpv6IfDefRouterTime OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The default router time to be indicated in the router
         advertisements sent on this IPv6 interface. This defines the
         time in seconds for which this entity acts as the default
         router for all all hosts on the interface. A value of 0
         indicates that the entity is not a default router.
         The value can be configured in the range between
         fsMIIpv6IfMaxRouterAdvTime and 9000 seconds."
    DEFVAL  { 0 }
    ::= { fsMIIpv6IfEntry 9 }

    fsMIIpv6IfReachableTime OBJECT-TYPE
    SYNTAX     Integer32 (0..3600)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The reachable time to be indicated in the router
         advertisements sent on this IPv6 interface and also used by
         this entity. This defines the time in seconds that a neighboring
         node is considered to be reachable after having received the
         reachability confirmation from that node."
    DEFVAL  { 30 }
    ::= { fsMIIpv6IfEntry 10 }

    fsMIIpv6IfRetransmitTime OBJECT-TYPE
    SYNTAX     Integer32 (1..3600)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The retransmit time to be indicated in the router
         advertisements sent on this IPv6 interface and also used by
         this entity. This defines the time in seconds between
         retransmitted Neighbor Solicitations and is used during
         address resolution, unreachability detection and
         duplicate address detection."
    DEFVAL  { 1 }
    ::= { fsMIIpv6IfEntry 11 }


    fsMIIpv6IfDelayProbeTime OBJECT-TYPE
    SYNTAX     Integer32 (0..10)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The time in seconds to delay before starting unreachability
         probing of neighbor entries which are stale."
    DEFVAL  { 5 }
    ::= { fsMIIpv6IfEntry 12 }

    fsMIIpv6IfPrefixAdvStatus OBJECT-TYPE
    SYNTAX     INTEGER {
           enabled(1),
           disabled(2)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The prefix advertisement status on this IPv6 interface.
         Object value enabled(1) allows the configured prefixes to
         be advertised in router advertisements. Otherwise, the prefixes
         are not sent in router advertisements."
    DEFVAL  { enabled }
    ::= { fsMIIpv6IfEntry 13 }

    fsMIIpv6IfMinRouterAdvTime OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The minimum time in seconds allowed between sending
         unsolicited router advertisements.The default value is
         one-third the default value of fsMIIpv6IfMaxRouterAdvTime.
         The value can be configured in the range between 3 seconds
         and three-fourth of fsMIIpv6IfMaxRouterAdvTime."
    DEFVAL  { 198 }
    ::= { fsMIIpv6IfEntry 14 }

    fsMIIpv6IfMaxRouterAdvTime OBJECT-TYPE
    SYNTAX     Integer32 (4..1800)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The maximum time in seconds between sending unsolicited
         router advertisements. Router advertisements are sent
         periodically at a random interval between the values
         specified by fsMIIpv6IfMinRouterAdvTime and
         fsMIIpv6IfMaxRouterAdvTime."
    DEFVAL  { 600 }
    ::= { fsMIIpv6IfEntry 15 }
    
    fsMIIpv6IfDADRetries OBJECT-TYPE
    SYNTAX      Integer32 (0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of neighbor solicitations sent for
         the purpose of duplicate address detection on a tentative 
         address."
    DEFVAL  { 1 }
    ::= { fsMIIpv6IfEntry 16 }
    
    fsMIIpv6IfForwarding OBJECT-TYPE
    SYNTAX     INTEGER {
           enabled(1),
           disabled(2)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This MIB object is used to configure IPv6 routing and forwarding  on this interface. 
         The default value is set to enabled."
    DEFVAL  { enabled }
    ::= { fsMIIpv6IfEntry 17 }
    
    fsMIIpv6IfRoutingStatus OBJECT-TYPE
    SYNTAX     INTEGER {
           enabled(1),
           disabled(2)
    }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This MIB object indicates the current routing status
         on this interface. This is based on the global IPv6
         forwarding status of the mib object 'ipv6Forwarding'.
         If 'ipv6Forwarding' is set to disabled, the routing
         status is set to disabled on all the interfaces.
         If 'ipv6Forwarding' is set to enabled, the value 
         taken by this MIB objet is same as 'fsMIIpv6IfForwarding'"
    ::= { fsMIIpv6IfEntry 18 }

    fsMIIpv6IfIcmpErrInterval OBJECT-TYPE
    SYNTAX   Integer32 (1..65535)
    MAX-ACCESS   read-write
    STATUS      current
    DESCRIPTION
        "Time interval between tokens being added to the ICMPv6 token bucket."
    DEFVAL  { 100 }
    ::= { fsMIIpv6IfEntry 19 }
    
    fsMIIpv6IfIcmpTokenBucketSize OBJECT-TYPE
    SYNTAX         Integer32 (1..200)
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "Maximum number of tokens stored in the ICMPv6 bucket"
    DEFVAL  { 10 }
    ::= { fsMIIpv6IfEntry 20 }

    fsMIIpv6IfDestUnreachableMsg OBJECT-TYPE
    SYNTAX  INTEGER {
         enabled(1),
         disabled(2)
    }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
         "Indicates whether ICMPv6 destination unreachable messages are
         enabled/disabled on this interface."
    DEFVAL  { enabled }
    ::= { fsMIIpv6IfEntry 21 }

-- IPv6 Interface statistic table

    fsMIIpv6IfStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIIpv6IfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "IPv6 interface traffic statistics"
    ::= { fsMIipv6 3 }
    
    fsMIIpv6IfStatsEntry OBJECT-TYPE
    SYNTAX      FsMIIpv6IfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An interface statistics entry containing objects
         at a particular IPv6 interface."
    INDEX   { fsMIStdIpIfStatsIfIndex }
    ::= { fsMIIpv6IfStatsTable 1 }
    
    FsMIIpv6IfStatsEntry ::= SEQUENCE {
        fsMIIpv6IfStatsTooBigErrors        Counter32,
        fsMIIpv6IfStatsInRouterSols        Counter32,
        fsMIIpv6IfStatsInRouterAdvs        Counter32,
        fsMIIpv6IfStatsInNeighSols         Counter32,
        fsMIIpv6IfStatsInNeighAdvs         Counter32,
        fsMIIpv6IfStatsInRedirects         Counter32,
        fsMIIpv6IfStatsOutRouterSols       Counter32,
        fsMIIpv6IfStatsOutRouterAdvs       Counter32,
        fsMIIpv6IfStatsOutNeighSols        Counter32,
        fsMIIpv6IfStatsOutNeighAdvs        Counter32,
        fsMIIpv6IfStatsOutRedirects        Counter32,
        fsMIIpv6IfStatsLastRouterAdvTime   TimeTicks,
        fsMIIpv6IfStatsNextRouterAdvTime   TimeTicks,
        fsMIIpv6IfStatsIcmp6ErrRateLmtd     Counter32
    }
    
    fsMIIpv6IfStatsTooBigErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of datagrams that could not be forwarded
         because their size exceeded the Path MTU"
    ::= { fsMIIpv6IfStatsEntry 1 }
    
    fsMIIpv6IfStatsInRouterSols OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Solicit messages
         received."
    ::= { fsMIIpv6IfStatsEntry 2 }
    
    fsMIIpv6IfStatsInRouterAdvs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Advertisement messages
         received."
    ::= { fsMIIpv6IfStatsEntry 3 }
    
    fsMIIpv6IfStatsInNeighSols OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Solicit messages
         received."
    ::= { fsMIIpv6IfStatsEntry 4 }
    
    fsMIIpv6IfStatsInNeighAdvs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages received."
    ::= { fsMIIpv6IfStatsEntry 5 }
    
    fsMIIpv6IfStatsInRedirects OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Redirect messages received."
    ::= { fsMIIpv6IfStatsEntry 6 }
    
    fsMIIpv6IfStatsOutRouterSols OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Solicit messages sent."
    ::= { fsMIIpv6IfStatsEntry 7 }
    
    fsMIIpv6IfStatsOutRouterAdvs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Advertisement messages sent."
    ::= { fsMIIpv6IfStatsEntry 8 }
    
    fsMIIpv6IfStatsOutNeighSols OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Solicitation messages sent."
    ::= { fsMIIpv6IfStatsEntry 9 }
    
    fsMIIpv6IfStatsOutNeighAdvs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement messages sent."
    ::= { fsMIIpv6IfStatsEntry 10 }
    
    fsMIIpv6IfStatsOutRedirects OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Redirect messages sent."
    ::= { fsMIIpv6IfStatsEntry 11 }
    
    fsMIIpv6IfStatsLastRouterAdvTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The time at which the last Periodic router advertisement was sent."
    ::= { fsMIIpv6IfStatsEntry 12 }
    
    fsMIIpv6IfStatsNextRouterAdvTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the next Periodic router advertisement
         is scheduled to be sent."
    ::= { fsMIIpv6IfStatsEntry 13 }
   
    fsMIIpv6IfStatsIcmp6ErrRateLmtd OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "No of rate limited ICMPv6 messgaes"
    ::= { fsMIIpv6IfStatsEntry 14 }

   
-- IPv6 Address Table
    
-- The IPv6 address table contains this entity's IPv6
-- addressing information.
    
-- Entries are created/deleted from SNMP.
    
    
    fsMIIpv6AddrTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIIpv6AddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table containing entity's IPv6 addressing information."
    ::= { fsMIipv6 4 }
    
    fsMIIpv6AddrEntry   OBJECT-TYPE
    SYNTAX      FsMIIpv6AddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry in the IPv6 Address Table which defines a
         unicast, anycast or link-local address on an IPv6 interface."
    INDEX  { fsMIStdIpv6InterfaceIfIndex, fsMIIpv6AddrAddress, fsMIIpv6AddrPrefixLen }
    ::= { fsMIIpv6AddrTable 1 }
    
    FsMIIpv6AddrEntry  ::=  SEQUENCE {
        fsMIIpv6AddrAddress     OCTET STRING,
        fsMIIpv6AddrPrefixLen   Integer32,
        fsMIIpv6AddrAdminStatus RowStatus,
        fsMIIpv6AddrType        INTEGER,
        fsMIIpv6AddrProfIndex   Integer32,
        fsMIIpv6AddrOperStatus  INTEGER,
        fsMIIpv6AddrContextId   Integer32, 
        fsMIIpv6AddrScope       InetScopeType
    }
    
    
    fsMIIpv6AddrAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IPv6 address to which this entry's addressing
         information pertains."
    ::= { fsMIIpv6AddrEntry 1 }
    
    fsMIIpv6AddrPrefixLen OBJECT-TYPE
    SYNTAX      Integer32 (0..128)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The length of the prefix (in bits) associated with
         the IPv6 address of this entry. For a link-local address,
         the prefix is always start with '0xfe80' and the prefix
         length is 128 bits."
    ::= { fsMIIpv6AddrEntry 2 }
    
    fsMIIpv6AddrAdminStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Indicates the desired status of the address. Also a creation
         of an address can trigger IPv6 to be enabled over the
         interface. Similarly deletion of all the address may trigger
         IPv6 to be disabled on the interface. NotInService value is
         not supported."
    ::= { fsMIIpv6AddrEntry 3 }
    
    fsMIIpv6AddrType OBJECT-TYPE
    SYNTAX      INTEGER {
         unicast(1),
         anycast(2),
         linklocal(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the address is a unicast, anycast or
         link-local address. Syntactically there is no difference
         between a unicast address and a anycast address while a
         link-local address has the prefix '0xfe80'. This
         object can be modified only if fsMIIpv6AddrOperStatus is
         down."
    ::= { fsMIIpv6AddrEntry 4 }
    
    fsMIIpv6AddrProfIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates the index into the IPv6 Address Profile Table.
         This entry of the IPv6 Address Profile table defines the
         parameters for this address. For a link-local address,
         this object always takes the value zero and cannot be
         modified from SNMP."
    DEFVAL { 0 }
    ::= { fsMIIpv6AddrEntry 5 }
    
    fsMIIpv6AddrOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
         tentative (1),    -- DAD resolution going on on the address
         complete (2),     -- DAD completed on the address
         down(3),          -- address is operationally down
         failed(4)         -- DAD failed for the address
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the operational status of the address. A
         status of failed(4) indicates that a duplicate address has
         been detected on this IPv6 interface. On interfaces on
         which Duplicate Address Detection is not performed, this
         object will take values only complete(2) and down(3)."
    ::= { fsMIIpv6AddrEntry 6 }

    fsMIIpv6AddrContextId OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the virtual router to which the IPv6 address is 
         applied."
    ::= { fsMIIpv6AddrEntry 7 }

    fsMIIpv6AddrScope OBJECT-TYPE
              SYNTAX      InetScopeType
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                " Scope is a 4-bit value that describes the scope of
                  an IPV6 address.An unicast address can possibly have 2 
                  scopes (Linklocal and Global) only. A multicast address
                  can have a maximum of 11 scopes.The reserved scopes cannot be used by
                  the user/administrator. Only unassigned multicast scoped can be 
                  configured and used in a given IPv6 domain as per the need."
                   
                   ::= { fsMIIpv6AddrEntry 8 }

-- IPv6 Address Profile Table

-- This table contains parameters related to the advertisement of 
-- address prefixes. Since the prefix advertisement is done only on 
-- LAN interfaces, this information is kept separately from the IPv6 
-- address table which contains addresses on all interfaces.

-- Entries are created/deleted from SNMP except for the first profile
-- entry which is autocreated and cannot be deleted.
     
     
    fsMIIpv6AddrProfileTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIIpv6AddrProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table containing information for an address or set of
         addresses of the entity."
    ::= { fsMIipv6 5 }
    
    fsMIIpv6AddrProfileEntry   OBJECT-TYPE
    SYNTAX      FsMIIpv6AddrProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry in the IPv6 Address Profile Table which contains
         parameters related to the advertisement of address prefixes.
         An entry of this table other than the first entry is
         created/deleted from SNMP."
    INDEX  { fsMIIpv6AddrProfileIndex }
    ::= { fsMIIpv6AddrProfileTable 1 }
    
    FsMIIpv6AddrProfileEntry  ::= SEQUENCE {
        fsMIIpv6AddrProfileIndex                   Unsigned32,
        fsMIIpv6AddrProfileStatus                  INTEGER,
        fsMIIpv6AddrProfilePrefixAdvStatus         INTEGER,
        fsMIIpv6AddrProfileOnLinkAdvStatus         INTEGER,
        fsMIIpv6AddrProfileAutoConfAdvStatus       INTEGER,
        fsMIIpv6AddrProfilePreferredTime           Unsigned32,
        fsMIIpv6AddrProfileValidTime               Unsigned32,
        fsMIIpv6AddrProfileValidLifeTimeFlag       INTEGER,
        fsMIIpv6AddrProfilePreferredLifeTimeFlag   INTEGER
    }
    
    fsMIIpv6AddrProfileIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (0..200)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value identifying the particular IPv6 Address
         profile entry. This is referred by fsMIIpv6AddrProfIndex of
         IPv6 Address Table. The index 0 is created with default value
         during system start-up and this entry is not configurable."
    ::= { fsMIIpv6AddrProfileEntry 1 }
    
    fsMIIpv6AddrProfileStatus OBJECT-TYPE
    SYNTAX      INTEGER {
         valid (1),
         invalid (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates that the entry is valid or not. An entry other
         than the first entry can be deleted by setting this object
         to invalid(2)."
    ::= { fsMIIpv6AddrProfileEntry 2 }
    
    fsMIIpv6AddrProfilePrefixAdvStatus OBJECT-TYPE
    SYNTAX   INTEGER {
         on(1),
         off(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If this object has value on(1), the address prefixes
         corresponding to those addresses which use this profile
         will be advertised in router advertisements sent by this
         entity. If it has value off(2), these address prefixes
         will not be advertised."
    DEFVAL { on }
    ::= { fsMIIpv6AddrProfileEntry 3 }
    
    fsMIIpv6AddrProfileOnLinkAdvStatus OBJECT-TYPE
    SYNTAX      INTEGER {
         on(1),
         off(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If this object has value on(1), the address prefixes
         corresponding to those addresses which use this profile
         will be advertised with on-link flag set in the router 
         advertisements sent by this entity. These prefixes can be
         used for on-link determination by hosts which receive these
         router advertisements. If the object has value off(2), 
         these address prefixes will not not have the on-link flag
         set if advertised."
    DEFVAL { on }
    ::= { fsMIIpv6AddrProfileEntry 4 }
    
    fsMIIpv6AddrProfileAutoConfAdvStatus OBJECT-TYPE
    SYNTAX      INTEGER {
         on(1),
         off(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If this object has value on(1), the address prefixes
         corresponding to those addresses which use this profile
         will be advertised with autonomous address configuration 
         flag set in the router advertisements sent by this entity. 
         These prefixes can be used for autonomous address 
         configuration (i.e. can be used to form a local interface 
         address) by hosts which receive these router advertisements. 
         If the object has value off(2), these address prefixes will 
         not not have the autonomous address configuration flag set 
         if advertised."
    DEFVAL { on }
    ::= { fsMIIpv6AddrProfileEntry 5 }
    
    fsMIIpv6AddrProfilePreferredTime OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the preferred lifetime in seconds
         for the address prefixes corresponding to those addresses 
         which use this profile. This is sent in router advertisements
         by this entity. A value of 4,294,967,295 represents
         infinity.This value should be less than fsMIIpv6AddrProfileValidTime"
    DEFVAL { 604800 }
    ::= { fsMIIpv6AddrProfileEntry 6 }
    
    fsMIIpv6AddrProfileValidTime OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the valid lifetime in seconds
         for the address prefixes corresponding to those addresses 
         which use this profile. This is sent in router advertisements
         by this entity. A value of 4,294,967,295 represents
         infinity."
    DEFVAL { 4294967295 }
    ::= { fsMIIpv6AddrProfileEntry 7 }
    
    fsMIIpv6AddrProfileValidLifeTimeFlag OBJECT-TYPE
    SYNTAX      INTEGER  {
         fixed    (1),
         variable (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "By setting this flag to fixed (1),the router 
         advertisement Valid life time value is set 
         to fixed and by setting to variable(2), the 
         router advertisement Valid life time value 
         can decrease in real time. This flag will 
         synchronise the router clocks."
    DEFVAL  { fixed }
    ::= { fsMIIpv6AddrProfileEntry 8 }
    
    fsMIIpv6AddrProfilePreferredLifeTimeFlag OBJECT-TYPE
    SYNTAX      INTEGER  {
         fixed    (1),
         variable (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "By setting this flag to fixed (1),the router 
         advertisement Preferred life time value is set 
         to fixed and by setting to variable(2), the 
         router advertisement preferred life time value 
         can decrease in real time. This flag will 
         synchronise the router clocks."
    DEFVAL  { fixed }
    ::= { fsMIIpv6AddrProfileEntry 9 }
   

-- ICMP statistics table for the virtual routers

    fsMIIpv6IcmpStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIIpv6IcmpStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table of ICMP counter statistics for each virtual router."
    ::= { fsMIipv6 6 }

    fsMIIpv6IcmpStatsEntry OBJECT-TYPE
    SYNTAX      FsMIIpv6IcmpStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the fsMIIpv6IcmpStatsTable."
    INDEX { fsMIStdIpContextId }
    ::= { fsMIIpv6IcmpStatsTable 1 }

    FsMIIpv6IcmpStatsEntry ::=  SEQUENCE {
        fsMIIpv6IcmpInMsgs                     Counter32,
        fsMIIpv6IcmpInErrors                   Counter32,
        fsMIIpv6IcmpInDestUnreachs             Counter32,
        fsMIIpv6IcmpInTimeExcds                Counter32,
        fsMIIpv6IcmpInParmProbs                Counter32,
        fsMIIpv6IcmpInPktTooBigs               Counter32,
        fsMIIpv6IcmpInEchos                    Counter32,
        fsMIIpv6IcmpInEchoReps                 Counter32,
        fsMIIpv6IcmpInRouterSolicits           Counter32,
        fsMIIpv6IcmpInRouterAdvertisements     Counter32,
        fsMIIpv6IcmpInNeighborSolicits         Counter32,
        fsMIIpv6IcmpInNeighborAdvertisements   Counter32,
        fsMIIpv6IcmpInRedirects                Counter32,
        fsMIIpv6IcmpInAdminProhib              Counter32,
        fsMIIpv6IcmpOutMsgs                    Counter32,
        fsMIIpv6IcmpOutErrors                  Counter32,
        fsMIIpv6IcmpOutDestUnreachs            Counter32,
        fsMIIpv6IcmpOutTimeExcds               Counter32,
        fsMIIpv6IcmpOutParmProbs               Counter32,
        fsMIIpv6IcmpOutPktTooBigs              Counter32,
        fsMIIpv6IcmpOutEchos                   Counter32,
        fsMIIpv6IcmpOutEchoReps                Counter32,
        fsMIIpv6IcmpOutRouterSolicits          Counter32,
        fsMIIpv6IcmpOutRouterAdvertisements    Counter32,
        fsMIIpv6IcmpOutNeighborSolicits        Counter32,
        fsMIIpv6IcmpOutNeighborAdvertisements  Counter32,
        fsMIIpv6IcmpOutRedirects               Counter32,
        fsMIIpv6IcmpOutAdminProhib             Counter32,
        fsMIIpv6IcmpInBadCode                  Counter32,
        fsMIIpv6IcmpInNARouterFlagSet          Counter32,
        fsMIIpv6IcmpInNASolicitedFlagSet       Counter32,
        fsMIIpv6IcmpInNAOverrideFlagSet        Counter32,
        fsMIIpv6IcmpOutNARouterFlagSet         Counter32,
        fsMIIpv6IcmpOutNASolicitedFlagSet      Counter32,
        fsMIIpv6IcmpOutNAOverrideFlagSet       Counter32
    }

    fsMIIpv6IcmpInMsgs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of ICMP messages which
         the entity received.  Note that this counter
         includes all those counted by fsMIIpv6IcmpInErrors."
    ::= { fsMIIpv6IcmpStatsEntry 1 }
    
    fsMIIpv6IcmpInErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP messages which the entity
         received but determined as having ICMP-specific
         errors (bad ICMP checksums, bad length, etc.)."
    ::= { fsMIIpv6IcmpStatsEntry 2 }
    
    fsMIIpv6IcmpInDestUnreachs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Destination Unreachable messages received."
    ::= { fsMIIpv6IcmpStatsEntry 3 }
    
    fsMIIpv6IcmpInTimeExcds OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Time Exceeded messages received."
    ::= { fsMIIpv6IcmpStatsEntry 4 }
    
    fsMIIpv6IcmpInParmProbs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Parameter Problem messages received."
    ::= { fsMIIpv6IcmpStatsEntry 5 }
    
    fsMIIpv6IcmpInPktTooBigs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Packet Too Big messages received."
    ::= { fsMIIpv6IcmpStatsEntry 6 }
    
    fsMIIpv6IcmpInEchos OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Echo (request) messages received."
    ::= { fsMIIpv6IcmpStatsEntry 7 }
    
    fsMIIpv6IcmpInEchoReps OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Echo Reply messages received."
    ::= { fsMIIpv6IcmpStatsEntry 8 }
    
    fsMIIpv6IcmpInRouterSolicits OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Solicit messages received."
    ::= { fsMIIpv6IcmpStatsEntry 9 }
    
    fsMIIpv6IcmpInRouterAdvertisements OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Advertisement messages received."
    ::= { fsMIIpv6IcmpStatsEntry 10 }
    
    fsMIIpv6IcmpInNeighborSolicits OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Solicit messages received."
    ::= { fsMIIpv6IcmpStatsEntry 11 }
    
    fsMIIpv6IcmpInNeighborAdvertisements OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages received."
    ::= { fsMIIpv6IcmpStatsEntry 12 }
    
    fsMIIpv6IcmpInRedirects OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Redirect messages received."
    ::= { fsMIIpv6IcmpStatsEntry 13 }
    
    fsMIIpv6IcmpInAdminProhib OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of ICMP destination unreachable/communication
         administratively prohibited messages received."
    ::= { fsMIIpv6IcmpStatsEntry 14 }
    
    fsMIIpv6IcmpOutMsgs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of ICMP messages which this
         entity attempted to send.  Note that this counter
         includes all those counted by icmpOutErrors."
    ::= { fsMIIpv6IcmpStatsEntry 15 }
    
    fsMIIpv6IcmpOutErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP messages which this entity did
         not send due to problems discovered within ICMP
         such as a lack of buffers.  This value should not
         include errors discovered outside the ICMP layer
         such as the inability of IPv6 to route the resultant
         datagram.  In some implementations there may be no
         types of error which contribute to this counter's
         value."
    ::= { fsMIIpv6IcmpStatsEntry 16 }
    
    fsMIIpv6IcmpOutDestUnreachs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Destination Unreachable
         messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 17 }
    
    fsMIIpv6IcmpOutTimeExcds OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Time Exceeded messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 18 }
    
    fsMIIpv6IcmpOutParmProbs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Parameter Problem messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 19 }
    
    fsMIIpv6IcmpOutPktTooBigs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Packet Too Big messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 20 }
    
    fsMIIpv6IcmpOutEchos OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Echo (request) messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 21 }
    
    fsMIIpv6IcmpOutEchoReps OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Echo Reply messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 22 }
    
    fsMIIpv6IcmpOutRouterSolicits OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Solicitation messages
         sent."
    ::= { fsMIIpv6IcmpStatsEntry 23 }
    
    fsMIIpv6IcmpOutRouterAdvertisements OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Router Advertisement messages
         received."
    ::= { fsMIIpv6IcmpStatsEntry 24 }
    
    fsMIIpv6IcmpOutNeighborSolicits OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Solicitation
         messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 25 }
    
    fsMIIpv6IcmpOutNeighborAdvertisements OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages received."
    ::= { fsMIIpv6IcmpStatsEntry 26 }
    
    fsMIIpv6IcmpOutRedirects OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Redirect messages sent. For
         a host, this object will always be zero,
         since hosts do not send redirects."
    ::= { fsMIIpv6IcmpStatsEntry 27 }
    
    fsMIIpv6IcmpOutAdminProhib OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of ICMP destination unreachable/
         communication administratively prohibited
         messages sent."
    ::= { fsMIIpv6IcmpStatsEntry 28 }
    
    fsMIIpv6IcmpInBadCode OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of received ICMP messages having unrecognized type of
         message "
    ::= { fsMIIpv6IcmpStatsEntry 29 }

    fsMIIpv6IcmpInNARouterFlagSet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages received with Router Flag Set."
    ::= { fsMIIpv6IcmpStatsEntry 30 }
    
    fsMIIpv6IcmpInNASolicitedFlagSet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages received with Solicited Flag Set."
    ::= { fsMIIpv6IcmpStatsEntry 31 }

    fsMIIpv6IcmpInNAOverrideFlagSet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages received with Override Flag Set."
    ::= { fsMIIpv6IcmpStatsEntry 32 }

    fsMIIpv6IcmpOutNARouterFlagSet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages sent with Router Flag Set."
    ::= { fsMIIpv6IcmpStatsEntry 33 }

    fsMIIpv6IcmpOutNASolicitedFlagSet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages sent with Solicited Flag Set."
    ::= { fsMIIpv6IcmpStatsEntry 34 }

    fsMIIpv6IcmpOutNAOverrideFlagSet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of ICMP Neighbor Advertisement
         messages sent with Override Flag Set."
    ::= { fsMIIpv6IcmpStatsEntry 35 }

-- Path MTU for IPv6
    
    fsMIIpv6PmtuTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6PmtuEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "IPv6 Path MTU table. This table contains
         an entry for a specific path traversed by
         packets exchanged between the source and
         destination nodes."
    ::= { fsMIipv6 7 }
    
    fsMIIpv6PmtuEntry OBJECT-TYPE
    SYNTAX     FsMIIpv6PmtuEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A Path MTU entry."
    INDEX   { fsMIStdIpContextId,
              fsMIIpv6PmtuDest }
    ::= { fsMIIpv6PmtuTable 1 }
    
    FsMIIpv6PmtuEntry ::= SEQUENCE {
        fsMIIpv6PmtuDest         OCTET STRING,
        fsMIIpv6Pmtu             Integer32,
        fsMIIpv6PmtuTimeStamp    Integer32,
        fsMIIpv6PmtuAdminStatus  INTEGER
    }
    
    fsMIIpv6PmtuDest OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The destination IPv6 address of the packets
         to be exchanged."
    ::= { fsMIIpv6PmtuEntry 1 }
    
    fsMIIpv6Pmtu OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write 
    STATUS     current
    DESCRIPTION
        "Indicates the path MTU value for the path."
    ::= { fsMIIpv6PmtuEntry 2 }
    
    fsMIIpv6PmtuTimeStamp   OBJECT-TYPE
    SYNTAX     Integer32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the entry created time in the PMTU table."
    ::= { fsMIIpv6PmtuEntry 3 }
    
    fsMIIpv6PmtuAdminStatus   OBJECT-TYPE
    SYNTAX      INTEGER{
         valid(1),
         invalid(2)
    } 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The desired status of the PmtuTable. This variable
         has to be made valid(1) for creating a entry in the PmtuTable.
         If set to invalid(2), the entry is deleted."
    ::= { fsMIIpv6PmtuEntry 4 }


-- fsMIIpv6PrefTable BEGIN
-- IPv6 Protocol Preference 
    
-- The IPv6 Protocol Preference table defines the preference value
-- for each protocol in each virtual router. The best routes in a 
-- virtual router will be determined based on this preference 
-- value. Protocol with lower value is the preferred one.
    
    fsMIIpv6PrefTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIIpv6PrefEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IPv6 Preference table contains information on the 
         Preference Value for each supported protocol."
    ::= { fsMIipv6Route 1 }
    
    fsMIIpv6PrefEntry OBJECT-TYPE
    SYNTAX      FsMIIpv6PrefEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing objects about a particular protocols
         preference value."
    INDEX   { fsMIStdIpContextId,
              fsMIIpv6Protocol }
    ::= { fsMIIpv6PrefTable 1 }
    
    
    FsMIIpv6PrefEntry ::= SEQUENCE {
        fsMIIpv6Protocol    INTEGER,
        fsMIIpv6Preference  Unsigned32
    }
    
    fsMIIpv6Protocol OBJECT-TYPE
    SYNTAX      INTEGER {
         other(1), 
         local(2),
         netmgmt(3),
         ndisc(4),
         rip(5),
         ospf(6),
         bgp(7),
         idrp(8),
         igrp(9)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value identifying the protocol whose preference
         value needs to be processed."
    ::= { fsMIIpv6PrefEntry 1 }
    
    
    fsMIIpv6Preference OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Preference of the route learned by a particular protocol. 
         This value is used while choosing the best path. 
         Lesser the value, highest is the preference. "
    ::= { fsMIIpv6PrefEntry 2 }


-- Support for Proxy ND Table

    fsMIIpv6NDProxyListTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6NDProxyListEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION       
        "Configurable list of IPv6 Addresses for which
         Proxy Neighbor Discovery is desired."
    ::= { fsMIipv6 9 }

    fsMIIpv6NDProxyListEntry  OBJECT-TYPE
    SYNTAX  FsMIIpv6NDProxyListEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION       
        "An entry in the ND Proxy List Table. Each 
         entry specifies the IPv6 address for which
         proxy feature is needed."
    INDEX   { fsMIStdIpContextId,
              fsMIIpv6NDProxyAddr }
    ::= { fsMIIpv6NDProxyListTable 1 }


    FsMIIpv6NDProxyListEntry ::= SEQUENCE {
        fsMIIpv6NDProxyAddr        OCTET STRING,
        fsMIIpv6NDProxyAdminStatus INTEGER
    }

    fsMIIpv6NDProxyAddr OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (16))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IPV6 address for which the system has to act as a Proxy."
    ::= { fsMIIpv6NDProxyListEntry 1 }

    fsMIIpv6NDProxyAdminStatus OBJECT-TYPE 
    SYNTAX     INTEGER {
                        create (1),
                        invalid(2)
                       }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The desired state of the ND Proxy list entry. 
         When set to create(1) the system acts as a Proxy for
         the given address and when set to invalid(2) the
         Proxy entry is deleted."
    ::= { fsMIIpv6NDProxyListEntry 2 }



-- The IPv6 Ping table

-- This table is used to generate IPv6 Echo requests from this
-- entity to destinations.

-- Entries are created/deleted from SNMP.


    fsMIIpv6PingTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6PingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This entity's IPv6 Ping Table."
    ::= { fsMIipv6 10 }

    fsMIIpv6PingEntry  OBJECT-TYPE
    SYNTAX     FsMIIpv6PingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the information about a particular IPv6 Ping 
         operation. An entry is created/deleted from SNMP."
    INDEX   { fsMIIpv6PingIndex } 
    ::= { fsMIIpv6PingTable 1 }

    FsMIIpv6PingEntry  ::=  SEQUENCE { 
        fsMIIpv6PingIndex
            Integer32,
        fsMIIpv6PingDest              
            OCTET STRING,
        fsMIIpv6PingIfIndex              
            InterfaceIndex,
        fsMIIpv6PingContextId
            Integer32,
        fsMIIpv6PingAdminStatus       
            INTEGER,
        fsMIIpv6PingInterval          
            Integer32,
        fsMIIpv6PingRcvTimeout        
            Integer32,
        fsMIIpv6PingTries             
            Integer32,
        fsMIIpv6PingSize              
            Integer32,
        fsMIIpv6PingSentCount         
            Integer32,
        fsMIIpv6PingAverageTime       
            Integer32,
        fsMIIpv6PingMaxTime           
            Integer32,
        fsMIIpv6PingMinTime           
            Integer32,
        fsMIIpv6PingOperStatus        
            INTEGER,
        fsMIIpv6PingSuccesses         
            Counter32,
        fsMIIpv6PingPercentageLoss    
            Integer32,
        fsMIIpv6PingData
            OCTET STRING,
        fsMIIpv6PingSrcAddr
            OCTET STRING, 
        fsMIIpv6PingZoneId
            DisplayString,
        fsMIIpv6PingDestAddrType
            INTEGER
        }

    fsMIIpv6PingIndex  OBJECT-TYPE
    SYNTAX     Integer32(0..5)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A unique value identifying the particular IPv6 Ping entry."
    ::= { fsMIIpv6PingEntry 1 }      
    
    fsMIIpv6PingDest  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (16))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The IPv6 address of the destination to be pinged. This
         should be a unicast or link-local address"
    ::= { fsMIIpv6PingEntry 2 }

    fsMIIpv6PingIfIndex  OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The index value which uniquely identifies the IPv6
         interface on which this Ping is to be sent. The interface 
         identified by a particular value of this index is the same 
         interface as identified by the same value of
         fsMIStdIpv6InterfaceIfIndex.
         The value of this object is needed when pinging to a
         link-local destination, otherwise it is ignored."
    ::= { fsMIIpv6PingEntry 3 }

    fsMIIpv6PingContextId  OBJECT-TYPE
    SYNTAX     Integer32(0 ..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The Virtual Router in which the ping session is initiated.
         The reachability of the destination will be determined in
         the specified VR. When fsMIIpv6PingIfIndex is specified,
         then the virtual router mapped to the interface will be used 
         for determining the reachability. When fsMIIpv6PingIfIndex
         and fsMIIpv6PingContextId are not configured, then the 
         reachability of the given destination will be determined in
         the default virtual router."
     ::= { fsMIIpv6PingEntry 4 }

    fsMIIpv6PingAdminStatus  OBJECT-TYPE
    SYNTAX     INTEGER {
                up(1),
                down(2),
                invalid(3),
                create(4)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The desired status for the ping operation. This variable
         has to be made up(1) for starting the ping operation.
         If set to down(2), the ping is stopped but the statistics 
         will still be available. The entry is created when this 
         variable is set to create(4) and deleted on setting this
         variable to invalid(3)."
    ::= { fsMIIpv6PingEntry 5 }
    
    fsMIIpv6PingInterval  OBJECT-TYPE
    SYNTAX     Integer32 (1..100)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The time interval in seconds between successive pings
         sent to the destination."
    DEFVAL { 1 }
    ::= { fsMIIpv6PingEntry 6 }
    
    fsMIIpv6PingRcvTimeout  OBJECT-TYPE
    SYNTAX     Integer32 (0..100)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The time in seconds after which this entity times out
         waiting for a particular ping response."
    DEFVAL { 5 }
    ::= { fsMIIpv6PingEntry 7 }
    
    fsMIIpv6PingTries  OBJECT-TYPE
    SYNTAX     Integer32 (1..1000)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The number of times the destination is to be pinged."
    DEFVAL { 5 }
    ::= { fsMIIpv6PingEntry 8 }

    fsMIIpv6PingSize  OBJECT-TYPE
    SYNTAX     Integer32  (32..2080)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The size of the data portion of the Ping packet."
    DEFVAL { 100 }
    ::= { fsMIIpv6PingEntry 9 }
    
    fsMIIpv6PingSentCount  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Total number of packets sent to destination."
    ::= { fsMIIpv6PingEntry 10 }

    fsMIIpv6PingAverageTime  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average value of the round trip time in seconds to this
         destination."
    ::= { fsMIIpv6PingEntry 11 }
    
    fsMIIpv6PingMaxTime  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The maximum value of the round trip time in seconds to this
         destination."
    ::= { fsMIIpv6PingEntry 12 }

    fsMIIpv6PingMinTime  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The minimum value of the round trip time in seconds to this
       destination."
    ::= { fsMIIpv6PingEntry 13 }
    
    fsMIIpv6PingOperStatus  OBJECT-TYPE
    SYNTAX     INTEGER { 
                inprogress(1),
                notinprogress(2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The current status of this ping operation."
    ::= { fsMIIpv6PingEntry 14 }
    
    fsMIIpv6PingSuccesses  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of ping responses received."
    ::= { fsMIIpv6PingEntry 15 }
    

    fsMIIpv6PingPercentageLoss  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Percentage of lost packets for which no responses were
         received till timeout."
    ::= { fsMIIpv6PingEntry 16 }

    fsMIIpv6PingData  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (6))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Data that should be sent in the Ping message"
    ::= { fsMIIpv6PingEntry 17 }
    
    fsMIIpv6PingSrcAddr  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (16))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Source address to be used for the ping"
    ::= { fsMIIpv6PingEntry 18 }

    
    fsMIIpv6PingZoneId   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
         "Zone-Id shoule be able to identify a particular zone 
          of the address's scope. This Zone id applies 
          to all kinds of unicast and multicast addresses of
          non-global scope except the unspecified address.             
         The zone-id is not supported for global address."
    REFERENCE "RFC4007"
       ::= { fsMIIpv6PingEntry 19 }
    
    fsMIIpv6PingDestAddrType OBJECT-TYPE
    SYNTAX     INTEGER { 
                other (0),
                anycast (2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The address type of the destination to be pinged.
         other   - unicast or linklocal address.
         anycast - anycast address .An IPv6 packet cannot have anycast
         address as source address. So fsipv6PingDestAddrType is used
         to distinguish the anycast destination from other
         types."
    DEFVAL { 0 }
    ::= { fsMIIpv6PingEntry 20 }

-- scalar object 
    fsMIIpv6GlobalDebug OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables the tracing in the selected submodule in IP6. A 32 bit
         integer is used to store the Tracing level in the specified module.
         Different Tracing Levels -
         BIT 0 - Initialisation and Shutdown Trace.
         BIT 3 - Control Plane trace.
         BIT 5 - OS Resource trace.
         BIT 6 - All Failure trace (All failures including Packet Validation)
         
         Different submodule Tracing -
         BIT 24 - Tracing in IP6 module.
         BIT 25  - Tracing in ICMP6 submodule.
         BIT 26 - Tracing in ND6 submodule.
         BIT 27 - Tracing in UDP6 submodule.
         BIT 29 - Tracing in PING6 submodule.
         
         The remaining bits are unused.The combination of levels and submodules
         are allowed i.e. Tracing can be allowed at all failure and 
         control plane level in All submodules by setting the BIT appropriately.
         For Example, setting the debug value to
         00000001000000000000000001000000 
         will enable all failure trace prints in IP6 module."
     ::= {  fsMIipv6 11 }


 fsMIIpv6AddrSelPolicyTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6PAddrSelPolicyEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
         "This table is used for default address selection in IPv6. This table is used to configure the Precedence
                  and Label associated with a source/destination address. The Address Selection Policy Table
                  contains the following default entries -

                  Prefix        Precedence  Label
                  ::1/128               50     0
                  ::/0                  40     1
                  2002::/16             30     2
                  ::/96                 20     3
                  ::ffff:0:0/96         10     4

                 A lookup of this table aids in selection of best source/destination address from amongst a candidate list."
    ::= { fsMIipv6 12 }

 fsMIIpv6AddrSelPolicyEntry  OBJECT-TYPE
    SYNTAX  FsMIIpv6PAddrSelPolicyEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "This table entry is used to configure the following parameters for an IPv6 source/destination address -
                  Prefix, PrefixLen,Ifindex,Preference,Label,Address Type,IsSelfAddress, IsAddressPublic,
                  IsAddressDeprecated, ReachabilityStatus, ConfigStatus and Rowstatus"
    INDEX   { fsMIIpv6AddrSelPolicyPrefix,
              fsMIIpv6AddrSelPolicyPrefixLen,
              fsMIIpv6AddrSelPolicyIfIndex}
    ::= { fsMIIpv6AddrSelPolicyTable 1 }


    FsMIIpv6PAddrSelPolicyEntry ::= SEQUENCE {
        fsMIIpv6AddrSelPolicyPrefix       
                  OCTET STRING,
        fsMIIpv6AddrSelPolicyPrefixLen 
                 Integer32,
         fsMIIpv6AddrSelPolicyIfIndex
                 InterfaceIndex, 
         fsMIIpv6AddrSelPolicyScope
                 Integer32,
         fsMIIpv6AddrSelPolicyPrecedence
                 Integer32,
         fsMIIpv6AddrSelPolicyLabel
                 Integer32,
         fsMIIpv6AddrSelPolicyAddrType
                 INTEGER,
         fsMIIpv6AddrSelPolicyIsPublicAddr
                 INTEGER,
         fsMIIpv6AddrSelPolicyIsSelfAddr
                 INTEGER,
         fsMIIpv6AddrSelPolicyReachabilityStatus
                 INTEGER,
         fsMIIpv6AddrSelPolicyConfigStatus
                 INTEGER,
         fsMIIpv6AddrSelPolicyRowStatus
                 RowStatus
        }
         
    fsMIIpv6AddrSelPolicyPrefix OBJECT-TYPE
               SYNTAX OCTET STRING (SIZE (16))
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                   "The IPv6 Address/Prefix for which the policy needs to be configured."
            ::= {  fsMIIpv6AddrSelPolicyEntry 1 }


    fsMIIpv6AddrSelPolicyPrefixLen OBJECT-TYPE
               SYNTAX Integer32 (1..128)
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                  "The Prefix length associated with the IPV6 address identified by fsipv6AddrSelPolicyPrefix."
            ::= { fsMIIpv6AddrSelPolicyEntry  2 }

     fsMIIpv6AddrSelPolicyIfIndex OBJECT-TYPE
               SYNTAX InterfaceIndex
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                 "The index value that uniquely identifies the interface to
                 which this entry is applicable. A value of 0 indicates that the associated address is reachable
                 via any interface."
           ::= { fsMIIpv6AddrSelPolicyEntry 3 }


     fsMIIpv6AddrSelPolicyScope OBJECT-TYPE
                SYNTAX   Integer32 (0..15)
                MAX-ACCESS read-only
                STATUS   current
                DESCRIPTION
                    " This MIB object identifies the scope of the IPv6 address. This can take the following values based on
                      whether the address is unicast/anycast or multicast.
                        0  reserved
                        1  Interface-Local scope
                        2  Link-Local scope
                        3  reserved
                        4  Admin-Local scope
                        5  Site-Local scope
                        6  (unassigned)
                        7  (unassigned)
                        8  Organization-Local scope
                        9  (unassigned)
                        10  (unassigned)
                        11  (unassigned)
                        12  (unassigned)
                        13  (unassigned)
                        14  Global scope
                        15  reserved

                   Link-local and global scopes are applicable for unicast/anycast addresses.

                   The following are valid multicast scopes -
                   Interface-Local scope spans only a single interface on a node
                   and is useful only for loopback transmission of multicast.

                   Link-Local is used for uniquely identifying interfaces within a single link.

                   Admin-Local scope is the smallest scope that must be
                   administratively configured, i.e., not automatically derived
                   from physical connectivity or other, non-multicast-related
                   configuration.

                   Site-Local scope is intended to span a single site.

                   Organization-Local scope is intended to span multiple sites
                   belonging to a single organization.


                   Global scope is used for uniquely identifying interfaces anywhere in the Internet
                   scopes labeled (unassigned) are available for administrators
                   to define additional multicast regions."

               ::= { fsMIIpv6AddrSelPolicyEntry 4 }

       fsMIIpv6AddrSelPolicyPrecedence OBJECT-TYPE
                 SYNTAX   Integer32 (1..128)
                 MAX-ACCESS  read-write
                 STATUS   current
                 DESCRIPTION
                        "The precedence value associated with the address in the policy table. This value is applicable for
                 destination addresses.Higher the value, higher the precedence."
                DEFVAL { 30 }
                ::= { fsMIIpv6AddrSelPolicyEntry 5 }

        fsMIIpv6AddrSelPolicyLabel OBJECT-TYPE
                 SYNTAX   Integer32 (0..255)
                 MAX-ACCESS  read-write
                 STATUS   current
                 DESCRIPTION
                      "The label value  associated with the address in the policy table."
               DEFVAL  { 2 }
                ::= { fsMIIpv6AddrSelPolicyEntry 6}

        fsMIIpv6AddrSelPolicyAddrType OBJECT-TYPE
                SYNTAX   INTEGER {
                            unicast(1),
                            anycast(2),
                            multicast(3)
                       }
                MAX-ACCESS   read-write
                STATUS   current
                DESCRIPTION
                        "This MIB object is used to configure an address as unicast/anycast/multicast, provided the
                         IPv6 address meets the validation criteria for the address type."
              ::= { fsMIIpv6AddrSelPolicyEntry 7 }
 
        fsMIIpv6AddrSelPolicyIsPublicAddr OBJECT-TYPE
                 SYNTAX  INTEGER  {
                         false            (0),
                         true             (1)
                         
                       }
                  MAX-ACCESS  read-only
                  STATUS  current
                  DESCRIPTION
                      " This MIB object indicates whether the address configured in the policy table is a private or public
                        address."
                  ::= { fsMIIpv6AddrSelPolicyEntry 8 }

        fsMIIpv6AddrSelPolicyIsSelfAddr OBJECT-TYPE
                   SYNTAX  INTEGER  {
                         false            (0),
                         true             (1)
                       }
                   MAX-ACCESS  read-only
                   STATUS  current
                   DESCRIPTION
                       "This MIB object indicates whether the given address is configured on the associated interface
                        and represents a self-address. The associated MIB object fsipv6AddrSelPolicyIfIndex takes
                        value true if the associated IPv6 address is a self-node address..
                        "
                    ::= { fsMIIpv6AddrSelPolicyEntry 9 }

         fsMIIpv6AddrSelPolicyReachabilityStatus OBJECT-TYPE
                 SYNTAX  INTEGER  {
                          reachable        (1),
                          unreachable      (2)
                      }
                 MAX-ACCESS read-only
                 STATUS     current
                 DESCRIPTION
                      "This MIB object indicates whether the address configured in the Policy Table is reachable/unreachable
                      "
                 ::= { fsMIIpv6AddrSelPolicyEntry 10 }

          fsMIIpv6AddrSelPolicyConfigStatus OBJECT-TYPE
                SYNTAX  INTEGER  {
                          automatic      (1),
                          management     (2)
                      }
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                  "This MIB object indicates whether the associated entry in the Policy table is created automatically or
                   via the administrator."
                 ::= { fsMIIpv6AddrSelPolicyEntry 11 }

           fsMIIpv6AddrSelPolicyRowStatus OBJECT-TYPE
                 SYNTAX RowStatus
                 MAX-ACCESS read-create
                 STATUS current
                 DESCRIPTION
                   "Administrative Status of the policy table. This object is used
                    to create or delete the entry in the policy table. The following values
                    are not supported for this MIB object - CREATE_AND_GO."
                ::= { fsMIIpv6AddrSelPolicyEntry 12 }




-- Support for Scope Zone Interface Map Table - START

--fsMIIpv6IfScopeZoneMapTable BEGIN

fsMIIpv6IfScopeZoneMapTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6IfScopeZoneMapEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "A zone index identifies an instance of  a specific scope uniquely 
            within the system.The zone index is used to associate unambiguously 
            an IPv6 address to a specific zone.
            
            Following are the changes that has been done in fsMIIpv6IfScopeZoneMapTable

                1) The Zone-Index which is of type InetZoneIndex in stdipvx.mib
                   is changed to DisplayString for user convenience.As the user is 
                   aware of the zones by the scope-zone name rather than the index
                   (i.e Linklocal1 or sitelocal1,scope61,scope71) it has been changed 
                   to DisplayString. But the index associated with the scope-zone is 
                   displayed by ipv6ScopeZoneIndexTable.
                2) The InetZoneIndex definition in INET-ADDRESS-MIB says that the zone-index 
                   will typically be the interface index for link-local address, but as per 
                   the design the Zone-Index is taken as a free flowing number starting 
                   from the value 1, hence the value of ipv6ScopeZoneIndexLinkLocal shall not be                                                 
                   complaint with InetZoneIndex definition.
                3) It is also mentioned that the zone-index value of 0 refers to the default 
                   zone. But the design implements the default scope-zone index for every                                                 
                   scope by the fsipv6ScopeMemberEntry mib table. Hence the default-zone index 
                   of value 0 is also not supported 
                4) The scope-zone index that are not configured on an interface shall take a
                   alpha numeric value of invalid in FsMIIpv6IfScopeZoneMapEntry and -1 for the 
                   index value in ipv6ScopeZoneIndexTable. "
            

    REFERENCE "Section 2.7 of RFC 4291"
    ::= { fsMIipv6 13 }

fsMIIpv6IfScopeZoneMapEntry OBJECT-TYPE
    SYNTAX     FsMIIpv6IfScopeZoneMapEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Each entry contains the list of scope identifiers on a given
            interface. Its a unique value assigned for each scope on an 
            interface."
    INDEX { fsMIIpv6ScopeZoneIndexIfIndex }
    ::= { fsMIIpv6IfScopeZoneMapTable 1 }

FsMIIpv6IfScopeZoneMapEntry ::= SEQUENCE {
        fsMIIpv6ScopeZoneIndexIfIndex            InterfaceIndex,
        fsMIIpv6ScopeZoneIndexInterfaceLocal     DisplayString,
        fsMIIpv6ScopeZoneIndexLinkLocal          DisplayString,
        fsMIIpv6ScopeZoneIndex3                  DisplayString,
        fsMIIpv6ScopeZoneIndexAdminLocal         DisplayString,
        fsMIIpv6ScopeZoneIndexSiteLocal          DisplayString,
        fsMIIpv6ScopeZoneIndex6                  DisplayString,
        fsMIIpv6ScopeZoneIndex7                  DisplayString,
        fsMIIpv6ScopeZoneIndexOrganizationLocal  DisplayString,
        fsMIIpv6ScopeZoneIndex9                  DisplayString,
        fsMIIpv6ScopeZoneIndexA                  DisplayString,
        fsMIIpv6ScopeZoneIndexB                  DisplayString,
        fsMIIpv6ScopeZoneIndexC                  DisplayString,
        fsMIIpv6ScopeZoneIndexD                  DisplayString,
        fsMIIpv6ScopeZoneIndexE                  DisplayString,
        fsMIIpv6IfScopeZoneCreationStatus            INTEGER,
        fsMIIpv6IfScopeZoneRowStatus               RowStatus
        
    }

fsMIIpv6ScopeZoneIndexIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The index value that uniquely identifies the interface to
            which these scopes belong.  The interface identified by a
            particular value of this index is the same interface as
            identified by the same value of the IF-MIB's ifIndex."
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 1 }

fsMIIpv6ScopeZoneIndexInterfaceLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the Interface local scope on this interface."
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 2 }

fsMIIpv6ScopeZoneIndexLinkLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the link-local scope on this interface.
            The index value corresponding to this scope-zone can be known from
            ipv6ScopeZoneIndexLinkLocal"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 3 }

fsMIIpv6ScopeZoneIndex3 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 3 on this interface.  The index value corresponding 
            to this scope-zone can be known from ipv6ScopeZoneIndex3"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 4 }

fsMIIpv6ScopeZoneIndexAdminLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the admin-local scope on this interface.The index value 
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndexAdminLocal"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 5 }

fsMIIpv6ScopeZoneIndexSiteLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the site-local scope on this interface.The index value
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndexSiteLocal "
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 6 }

fsMIIpv6ScopeZoneIndex6 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 6 on this interface.The index value
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndex6 "
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 7 }

fsMIIpv6ScopeZoneIndex7 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 7 on this interface.The index value
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndex7"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 8 }

fsMIIpv6ScopeZoneIndexOrganizationLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the organization-local scope on this
            interface.The index value corresponding to this scope-zone 
            can be known from ipv6ScopeZoneIndexOrganizationLocal"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 9 }

fsMIIpv6ScopeZoneIndex9 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 9 on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndex9"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 10 }

fsMIIpv6ScopeZoneIndexA OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope A on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexA"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 11 }

fsMIIpv6ScopeZoneIndexB OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope B on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexB"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 12 }

fsMIIpv6ScopeZoneIndexC OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope C on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexC"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 13 }

fsMIIpv6ScopeZoneIndexD OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope D on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexD"
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 14 }
 
fsMIIpv6ScopeZoneIndexE OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope E on this interface."
    DEFVAL  { "Invalid" }
    ::= { fsMIIpv6IfScopeZoneMapEntry 15 }

fsMIIpv6IfScopeZoneCreationStatus OBJECT-TYPE
    SYNTAX  INTEGER {
               notcreated(0),
               automatic(1),
                mgmt(2),
                overridden(3)
              }
    MAX-ACCESS    read-only 
    STATUS     current
    DESCRIPTION
       "Flag to determine if the scope-zone index is configured automatically
       or by configuration.When an IPv6 interface is created by default the
       linklocal scope is created and the creation status of it is automatic.When
       a user creates a scope-zone the creation status is updated as manual.When
       an indication is receievd from higher layer protocol regarding the detection
       of interfaces on the same link, in that case whatever might be the configuration
       status (i.e automatic or manual) is changed to overridden.It means if the  
       scope-zone on the standby links is overridden by the scope-zone of the active 
       link regardless Of whether the associated zone is created manually/automatically"
    DEFVAL  { automatic }
    ::= { fsMIIpv6IfScopeZoneMapEntry 16 }

fsMIIpv6IfScopeZoneRowStatus OBJECT-TYPE
    SYNTAX     RowStatus 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
          "The rowstatus of the scope-zone index table, used in 
           accordance to creation and deletion of scope-zones.To create
           a row in this table manager sets this object to createAndGo(4).
           The rowentry can be deleted automatically only when the creation 
           status is set to auto,else the rowstatus is set to NotInService. "
    ::= { fsMIIpv6IfScopeZoneMapEntry 17 }

-- Support for Scope-Zone   - END 

-- Support for Scope-Zone Table - START

--fsMIIpv6ScopeZoneTable BEGIN

fsMIIpv6ScopeZoneTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FsMIIpv6ScopeZoneEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            " The table is used to map each scope-zone index 
              with the interface to which it has been associated.
              This table is indeed used while forwarding packets 
              to find out what all interfaces belong to a particular 
              scope-zone"
    ::= { fsMIipv6 14 }

fsMIIpv6ScopeZoneEntry OBJECT-TYPE
    SYNTAX     FsMIIpv6ScopeZoneEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry in the Scope-Zone Index Member Table.Each
             entry specifies the interface indices associated with 
             a particular scope-zone index "
    INDEX   { fsMIIpv6ScopeZoneContextId,
              fsMIIpv6ScopeZoneName }
     ::= { fsMIIpv6ScopeZoneTable 1 }

FsMIIpv6ScopeZoneEntry ::= SEQUENCE {
        fsMIIpv6ScopeZoneContextId               Integer32,
	fsMIIpv6ScopeZoneName                    DisplayString,
        fsMIIpv6ScopeZoneIndex                   InetZoneIndex,
        fsMIIpv6ScopeZoneCreationStatus          INTEGER,
        fsMIIpv6ScopeZoneInterfaceList           InterfaceList,
        fsMIIpv6IsDefaultScopeZone               INTEGER
 }

fsMIIpv6ScopeZoneContextId  OBJECT-TYPE
    SYNTAX     Integer32(0 ..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The Virtual Router in which the scope-zone is created.
         The reachability of the destination will be determined in
         the specified VR."
     ::= { fsMIIpv6ScopeZoneEntry 1 }

fsMIIpv6ScopeZoneName OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           " Displays the scope zone name value(i.e linklocal1,
             interfacelocal2) for the scope-zone index"
    ::= { fsMIIpv6ScopeZoneEntry 2 }

fsMIIpv6ScopeZoneIndex OBJECT-TYPE
    SYNTAX     InetZoneIndex 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "A unique value for each scope
            on an interface. It is recommended that values are
            assigned contiguously starting from 1. "
    ::= { fsMIIpv6ScopeZoneEntry 3 }

fsMIIpv6ScopeZoneCreationStatus OBJECT-TYPE
    SYNTAX  INTEGER {
               automatic(1),
                mgmt(2),
                overridden(3)
              }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "Flag to determine if the scope-zone index is configured automatically
       or by configuration.When an IPv6 interface is created by default the
       linklocal scope is created and the creation status of it is automatic.When
       a user creates a scope-zone the creation status is updated as manual.When
       an indication is receievd from higher layer protocol regarding the detection
       of interfaces on the same link, in that case whatever might be the configuration
       status (i.e automatic or manual) is changed to overridden. It means if the
       scope-zone on the standby links if its automatic or manually created both will
       be over-ridden and configured with the scope-zone of the active link"
    ::= { fsMIIpv6ScopeZoneEntry 4 }

fsMIIpv6ScopeZoneInterfaceList OBJECT-TYPE
    SYNTAX     InterfaceList 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           " This MIB object displays all the interfaces that are part of/members of this 
             scope-zone index. These interfaces have the corresponding bit set in the octetlist. "
    ::= { fsMIIpv6ScopeZoneEntry 5 }

fsMIIpv6IsDefaultScopeZone OBJECT-TYPE
    SYNTAX     INTEGER {
                 yes(1),
                 no(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          "yes- indicates that zone is default zone for the associated scope
           No - indicates that zone is not the default zone for the associated scope."
    DEFVAL { no }
    ::= { fsMIIpv6ScopeZoneEntry 6 }


--fsMIIpv6ScopeZoneTable END


-- fsMIIpv6Test Group
-- This group defines objects for IP6TEST.

   fsMIIpv6TestRedEntryTime  OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION " Time when the node starts entering active state
            from standby state "
        ::= { fsMIIpv6Test 1 }

    fsMIIpv6TestRedExitTime  OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION " Time when the node completes entering active state
            from standby state "
        ::= { fsMIIpv6Test 2 }

-- fsMIIpv6Test END
END

