-- -----------------------------------------------------------------------------
-- MIB NAME : DGS3710-12-SWL3MGMT-MIB
-- FILE NAME: DGS3700-12-SWL3MGMT-MIB.mib
-- DATE     : 2009/10/26
-- VERSION  : 2.06
-- PURPOSE  : To construct the MIB structure of Layer 3 Network Management Information
--            for proprietary enterprise
-- -----------------------------------------------------------------------------
-- MODIFICTION HISTORY:
-- -----------------------------------------------------------------------------
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)
--
-- Version 2.06, 2009/10/26, Bonnie Cheng
-- Request for dgs37xx
-- [Modification]
-- None.
-- [New Object]
-- 1.add object swL3IpCtrlDhcpv6ClientState in swL3IpCtrlTable.
-- 2.add object swL3Ipv6AddressCtrlAddressType in swL3Ipv6AddressCtrlTable.
-- Notes: Requested by Bonnie for project DGS37xx
--
-- Version 2.05, 2009/09/30, Bonnie Cheng
-- Request for dgs37xx
-- [Modification]
-- None.
-- [New Object]
-- 1.add object swL3RelayDnsState,swL3RelayDnsPrimaryServer,swL3RelayDnsSecondaryServer,
-- swL3RelayDnsCacheState,swL3RelayDnsStaticTableState and swL3RelayDnsCtrlTable.
-- Notes: Requested by Bonnie for project DGS37xx
--
-- Version 2.04, 2009/09/02, Elite Liu
-- Request for dgs37xx
-- [Modification]
-- None.
-- [New Object]
-- 1.add swL3IpCtrlOperState,swL3IpCtrlIpv4AdminState,swL3IpCtrlIpv6AdminState.
-- Notes: Requested by Elite for project DGS37xx
-- 
-- Version 2.03, 2008/11/19, Elite Liu
-- Description:
-- [Modification]
-- 1.Delete objects swL3Ipv6CtrlMaxReassmblySizeswL3Ipv6CtrlRsState swL3Ipv6CtrlRaState
--   swL3Ipv6CtrlRaMinRtrAdvIntervalswL3Ipv6CtrlRaMaxRtrAdvIntervalswL3Ipv6CtrlRaLifeTime,
--   swL3Ipv6CtrlRaReachableTime,swL3Ipv6CtrlRaRetransTime,swL3Ipv6CtrlRaHopLimit, swL3Ipv6CtrlRaManagedFlag,
--   swL3Ipv6CtrlRaOtherConfigFlag in swL3Ipv6CtrlTable. 
-- 2.Delete objects  swL3Ipv6AddressCtrlPreferredLifeTime,swL3Ipv6AddressCtrlValidLifeTime,
--   swL3Ipv6AddressCtrlOnLinkFlag,swL3Ipv6AddressCtrlAutonomousFlag in swL3Ipv6AddressCtrlTable.
-- [New Object]
-- 1.None.
-- Notes: Requested by Elite for project DGS37xx
--
-- Version 2.02, 2008/03/18, Kelvin Tao
-- Request for dgs37xx
--
-- Version 2.01, 2007/08/24, Yan
-- Description:
-- [Modification]
-- 1. modify the description of object swL3IpStaticRouteNextHop.
-- [New Object]
-- 1. add objects swL3IpStaticRouteInterfaceName and swL3IpStaticRouteCost.
--
-- Version 2.00
-- This is the first formal version for universal MIB definition.
-- -----------------------------------------------------------------------------
DGS-3710-12-L3MGMT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        Counter32,MODULE-IDENTITY,OBJECT-TYPE,IpAddress,
        NOTIFICATION-TYPE, Integer32,Unsigned32
                                                  FROM SNMPv2-SMI
        PhysAddress,TruthValue,DisplayString,RowStatus,MacAddress,TimeStamp
        							              FROM SNMPv2-TC
        dgs3710    	           			      FROM SW3700PRIMGMT-MIB

        InterfaceIndex                   		  FROM IF-MIB;

    swL3MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "200811190000Z"
	    ORGANIZATION " "
	    CONTACT-INFO
	        "http://support.dlink.com"
	    DESCRIPTION
		    "The Structure of Layer 3 Network Management Information for the
		    proprietary enterprise."
        ::= { dgs3710 3 }

    NodeAddress             ::= OCTET STRING (SIZE(6))
    NetAddress              ::= OCTET STRING (SIZE(4))

