-- -----------------------------------------------------------------------------
-- MIB NAME : DGS-3000-28SC L3MGMT mib
-- FILE NAME: L3mgmtDgs3000-28SC.mib
-- DATE     : 2014/8/18
-- VERSION  : 1.00
-- PURPOSE  : To construct the MIB structure of L2MGMT
-- -----------------------------------------------------------------------------
-- MODIFICTION HISTORY:
-- -----------------------------------------------------------------------------

-- Version 1.00, 2014/08/18
-- This is the first version.
-- -----------------------------------------------------------------------------

DGS3000-28SC-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
        Ipv6Address			  				FROM IPV6-TC
		dlink-Dgs3000Proj-DGS3000-28SCax   	  			    FROM SWDGS3000PRIMGMT-MIB
        InterfaceIndex                   		  FROM IF-MIB
        InetAddressType, InetAddress      	          FROM INET-ADDRESS-MIB;

    swL3MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "201408180000Z"
	    ORGANIZATION " "
	    CONTACT-INFO
	        "     "
	    DESCRIPTION
		    "The Structure of Layer 3 Network Management Information for the
		    proprietary enterprise."
        ::= { dlink-Dgs3000Proj-DGS3000-28SCax 3 }

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

    swL3IpMgmt              OBJECT IDENTIFIER ::= { swL3MgmtMIB 2 }
    swL3RelayMgmt           OBJECT IDENTIFIER ::= { swL3MgmtMIB 3 }
     
    swL3IpCtrlMgmt          OBJECT IDENTIFIER ::= { swL3IpMgmt 1 } 
    swL3IpFdbMgmt           OBJECT IDENTIFIER ::= { swL3IpMgmt 2 }

    swL3RelayDnsMgmt        OBJECT IDENTIFIER ::= { swL3RelayMgmt 2 }
    
    
-- -----------------------------------------------------------------------------
-- Textual Conventions
-- -----------------------------------------------------------------------------
-- This definition may be excluded if IPv6 Supported
 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,
            swL3IpCtrlLocalProxyArp
                INTEGER,
            swL3IpCtrlIpMtu
                INTEGER,
            swL3IpCtrlDhcpv6ClientState
            	INTEGER,       
            swL3IpCtrlIpDirectedBroadcastState
            	INTEGER,
            swL3IpCtrlIpDhcpOption12State
            	INTEGER,
            swL3IpCtrlIpDhcpOption12HostName
            	DisplayString,
            swL3IpCtrlDhcpv6ClientPDState
                INTEGER,
	    swL3IpCtrlDhcpv6ClientPDPrefixName
              	DisplayString,
            swL3IpCtrlDhcpv6ClientPDPrefix
                Ipv6Address,
            swL3IpCtrlDhcpv6ClientPDPrefixLen
                INTEGER,
            swL3IpCtrlIpv6AutoConfigState
                INTEGER,
            swL3IpCtrlIpv6AutoConfigDefault
                TruthValue,
	    swL3IpCtrlDhcpv6ClientRapidCommit
                TruthValue,                             	
	    swL3IpCtrlDhcpv6ClientPDRapidCommit
                TruthValue  
        }
        
    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-create
        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-create
        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 }    
        	        
    swL3IpCtrlLocalProxyArp OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates enable/disable of the local proxy ARP function for IPv4."
        ::= { swL3IpCtrlEntry 18 }

    swL3IpCtrlIpMtu  OBJECT-TYPE
        SYNTAX INTEGER
        UNITS  "bytes"
        MAX-ACCESS read-create
        STATUS  current
        DESCRIPTION
           "The MTU is the largest size of the IP datagram which may be transferred
            using a specific data link connection. The MTU value is a design parameter
            of a LAN and is a mutually agreed value (i.e. both ends of a link agree to
            use the same specific value) for most WAN links.

            The MTU range is based on the chip of the current device.
            The suggested minimum value is 1500 bytes.
            The suggested maximum value is the size of the jumbo frame minus 36.
            The suggested default setting is 1500 bytes."
        DEFVAL { 1500 }
       ::={swL3IpCtrlEntry 19}
       
    swL3IpCtrlDhcpv6ClientState OBJECT-TYPE
        SYNTAX  INTEGER {
			enabled(1),
			disabled(2)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The object indicates the state of the DHCPv6 client."
        ::= { swL3IpCtrlEntry 20 }
    swL3IpCtrlIpDirectedBroadcastState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The object indicates the state of the IP Directed Broadcast."
        ::= { swL3IpCtrlEntry 21 }
    swL3IpCtrlIpDhcpOption12State OBJECT-TYPE
        SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Enable or disable insertion of option 12 in the DHCPDISCOVER and 
             DHCPREQUEST message."
        ::= { swL3IpCtrlEntry 22 }
    swL3IpCtrlIpDhcpOption12HostName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..63))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Specify the host name to be inserted in the DHCPDISCOVER and 
             DHCPREQUEST message. The specified host name must start with a 
             letter, end with a letter or digit, and have only letters, digits, 
             and hyphen as interior characters; the maximal length is 63. By 
             default, the host name is empty.
             When set an empty host name, means to clear the host name setting and 
             use the default value to encode option 12."
        ::= { swL3IpCtrlEntry 23 }

    swL3IpCtrlDhcpv6ClientPDState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the Dhcpv6 Client PD."
        ::= { swL3IpCtrlEntry 24 }
        
    swL3IpCtrlDhcpv6ClientPDPrefixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..12))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the name for the DHCPv6 Client PD. If the 
            swL3IpCtrlDhcpv6ClientPDState is disabled, this object will be clear and can't write."
        ::= { swL3IpCtrlEntry 25 }
        
    swL3IpCtrlDhcpv6ClientPDPrefix  OBJECT-TYPE
        SYNTAX  Ipv6Address
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IPv6 prefix obtained form delegation router."
        ::= { swL3IpCtrlEntry 26 }

    swL3IpCtrlDhcpv6ClientPDPrefixLen  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IPv6 prefix length for the prefix obtained from delegation router."
        ::= { swL3IpCtrlEntry 27 }
        
    swL3IpCtrlIpv6AutoConfigState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of IPv6 stateless adddress autoconfig."
        ::= { swL3IpCtrlEntry 28 }
        
    swL3IpCtrlIpv6AutoConfigDefault OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When this is true(1), a default route will be installed into ipv6
             routing table.  When false(2), no default route will be installed."
        ::= { swL3IpCtrlEntry 29 }

    swL3IpCtrlDhcpv6ClientRapidCommit OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When this is true(1), Allows the two-message exchange method for 
	     address assignment."
        ::= { swL3IpCtrlEntry 30 }

    swL3IpCtrlDhcpv6ClientPDRapidCommit OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When this is true(1), Allows the two-message exchange method for 
	     prefix assignment."
        ::= { swL3IpCtrlEntry 31 }
                 
    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,
            swL3Ipv6CtrlDadRetransNum
            	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 } 
        
     swL3Ipv6CtrlDadRetransNum  OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates the value of duplicate address detection attempt number"
        ::= { swL3Ipv6CtrlEntry 14 }
       
    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 } 
        
     swL3Ipv6DHCPv6CPDAddrCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3Ipv6DHCPv6CPDAddrCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contain the information of the IPv6 address which based on DHCPv6 client PD."
        ::= { swL3IpCtrlMgmt 6 }

    swL3Ipv6DHCPv6CPDAddrCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3Ipv6DHCPv6CPDAddrCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about a specific DHCPv6 Client PD IPv6 address."
        INDEX  { swL3Ipv6DHCPv6CPDAddrCtrlInterfaceName, swL3Ipv6DHCPv6CPDAddrCtrlPrefixName, 
        				 swL3Ipv6DHCPv6CPDAddrCtrlIPv6addr, swL3Ipv6DHCPv6CPDAddrCtrlPrefixLen }
        ::= { swL3Ipv6DHCPv6CPDAddrCtrlTable 1 }
        
    SwL3Ipv6DHCPv6CPDAddrCtrlEntry ::= 
        SEQUENCE {
            swL3Ipv6DHCPv6CPDAddrCtrlInterfaceName
            	DisplayString,
            swL3Ipv6DHCPv6CPDAddrCtrlPrefixName
                DisplayString,
            swL3Ipv6DHCPv6CPDAddrCtrlIPv6addr
                Ipv6Address,
	    swL3Ipv6DHCPv6CPDAddrCtrlPrefixLen
                INTEGER,
            swL3Ipv6DHCPv6CPDAddrCtrlState
                RowStatus     
            }        
            
     swL3Ipv6DHCPv6CPDAddrCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the IP interface. "
        ::= { swL3Ipv6DHCPv6CPDAddrCtrlEntry 1 }   
        
    swL3Ipv6DHCPv6CPDAddrCtrlPrefixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the prefix based on 
            which the IPv6 address will be generate. "
        ::= { swL3Ipv6DHCPv6CPDAddrCtrlEntry 2 }
        
    swL3Ipv6DHCPv6CPDAddrCtrlIPv6addr OBJECT-TYPE
        SYNTAX   Ipv6Address
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "Specify the suffix of the IPv6 address."
        ::= { swL3Ipv6DHCPv6CPDAddrCtrlEntry 3 }  

    swL3Ipv6DHCPv6CPDAddrCtrlPrefixLen OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Indicates the prefix length of this IPv6 address."
        ::= { swL3Ipv6DHCPv6CPDAddrCtrlEntry 4 }  

    swL3Ipv6DHCPv6CPDAddrCtrlState 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 and deleting instances of the objects 
            in this table."
        ::= { swL3Ipv6DHCPv6CPDAddrCtrlEntry 5 }
        
     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.
        	(except the loopback interface)"
    	::= { swL3IpCtrlMgmt 7 }       
    	
    swL3LoopBackIpCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3LoopBackIpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains loopback IP interface information."
        ::= { swL3IpCtrlMgmt 8 }

    swL3LoopBackIpCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3LoopBackIpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about a specific loopback IP interface."
        INDEX  { swL3LoopBackIpCtrlInterfaceName }
        ::= { swL3LoopBackIpCtrlTable 1 }

    SwL3LoopBackIpCtrlEntry ::= 
        SEQUENCE {
            swL3LoopBackIpCtrlInterfaceName
                DisplayString,
            swL3LoopBackIpCtrlIfIndex
                INTEGER,
	    swL3LoopBackIpCtrlIpAddr
                IpAddress,
            swL3LoopBackIpCtrlIpSubnetMask
                IpAddress,                  
            swL3LoopBackIpCtrlAdminState
                INTEGER,
            swL3LoopBackIpCtrlRowStatus
                RowStatus
        }
        
    swL3LoopBackIpCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the loopback IP interface."
        ::= { swL3LoopBackIpCtrlEntry 1 }

    swL3LoopBackIpCtrlIfIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object uniquely identifies the loopback IP interface number in the
            swL3LoopBackIpCtrlTable."
        ::= { swL3LoopBackIpCtrlEntry 2 }
        
    swL3LoopBackIpCtrlIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The IP address of the loopback interface. This object only can take the
            value of the unicast IP address."
        ::= { swL3LoopBackIpCtrlEntry 3 }
        
    swL3LoopBackIpCtrlIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The IP net mask for this loopback interface."
        ::= { swL3LoopBackIpCtrlEntry 4 }

    swL3LoopBackIpCtrlAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The state of the loopback IP interface."
        ::= { swL3LoopBackIpCtrlEntry 5 }

    swL3LoopBackIpCtrlRowStatus 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."
        ::= { swL3LoopBackIpCtrlEntry 6 }
        