--    swL3DevMgmt             OBJECT IDENTIFIER ::= { swL3MgmtMIB 1 }
    swL3IpMgmt              OBJECT IDENTIFIER ::= { swL3MgmtMIB 2 }
    swL3RelayMgmt           OBJECT IDENTIFIER ::= { swL3MgmtMIB 3 }
--    swL3OspfLsdbMgmt        OBJECT IDENTIFIER ::= { swL3MgmtMIB 13 }
--    swL3VrrpOperMgmt        OBJECT IDENTIFIER ::= { swL3MgmtMIB 14 }
    
    swL3IpCtrlMgmt          OBJECT IDENTIFIER ::= { swL3IpMgmt 1 }
--    swL3IpFdbMgmt           OBJECT IDENTIFIER ::= { swL3IpMgmt 2 }
--    swL3IpFilterMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 3 }

--    swL3RelayDhcpMgmt      OBJECT IDENTIFIER ::= { swL3RelayMgmt 1 }
      swL3RelayDnsMgmt        OBJECT IDENTIFIER ::= { swL3RelayMgmt 2 }
    
-- -----------------------------------------------------------------------------
-- Textual Conventions
-- -----------------------------------------------------------------------------
-- This definition may be excluded if IPv6 Supported
Ipv6Address ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "2x:"
	STATUS       current
	DESCRIPTION
		"This data type is used to model IPv6 addresses.
		This is a binary string of 16 octets in network
		byte-order."
	SYNTAX       OCTET STRING (SIZE (16))
    
 VrId ::= TEXTUAL-CONVENTION
     STATUS       current
     DESCRIPTION
         "A number which, along with an interface index (ifIndex),
         serves to uniquely identify a virtual router on a given VRRP
         router. A set of one or more associated addresses is assigned
         to a VRID."
     SYNTAX      Integer32 (1..255)

-- -----------------------------------------------------------------------------
--  swL3IpCtrlMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 1 }
-- -----------------------------------------------------------------------------

--      swL3IpCtrlIpv4State OBJECT-TYPE
--          SYNTAX  INTEGER {
--                 enabled(1),
--                 disabled(2)
--                 }
--          MAX-ACCESS  read-write
--          STATUS  current
--          DESCRIPTION
--              "This object indicates the IPv4 function state of the device."
--          ::= { swL3IpCtrlMgmt 1 }

--      swL3IpCtrlIpv6State OBJECT-TYPE
--          SYNTAX  INTEGER {
--                 enabled(1),
--                 disabled(2)
--                 }
--          MAX-ACCESS  read-write
--          STATUS  current
--          DESCRIPTION
--              "This object indicates the IPv6 function state of the device."
--          ::= { swL3IpCtrlMgmt 2 }
                
    swL3IpCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3IpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains IP interface information."
        ::= { swL3IpCtrlMgmt 3 }

    swL3IpCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3IpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about a specific IP interface."
        INDEX  { swL3IpCtrlInterfaceName }
        ::= { swL3IpCtrlTable 1 }

    SwL3IpCtrlEntry ::= 
        SEQUENCE {
            swL3IpCtrlInterfaceName
                DisplayString,
            swL3IpCtrlIfIndex
                INTEGER,
	    swL3IpCtrlIpAddr
                IpAddress,
            swL3IpCtrlIpSubnetMask
                IpAddress,
            swL3IpCtrlVlanName
                DisplayString,
--            swL3IpCtrlProxyArp
--                  INTEGER,
--            swL3IpCtrlSecondary
--                TruthValue,
            swL3IpCtrlMode
                INTEGER,
            swL3IpCtrlAdminState
                 INTEGER,
            swL3IpCtrlIpv4AdminState
                INTEGER,
--             swL3IpCtrlIpv4OperState
--                INTEGER,    
            swL3IpCtrlIpv6AdminState
                INTEGER,
--             swL3IpCtrlIpv6OperState
--                 INTEGER,
            swL3IpCtrlIpv6LinkLocalAddress
            	Ipv6Address,
            swL3IpCtrlIpv6LinkLocalPrefixLen
                INTEGER,                   
            swL3IpCtrlState
                RowStatus,
            swL3IpCtrlIpv6LinkLocalAutoState
            	INTEGER,
            swL3IpCtrlDhcpv6ClientState
            	INTEGER
        }
        
    swL3IpCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the IP interface."
        ::= { swL3IpCtrlEntry 1 }

    swL3IpCtrlIfIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object uniquely identifies the IP interface number in the
            swL3IpCtrlTable."
        ::= { swL3IpCtrlEntry 2 }
        
    swL3IpCtrlIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The IP address of the interface. This object only can take the
            value of the unicast IP address."
        ::= { swL3IpCtrlEntry 3 }
        
    swL3IpCtrlIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The IP net mask for this interface."
        ::= { swL3IpCtrlEntry 4 }

    swL3IpCtrlVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the IP control entry's VLAN name. The 
            VLAN name in each entry must be unique in the IP Control Table."
        ::= { swL3IpCtrlEntry 5 }