-- -----------------------------------------------------------------------------
--  swL3IpFdbMgmt           OBJECT IDENTIFIER ::= { swL3IpMgmt 2 }
-- -----------------------------------------------------------------------------

    swL3IpFdbInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3IpFdbInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains forwarding and/or filtering information.
            This information is used by the switch in determining how to
            propagate the received IP packets."
        ::= { swL3IpFdbMgmt 1 }

    swL3IpFdbInfoEntry OBJECT-TYPE
        SYNTAX  SwL3IpFdbInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about a specific IP address for which the bridge 
            has some forwarding and/or filtering information."
        INDEX  { swL3IpFdbInfoIpAddr }
        ::= { swL3IpFdbInfoTable 1 }

    SwL3IpFdbInfoEntry ::= 
        SEQUENCE {
--            swL3IpFdbInfoRdIndex
--                INTEGER,
            swL3IpFdbInfoIpAddr
                IpAddress,
            swL3IpFdbInfoIpSubnetMask
                IpAddress,
            swL3IpFdbInfoPort
                INTEGER,
            swL3IpFdbInfoType
                INTEGER
        }

--    swL3IpFdbInfoRdIndex OBJECT-TYPE
--        SYNTAX  INTEGER(0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The object indicates the IP routing domain index, and should 
--            be associated with one of swL3IpDomainStatsIndex."
--        ::= { swL3IpFdbInfoEntry 1 }

    swL3IpFdbInfoIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A IP address for which switch has forwarding and/or filtering
            information."
        ::= { swL3IpFdbInfoEntry 1 }

    swL3IpFdbInfoIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A IP net mask for this interface for which the switch has 
            forwarding and/or filtering information."
        ::= { swL3IpFdbInfoEntry 2 }
        
    swL3IpFdbInfoPort OBJECT-TYPE
        SYNTAX  INTEGER(0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Either the value '0', or the port number of the port on which
            packet having a IP address equal to the value of the 
            corresponding instance of swL3IpFdbInfoIpAddr has been seen. A 
            value of '0' indicates that the port number has not been learned
            but that switch does have some forwarding/filtering information
            about this address."
        ::= { swL3IpFdbInfoEntry 3 }

    swL3IpFdbInfoType OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                static(2),
                dynamic(3)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The status of this entry."            
        ::= { swL3IpFdbInfoEntry 4 }

-- -----------------------------------------------------------------------------
--  swL3IpFilterMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 3 }
-- -----------------------------------------------------------------------------

--    swL3IpFilterAddrConfig  OBJECT IDENTIFIER ::= { swL3IpFilterMgmt 1 }

--    swL3IpFilterAddrMaxSupportedEntries OBJECT-TYPE
--        SYNTAX  INTEGER(0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "Maximum number of entries in the IP address filtering table
--            (swL3IpFilterAddrCtrlTable) ."
--        ::= { swL3IpFilterAddrConfig 1 }

--    swL3IpFilterAddrCurrentTotalEntries OBJECT-TYPE
--        SYNTAX  INTEGER(0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "Current applied number of entries in the IP address filtering
--            table. If the swL3IpFilterAddrCtrlState = dst-src-addr, then it
--            means there are two entries in swL3IpFilterAddrCtrlTable."
--        ::= { swL3IpFilterAddrConfig 2 }

--    swL3IpFilterAddrCtrlTable OBJECT-TYPE
--        SYNTAX  SEQUENCE OF SwL3IpFilterAddrCtrlEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "This table defines information for the device to filter packets
--            with specific IP address (either as the DA and/or as the SA). 
--            The IP address can be an unicast address or multicast address. 
--            This table has higher priority than both static FDB table and 
--            IGMP table. It means that if an IP address appears on this table
--            it also appears on the static FDB table, the device will use the
--            information provided by this table to process the packet."
--        ::= { swL3IpFilterAddrConfig 3 }

--    swL3IpFilterAddrCtrlEntry OBJECT-TYPE
--        SYNTAX  SwL3IpFilterAddrCtrlEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "A list of information about a specific unicast/multicast IP
--            address for which the switch has filtering information."
--        INDEX  { swL3IpFilterAddrIpAddr }
--        ::= { swL3IpFilterAddrCtrlTable 1 }

--    SwL3IpFilterAddrCtrlEntry ::= 
--        SEQUENCE {
--            swL3IpFilterAddrIpAddr
--                IpAddress,
--            swL3IpFilterAddrIpSktGE
--                INTEGER,
--            swL3IpFilterAddrIpSktLE
--                INTEGER,
--            swL3IpFilterAddrCtrlState
--                INTEGER
--        }

--    swL3IpFilterAddrIpAddr OBJECT-TYPE
--        SYNTAX  IpAddress
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates a unicast/multicast IP address for which
--            the switch has filtering information. But if the 
--            swL3IpFilterAddrCtrlState = src-addr, then the object can not be
--            a multicast IP address (Class D IP address)."
--        ::= { swL3IpFilterAddrCtrlEntry 1 }

--    swL3IpFilterAddrIpSktGE OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicates a socket number which the used socket
--            number should be greater than or equal to"
--        ::= { swL3IpFilterAddrCtrlEntry 2 }

--    swL3IpFilterAddrIpSktLE OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicates a socket number which the used socket
--            number should be less than or equal to"
--        ::= { swL3IpFilterAddrCtrlEntry 3 }

--    swL3IpFilterAddrCtrlState OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),
--               dst-addr(2),
--               src-addr(3),
--               dst-src-addr(4),
--               invalid(5)
--               }
--        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.
--            dst-addr(2) - recieved frames's destination address are 
--                currently used to be filtered as it meets with the IP 
--                address entry of the table.
--            src-addr(3) - recieved frames's source address are currently 
--                used to be filtered as it meets with the IP address entry of
--                the table.
--            dst-src-addr(4) - recieved frames's destination address or 
--                source address are currently used to be filtered as it meets
--                with the IP address entry of the table.
--            invalid(5) - writing this value to the object, and then the
--                corresponding entry will be removed from the table."
--        ::= { swL3IpFilterAddrCtrlEntry 2 }

-- -----------------------------------------------------------------------------
--  swL3IpArpAgingTime        OBJECT IDENTIFIER ::= { swL3IpMgmt 4 }
-- -----------------------------------------------------------------------------

    swL3IpArpAgingTime OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The timeout period in minutes for aging out dynamically learned
            ARP information."
        ::= { swL3IpMgmt 4 }
        
    
    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 
           create and delete actions."
        INDEX {
            swL3IpStaticRouteDest,
            swL3IpStaticRouteMask,
            swL3IpStaticRouteNextHop
            }
        ::= { swL3IpStaticRouteTable 1 }
    
    SwL3IpStaticRouteEntry ::=
        SEQUENCE {
            swL3IpStaticRouteDest
                IpAddress,
            swL3IpStaticRouteMask
                IpAddress,
            swL3IpStaticRouteBkupState
            	INTEGER,
            swL3IpStaticRouteNextHop
                IpAddress,
            swL3IpStaticRouteMetric
                INTEGER,
            swL3IpStaticRouteStatus
                INTEGER,
            swL3IpStaticRouteWeight
                INTEGER,
             swL3IpStaticRouteInterfaceName
                DisplayString,
            swL3IpStaticRouteCost
                INTEGER
        }
    
    swL3IpStaticRouteDest OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "The destination IP address of this route.
    
           This object may not take a Multicast (Class  D)
           address value.
    
           Any assignment (implicit or  otherwise)  of  an
           instance  of  this  object to a value 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
           "Indicate the mask to be logical-AND 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  reference to the IP 
           Address Class.
    
           Any assignment (implicit or  otherwise)  of  an
           instance  of  this  object to a 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),
                    none(3)
                }
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
            "The routing state for this route.The value SHOULD be
            primary(1), backup(2) or none(3)."
        ::= { swL3IpStaticRouteEntry 3 }
        
    swL3IpStaticRouteNextHop OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "Specifies the IP address for the next hop router.
            An IP address of 255.255.255.255 denotes a Null interface 
            as the next hop."
        ::= { swL3IpStaticRouteEntry 4 }
    
    swL3IpStaticRouteMetric OBJECT-TYPE
        SYNTAX   INTEGER (1..65535)
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
            "Specifies the routing metric for this route."
        ::= { swL3IpStaticRouteEntry 5 }

    swL3IpStaticRouteStatus OBJECT-TYPE
        SYNTAX   INTEGER {
                    other(1),
                    invalid(2),
                    valid(3),
                    active(4),
                    inActive(5)
                }
        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) - writing this value to the object, and then the
                corresponding entry will be removed from the table.
            valid(3) - this entry resides in the table.
            active(4) - the nextHop of this entry exists in the ARP table.
            inActive(5) - the next hop of this entry does not exist in the
            	ARP table."
        ::= { swL3IpStaticRouteEntry 6 } 
        
     swL3IpStaticRouteWeight OBJECT-TYPE
        SYNTAX   INTEGER (0..4)
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
            "Specifies the weight value. Used for the weighted multipath."
        ::= { swL3IpStaticRouteEntry 7 }

     swL3IpStaticRouteInterfaceName  OBJECT-TYPE
         SYNTAX    DisplayString
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "Specifies the name of the IP interface."
        ::={ swL3IpStaticRouteEntry 8}

     swL3IpStaticRouteCost  OBJECT-TYPE
         SYNTAX  INTEGER
         MAX-ACCESS read-only
         STATUS  current
         DESCRIPTION
             "Specifies the cost of the Route Entry."
         ::={swL3IpStaticRouteEntry 9}
            

-- -----------------------------------------------------------------------------
--  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