--     swL3IpCtrlProxyArp OBJECT-TYPE
--         SYNTAX  INTEGER {
--                enabled(1),
--                disabled(2)
--                }
--         MAX-ACCESS  read-write
--         STATUS  current
--         DESCRIPTION
--             "This object indicates enable/disable of the proxy ARP function for IPv4."
--         ::= { swL3IpCtrlEntry 6 }

--    swL3IpCtrlSecondary OBJECT-TYPE
--        SYNTAX  TruthValue
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "When this is true(1), the IP address is the secondary IP.  When
--            false(2), the IP address is the primary IP."
--        ::= { swL3IpCtrlEntry 7 }
                
     swL3IpCtrlMode OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                bootp(3),
                dhcp(4)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the IP operation mode. 

            other(1) - This entry is currently in use but the conditions under 
                which it will remain are determined by each of the following values.
            bootp(3) -  The IP address will be set automatically from a BOOTP
                server.
            dhcp(4) - The IP address will be set automatically from a DHCP
                server."
        ::= { swL3IpCtrlEntry 8 }

    swL3IpCtrlAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the IP interface."
        ::= { swL3IpCtrlEntry 9 }

    swL3IpCtrlIpv4AdminState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The IPv4 admin state of the IP interface. The default state is determined by project. 
             This state will only be effective when the swL3IpCtrlAdminState is enabled."
        ::= { swL3IpCtrlEntry 10 }

--    swL3IpCtrlIpv4OperState OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),	
--               disabled(2)
--                }
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The current IPv4 operational state of the IP interface.
--             If the swL3IpCtrlIpv4State is disabled, disabled(2) will be displayed.
--             Otherwise, it will be set as other(1)."
--        ::= { swL3IpCtrlEntry 11 }
        
    swL3IpCtrlIpv6AdminState OBJECT-TYPE
        SYNTAX  INTEGER {	
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The IPv6 admin state of the IP interface. The default state is determined by project. 
             This state will only be effective when the swL3IpCtrlAdminState is enabled."
        ::= { swL3IpCtrlEntry 12 }

--    swL3IpCtrlIpv6OperState OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),	
--               disabled(2)
--                }
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The current IPv6 operational state of the IP interface. 
--          If the swL3IpCtrlIpv6State is disabled, disabled(2) will be displayed.
--          Otherwise, it will be set as other(1)."
--     ::= { swL3IpCtrlEntry 13 }
        
    swL3IpCtrlIpv6LinkLocalAddress  OBJECT-TYPE
        SYNTAX  Ipv6Address
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IPv6 link local address for this interface."
        ::= { swL3IpCtrlEntry 14 }

    swL3IpCtrlIpv6LinkLocalPrefixLen  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IPv6 prefix length for this IPv6 link local address."
        ::= { swL3IpCtrlEntry 15 }
                
    swL3IpCtrlState OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This variable displays the status of the entry. The status is used
            for creating, modifying, and deleting instances of the objects 
            in this table."
        ::= { swL3IpCtrlEntry 16 }
        
    swL3IpCtrlIpv6LinkLocalAutoState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               enabled(2),
               disabled(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the IPv6 link local auto."
        ::= { swL3IpCtrlEntry 17 }

     swL3IpCtrlDhcpv6ClientState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               enabled(2),
               disabled(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the Dhcpv6 Client."
        ::= { swL3IpCtrlEntry 20 }
        
    swL3Ipv6CtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3Ipv6CtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains IPv6 information of an IP interface."
        ::= { swL3IpCtrlMgmt 4 }

    swL3Ipv6CtrlEntry OBJECT-TYPE
        SYNTAX  SwL3Ipv6CtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of IPv6 information about a specific IP interface."
        INDEX  { swL3Ipv6CtrlInterfaceName }
        ::= { swL3Ipv6CtrlTable 1 }

    SwL3Ipv6CtrlEntry ::= 
        SEQUENCE {
            swL3Ipv6CtrlInterfaceName
                DisplayString,
--          swL3Ipv6CtrlMaxReassmblySize
--              INTEGER,
            swL3Ipv6CtrlNsRetransTimer
                Unsigned32
--            swL3Ipv6CtrlRsState
--                 INTEGER,
--            swL3Ipv6CtrlRaState
--              INTEGER,
--            swL3Ipv6CtrlRaMinRtrAdvInterval
--            	INTEGER,
--            swL3Ipv6CtrlRaMaxRtrAdvInterval
--            	INTEGER,	                
--            swL3Ipv6CtrlRaLifeTime  
--                INTEGER, 
--            swL3Ipv6CtrlRaReachableTime   
--                INTEGER, 
--            swL3Ipv6CtrlRaRetransTime   
--                Unsigned32, 
--            swL3Ipv6CtrlRaHopLimit
--            	INTEGER,  
--            swL3Ipv6CtrlRaManagedFlag
--            	INTEGER,
--            swL3Ipv6CtrlRaOtherConfigFlag
--            	INTEGER		 
        }
        
    swL3Ipv6CtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the IP interface."
        ::= { swL3Ipv6CtrlEntry 1 }

--  swL3Ipv6CtrlMaxReassmblySize  OBJECT-TYPE
--      SYNTAX  INTEGER
--      MAX-ACCESS  read-only
--      STATUS  current
--      DESCRIPTION
--          "Maximum Reassembly Size of the IP interface."
--      ::= { swL3Ipv6CtrlEntry 2 }
        
    swL3Ipv6CtrlNsRetransTimer  OBJECT-TYPE
        SYNTAX  Unsigned32 (0..4294967295)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Neighbor solicitation's retransmit timer.
             The unit is set in milliseconds."
        ::= { swL3Ipv6CtrlEntry 3 }

--     swL3Ipv6CtrlRsState OBJECT-TYPE
--         SYNTAX  INTEGER {
--                enabled(1),
--                 disabled(2)
--                 }
--         MAX-ACCESS  read-write
--         STATUS  current
--         DESCRIPTION
--            "Router solicited state."
--         ::= { swL3Ipv6CtrlEntry 4 }

--  swL3Ipv6CtrlRaState OBJECT-TYPE
--     SYNTAX  INTEGER {
--             enabled(1),
--             disabled(2)
--             }
--      MAX-ACCESS  read-write
--      STATUS  current
--      DESCRIPTION
--         "Neighbor solicited state."
--      ::= { swL3Ipv6CtrlEntry 5 }

--    swL3Ipv6CtrlRaMinRtrAdvInterval  OBJECT-TYPE
--        SYNTAX  INTEGER (3..1350)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The minimum time allowed between sending unsolicited multicast Router 
--             Advertisements from the interface. The unit is set in seconds.             
--             It must be no less than 3 seconds and no greater than .75 * MaxRtrAdvInterval.
--             Default value: 0.33 * MaxRtrAdvInterval"     
--        ::= { swL3Ipv6CtrlEntry 6 }

--    swL3Ipv6CtrlRaMaxRtrAdvInterval  OBJECT-TYPE
--        SYNTAX  INTEGER (4..1800)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The maximum time allowed between sending unsolicited multicast Router 
--            Advertisements from the interface. The unit is set in seconds."
--        DEFVAL {600}    
--        ::= { swL3Ipv6CtrlEntry 7 }
        
--    swL3Ipv6CtrlRaLifeTime  OBJECT-TYPE
--        SYNTAX  INTEGER (0..9000)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates the lifetime of the router as the default router."
--        ::= { swL3Ipv6CtrlEntry 8 }

--    swL3Ipv6CtrlRaReachableTime  OBJECT-TYPE
--        SYNTAX  INTEGER (0..3600000)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates the amount of time that a node can consider a neighboring 
--             node reachable after receiving a reachability confirmation."
--        ::= { swL3Ipv6CtrlEntry 9 }

--    swL3Ipv6CtrlRaRetransTime  OBJECT-TYPE
--        SYNTAX  Unsigned32 (0..4294967295)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates the amount of time between retransmissions of neighbor 
--             solicited messages.
--        ::        The unit is set in millisecond."
--     = { swL3Ipv6CtrlEntry 10 }
--
--    swL3Ipv6CtrlRaHopLimit  OBJECT-TYPE
--        SYNTAX  INTEGER (0..255)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates the default value of the hop limit field in the IPv6 header for 
--             packets sent by hosts that receive this RA message."
--        ::= { swL3Ipv6CtrlEntry 11 }

--    swL3Ipv6CtrlRaManagedFlag OBJECT-TYPE
--        SYNTAX  INTEGER {
--               enabled(1),
--               disabled(2)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "When enabled, it indicates that hosts receiving this RA must use a 
--             stateful address configuration protocol to obtain an address in the addition 
--             to the addresses derived from the stateless address configuration."
--        ::= { swL3Ipv6CtrlEntry 12 }
 
--    swL3Ipv6CtrlRaOtherConfigFlag OBJECT-TYPE
--        SYNTAX  INTEGER {
--               enabled(1),
--               disabled(2)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "When enabled, it indicates that hosts receiving this RA must use a stateful 
--             address configuration protocol to obtain an on-link address configuration information."
--        ::= { swL3Ipv6CtrlEntry 13 } 
        
    swL3Ipv6AddressCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3Ipv6AddressCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains IPv6 address information for each IP interface."
        ::= { swL3IpCtrlMgmt 5 }

    swL3Ipv6AddressCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3Ipv6AddressCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about a specific IPv6 address."
        INDEX  { swL3Ipv6AddressCtrlInterfaceName, swL3Ipv6Address, swL3Ipv6AddressCtrlPrefixLen }
        ::= { swL3Ipv6AddressCtrlTable 1 }
        
    SwL3Ipv6AddressCtrlEntry ::= 
        SEQUENCE {
            swL3Ipv6AddressCtrlInterfaceName
            	DisplayString,
            swL3Ipv6Address
                Ipv6Address,
            swL3Ipv6AddressCtrlPrefixLen
                INTEGER,
--	    swL3Ipv6AddressCtrlPreferredLifeTime
--                Unsigned32,
--            swL3Ipv6AddressCtrlValidLifeTime
--                Unsigned32,
--            swL3Ipv6AddressCtrlOnLinkFlag
--                INTEGER,
--            swL3Ipv6AddressCtrlAutonomousFlag
--                INTEGER,
            swL3Ipv6AddressCtrlState
                RowStatus,
            swL3Ipv6AddressCtrlAddressType
            	INTEGER
            }        

    swL3Ipv6AddressCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the IP interface. "
        ::= { swL3Ipv6AddressCtrlEntry 1 }   
        
    swL3Ipv6Address OBJECT-TYPE
        SYNTAX   Ipv6Address
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "Specify the IPv6 address."
        ::= { swL3Ipv6AddressCtrlEntry 2 }  

    swL3Ipv6AddressCtrlPrefixLen OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Indicates the prefix length of this IPv6 address."
        ::= { swL3Ipv6AddressCtrlEntry 3 }  
        
--    swL3Ipv6AddressCtrlPreferredLifeTime  OBJECT-TYPE
--        SYNTAX  Unsigned32 (0..4294967294)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates the number of seconds that an address, based on the specified prefix, 
--             using the stateless address configuration, remains in preferred state.  
--             For an infinite valid lifetime, the value can be set to 0xffffffff."
--        ::= { swL3Ipv6AddressCtrlEntry 4 }  
        
--    swL3Ipv6AddressCtrlValidLifeTime  OBJECT-TYPE
--        SYNTAX  Unsigned32 (0..4294967294)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates the number of seconds that an address, based on the specified prefix, 
--             using the stateless address configuration, remains valid.  
--             For an infinite valid lifetime, the value can be set to 0xffffffff."
--        ::= { swL3Ipv6AddressCtrlEntry 5 }             

--    swL3Ipv6AddressCtrlOnLinkFlag OBJECT-TYPE
--        SYNTAX  INTEGER {
--               enabled(1),
--               disabled(2)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "When enabled, the address implied by the specified prefix is available 
--             on the link where the RA message is received."
--        ::= { swL3Ipv6AddressCtrlEntry 6 } 
--
--    swL3Ipv6AddressCtrlAutonomousFlag OBJECT-TYPE
--        SYNTAX  INTEGER {
--               enabled(1),
--               disabled(2)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "When enabled, the specified prefix will be used to create an autonomous address configuration."
--        ::= { swL3Ipv6AddressCtrlEntry 7 } 

    swL3Ipv6AddressCtrlState OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This variable displays the status of the entry. The status is used
            for creating, modifying, and deleting instances of the objects 
            in this table."
        ::= { swL3Ipv6AddressCtrlEntry 8 }

      swL3Ipv6AddressCtrlAddressType OBJECT-TYPE
        SYNTAX  INTEGER {
			manual(1),
			dhcpv6(2),
			stateless(3)
		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"This object indicates the type of the IPv6 address.
		
 		 manual(1): the IPv6 address is configured by user.
		 dhcpv6(2): the IPv6 address is assigned by DHCPv6 server.
		 stateless(3): the IPv6 address is assigned by router advertisement."
        ::= { swL3Ipv6AddressCtrlEntry 9 }
        
     swL3IpCtrlAllIpIfState OBJECT-TYPE                                       
    	SYNTAX  INTEGER {
    	   other(1),                                                 
           enabled(2),                                                
           disabled(3)                                                
           }                                                          
    	MAX-ACCESS  read-write                                            
    	STATUS  current                                                   
    	DESCRIPTION                                                       
        	"This object indicates all interface function state of the device."
    	::= { swL3IpCtrlMgmt 7 }       

   
   

    swL3IpStaticRouteTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SwL3IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
        "This entity's IP static routing table."
        ::= { swL3IpMgmt 5 }

    swL3IpStaticRouteEntry OBJECT-TYPE
        SYNTAX   SwL3IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
           "A particular route to a particular destination, under a particular policy.
           Once an entry is built, it shouldn't be modified. That is, it just supports a
	   create or delete action."
        INDEX {
            swL3IpStaticRouteDest,
            swL3IpStaticRouteMask,
            swL3IpStaticRouteNextHop
            }
        ::= { swL3IpStaticRouteTable 1 }

    SwL3IpStaticRouteEntry ::=
        SEQUENCE {
            swL3IpStaticRouteDest
                IpAddress,
            swL3IpStaticRouteMask
                IpAddress,
            swL3IpStaticRouteBkupState
            	INTEGER,
            swL3IpStaticRouteNextHop
                IpAddress,
            swL3IpStaticRouteMetric
                INTEGER,
            swL3IpStaticRouteStatus
                INTEGER
        }

    swL3IpStaticRouteDest OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "The destination IP address of this route.

           This object will not take a Multicast (Class  D)
           address value.

           Any assignment (implicit or otherwise) of an
           instance of this object with a value of x must
           be rejected if the bitwise logical-AND of x with
           the value of the corresponding instance of the
           swL3IpStaticRouteMask object is not equal to x."
        ::= { swL3IpStaticRouteEntry 1 }

    swL3IpStaticRouteMask OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "Indicates that the mask is to be logical-ANDed with
	   the destination address before being compared to
           the value in the swL3IpStaticRouteDest field.
           For those systems that do not support arbitrary
           subnet masks, an agent constructs the value  of
           the swL3IpStaticRouteMask by referring to the IP
           Address Class.

           Any assignment (implicit or otherwise) of an
           instance of this object to the value x must be
           rejected if the bitwise logical-AND of  x  with
           the value of the corresponding instance of the
           swL3IpStaticRouteDest object is not equal to
           swL3IpStaticRouteDest."
        ::= { swL3IpStaticRouteEntry 2 }

    swL3IpStaticRouteBkupState OBJECT-TYPE
        SYNTAX   INTEGER {
                    primary(1),
                    backup(2)
                }
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
            "The routing state for this route. The value should be
            primary (1) or backup (2)."
        ::= { swL3IpStaticRouteEntry 3 }

    swL3IpStaticRouteNextHop OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "On remote routes, the address of the next system
            route; Otherwise, 0.0.0.0."
        ::= { swL3IpStaticRouteEntry 4 }

    swL3IpStaticRouteMetric OBJECT-TYPE
        SYNTAX   INTEGER (1..65535)
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
            "The routing metric for this route."
        ::= { swL3IpStaticRouteEntry 5 }

    swL3IpStaticRouteStatus OBJECT-TYPE
        SYNTAX   INTEGER {
                    other(1),
                    invalid(2),
                    valid(3)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry.

            other (1) - This entry is currently in use but the conditions
                under which it will remain so are different from each of
                the following values.
            invalid (2) V If this value is written to the object, the
                corresponding entry will be removed from the table.
            Valid (3) - This entry will reside in the table."
        ::= { swL3IpStaticRouteEntry 6 }
 
-- -----------------------------------------------------------------------------
--  swL3RelayDnsMgmt        OBJECT IDENTIFIER ::= { swL3RelayMgmt 2 }
-- -----------------------------------------------------------------------------

    swL3RelayDnsState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates if the DNS Relay function is enabled or 
            disabled."
        ::= { swL3RelayDnsMgmt 1 }
        
    swL3RelayDnsPrimaryServer OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the address of the primary DNS server."
        ::= { swL3RelayDnsMgmt 2 }
        
    swL3RelayDnsSecondaryServer OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the address of the secondary DNS server."
        ::= { swL3RelayDnsMgmt 3 }
    
    swL3RelayDnsCacheState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DNS Relay cache is enabled or 
            disabled."
        ::= { swL3RelayDnsMgmt 4 }
        
    swL3RelayDnsStaticTableState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DNS Relay static table is enabled or 
            disabled."
        ::= { swL3RelayDnsMgmt 5 }
        
    swL3RelayDnsCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3RelayDnsCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table displays the current DNS relay static table."
        ::= { swL3RelayDnsMgmt 6 }

    swL3RelayDnsCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3RelayDnsCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information display the current DNS relay static 
            table."
        INDEX  { swL3RelayDnsCtrlDomainName,  swL3RelayDnsCtrlIpAddr}
        ::= { swL3RelayDnsCtrlTable 1 }

    SwL3RelayDnsCtrlEntry ::= 
        SEQUENCE {
            swL3RelayDnsCtrlDomainName
                DisplayString,
            swL3RelayDnsCtrlIpAddr
                IpAddress,
            swL3RelayDnsCtrlState
                INTEGER    
        }

    swL3RelayDnsCtrlDomainName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..32))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The domain name of the entry."
        ::= { swL3RelayDnsCtrlEntry 1 }
        
    swL3RelayDnsCtrlIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The IP address of the entry."
        ::= { swL3RelayDnsCtrlEntry 2 }

    swL3RelayDnsCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    invalid(2),
                    valid(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry.
 
            other(1) - this entry is currently in use but the conditions
                under which it will remain so are different from each of
                the following values.
            invalid(2) - writing this value to the object, and then the
                corresponding entry will be removed from the table.
            valid(3) - this entry is reside in the table."
        ::= { swL3RelayDnsCtrlEntry 3 }
        
            
END


