-----------------------------------------------------------------------------
--
-- Version 2.07, 2012/03/02,  Jerry Qin porting from UIS 1.01
-- Description:
-- [New Object]
-- Add swL3IpCtrlIpDhcpOption12State and swL3IpCtrlIpDhcpOption12HostName to 
-- support DHCP option 12 host name function.
--
-----------------------------------------------------------------------------
DGS3426P-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
        dgs3426p        			            FROM SW34XXPRIMGMT-MIB;

    swL3MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "201203020000Z"
	    ORGANIZATION " "
	    CONTACT-INFO
	        "     "
	    DESCRIPTION
		    "The Structure of Layer 3 Network Management Information for the
		    proprietary enterprise."
        ::= { dgs3426p 3 }
        
    swL3DevMgmt             OBJECT IDENTIFIER ::= { swL3MgmtMIB 1 }
    swL3IpMgmt              OBJECT IDENTIFIER ::= { swL3MgmtMIB 2 }
    swL3RelayMgmt           OBJECT IDENTIFIER ::= { swL3MgmtMIB 3 }
    
    swL3IpCtrlMgmt          OBJECT IDENTIFIER ::= { swL3IpMgmt 1 }
    swL3IpFdbMgmt           OBJECT IDENTIFIER ::= { swL3IpMgmt 2 }
--    swL3IpFilterMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 3 }

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

-- ********************************************************************
--  swL3DevMgmt             OBJECT IDENTIFIER ::= { swL3MgmtMIB 1 }
-- ********************************************************************

    swL3DevCtrl             OBJECT IDENTIFIER ::= { swL3DevMgmt 1 }

    swL3DevCtrlRIPState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates Routing Information Protocol (RIP)
            version 2 function is enabled or disabled."
        ::= { swL3DevCtrl 1 }	
        
        
-- ********************************************************************
--  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 }

    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 }
                
    swL3IpCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3IpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contain 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,
            swL3IpCtrlDhcpv6ClientState
            	INTEGER,    
            swL3IpCtrlIpDirectedBroadcastState
            	INTEGER,
            swL3IpCtrlIpDhcpOption12State
            	INTEGER,
            swL3IpCtrlIpDhcpOption12HostName
            	DisplayString,
            swL3IpCtrlDhcpv6ClientPDState
            	INTEGER,  
            swL3IpCtrlDhcpv6ClientPDPrefixName
              	DisplayString,
            swL3IpCtrlDhcpv6ClientPDPrefix
                Ipv6Address,
            swL3IpCtrlDhcpv6ClientPDPrefixLen
                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 }
		  
     swL3IpCtrlLocalProxyArp  OBJECT-TYPE
        SYNTAX INTEGER {
                 enabled(1),
                 disabled(2)
                 }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
             "If the state is enabled, the switch will be allowed to respond to the proxy ARP
	     proxy ARP when the source IP and destination IP are on the same interface."
        ::={swL3IpCtrlEntry 18}
	swL3IpCtrlDhcpv6ClientState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "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 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 }
  
    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..4294967294)
        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..4294967294)
        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 contain 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 }

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

-- ********************************************************************
--  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 IDENTIFIER ::= { swL3IpMgmt 5 }
-- ********************************************************************
        
  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 be built,it shouldn't be modified.That is,it just support create and
           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 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-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  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)
                }
        MAX-ACCESS read-only
        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-create
        STATUS   current
        DESCRIPTION
           "On remote routes, the address of the next sys-
           tem en 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),
                    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 }
        
-- ********************************************************************
--  swL3Ipv6StaticRouteTable           OBJECT IDENTIFIER ::= { swL3IpMgmt 6 }
-- ********************************************************************
      
--  swL3Ipv6StaticRouteTable OBJECT-TYPE
--        SYNTAX   SEQUENCE OF SwL3Ipv6StaticRouteEntry
--        MAX-ACCESS not-accessible
--        STATUS   current
--        DESCRIPTION
--        "This entity's IP static Routing table."
--        ::= { swL3IpMgmt 6 }
--
--    swL3Ipv6StaticRouteEntry OBJECT-TYPE
--        SYNTAX   SwL3Ipv6StaticRouteEntry
--        MAX-ACCESS not-accessible
--        STATUS   current
--        DESCRIPTION
--           "A particular route to  a  particular  destination, under a particular policy.
--           Once an entry be built,it shouldn't be modified.That is,it just support create and
--           delete action."
--        INDEX {
--            swL3Ipv6StaticRouteDest,
--            swL3Ipv6StaticRouteMask,
--            swL3Ipv6StaticRouteNextHop            
--            }
--        ::= { swL3Ipv6StaticRouteTable 1 }
--    
--    SwL3Ipv6StaticRouteEntry ::=
--        SEQUENCE {
--            swL3Ipv6StaticRouteDest
--                Ipv6Address,
--            swL3Ipv6StaticRouteMask
--                Ipv6Address,
--            swL3Ipv6StaticRouteNextHop
--            	Ipv6Address,            
--            swL3Ipv6StaticRouteMetric
--                INTEGER,            
--            swL3Ipv6StaticRouteStatus
--                INTEGER
--        }
--    
--    swL3Ipv6StaticRouteDest OBJECT-TYPE
--        SYNTAX   Ipv6Address
--        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
--           swL3Ipv6StaticRouteMask object is not equal to x."
--        ::= { swL3Ipv6StaticRouteEntry 1 }
--    
--    swL3Ipv6StaticRouteMask OBJECT-TYPE
--        SYNTAX   Ipv6Address
--        MAX-ACCESS read-only
--        STATUS   current
--        DESCRIPTION
--           "Indicate the mask 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  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."
--        ::= { swL3Ipv6StaticRouteEntry 2 }
--        
--   swL3Ipv6StaticRouteNextHop OBJECT-TYPE
--        SYNTAX   Ipv6Address
--        MAX-ACCESS read-only
--        STATUS   current
--        DESCRIPTION
--           "On remote routes, the address of the next sys-
--           tem en route; Otherwise, 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
--        ::= { swL3Ipv6StaticRouteEntry 3 }       
--   
--    
--    swL3Ipv6StaticRouteMetric OBJECT-TYPE
--        SYNTAX   INTEGER (1..65535)
--        MAX-ACCESS read-create
--        STATUS   current
--        DESCRIPTION
--            "The routing  metric  for  this  route."
--        ::= { swL3Ipv6StaticRouteEntry 4 }   
--     
--
--    swL3Ipv6StaticRouteStatus 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) - 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."
--        ::= { swL3Ipv6StaticRouteEntry 5 }
-- 
-- ********************************************************************
--  swL3ArpCtrlIpv6Table           OBJECT IDENTIFIER ::= { swL3IpMgmt 7 }
-- ********************************************************************
--    
--   swL3ArpCtrlIpv6Table OBJECT-TYPE
--        SYNTAX  SEQUENCE OF SwL3ArpCtrlIpv6Entry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "This table contain IPV6 interface information."
--        ::= { swL3IpMgmt 7 }
--
--    swL3ArpCtrlIpv6Entry OBJECT-TYPE
--        SYNTAX  SwL3ArpCtrlIpv6Entry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "A list of information about a specific IPV6 interface."
--        INDEX  { swL3ArpCtrlIpv6IfIndex, swL3ArpCtrlIpv6IpAddr }
--        ::= { swL3ArpCtrlIpv6Table 1 }
--        
--        
--   SwL3ArpCtrlIpv6Entry ::= 
--        SEQUENCE {
--            swL3ArpCtrlIpv6IfIndex
--                INTEGER,
--            swL3ArpCtrlIpv6IpAddr
--                Ipv6Address,            
--            swL3ArpCtrlIpv6MacAddr
--                PhysAddress,            
--            swL3ArpCtrlIpv6Type
--                INTEGER            
--            
--        }
--        
--   swL3ArpCtrlIpv6IfIndex OBJECT-TYPE
--        SYNTAX  INTEGER(1..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the name of the Arp entry."
--        ::= { swL3ArpCtrlIpv6Entry 1 }
--        
--   swL3ArpCtrlIpv6IpAddr OBJECT-TYPE
--        SYNTAX  Ipv6Address
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The IP address of the art entry. This object only can take the
--            value of the unicast IP address."
--        ::= { swL3ArpCtrlIpv6Entry 2 }
--        
--   swL3ArpCtrlIpv6MacAddr OBJECT-TYPE
--        SYNTAX  PhysAddress
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--            "The MAC address of the art entry. This object only can take the
--            value of the unicast MAC address or multicast MAC address."
--        ::= { swL3ArpCtrlIpv6Entry 3 }
--        
--   swL3ArpCtrlIpv6Type OBJECT-TYPE
--        SYNTAX  INTEGER{        	
--        	other(1),
--        	invalid(2),
--        	dynamic(3),
--        	static(4)        	        	
--        }
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--            "The MAC address of the arp entry. This object only can take the
--            value of the unicast MAC address."
--        ::= { swL3ArpCtrlIpv6Entry 4 }

-- ********************************************************************
  swL3RelayDhcpMgmt      OBJECT IDENTIFIER ::= { swL3RelayMgmt 1 }
-- ********************************************************************    

    swL3RelayDhcpState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates Dhcp Relay function is enabled or 
            disabled."
        ::= { swL3RelayDhcpMgmt 1 }
        
    swL3RelayDhcpHopCount OBJECT-TYPE
        SYNTAX  INTEGER (1..16)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the maximum number of router hops that 
            the BOOTP packets can cross."
        ::= { swL3RelayDhcpMgmt 2 }
        
    swL3RelayDhcpTimeThreshold OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the minimum time in seconds within which
            the switch must relay the Dhcp request. If this time is 
            exceeded, the switch will drop the Dhcp packet."
        ::= { swL3RelayDhcpMgmt 3 }
    
    swL3RelayDhcpCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3RelayDhcpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifys the IP address as a destination to forward
            (relay) DHCP packets to."
        ::= { swL3RelayDhcpMgmt 4 }

    swL3RelayDhcpCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3RelayDhcpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information specifies the IP address as a destination
            to forward (relay) DHCP packets to."
        INDEX  { swL3RelayDhcpCtrlInterfaceName,  swL3RelayDhcpCtrlServer}
        ::= { swL3RelayDhcpCtrlTable 1 }

    SwL3RelayDhcpCtrlEntry ::= 
        SEQUENCE {
            swL3RelayDhcpCtrlInterfaceName
                DisplayString,
            swL3RelayDhcpCtrlServer
                IpAddress,
            swL3RelayDhcpCtrlState
                INTEGER    
        }

    swL3RelayDhcpCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The name of the IP interface."
        ::= { swL3RelayDhcpCtrlEntry 1 }
        
    swL3RelayDhcpCtrlServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The DHCP server IP address."
        ::= { swL3RelayDhcpCtrlEntry 2 }

    swL3RelayDhcpCtrlState 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."
        ::= { swL3RelayDhcpCtrlEntry 3 }
        
     swL3RelayDhcpOption82State OBJECT-TYPE
        SYNTAX  INTEGER {               
               disabled(0),
               enabled(1)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DHCP Relay Option 82 function is enabled or 
            disabled."
        ::= { swL3RelayDhcpMgmt 5 }
      
     swL3RelayDhcpOption82CheckState OBJECT-TYPE
        SYNTAX  INTEGER {
               disabled(0),
               enabled(1)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DHCP Relay Option 82 Check function is enabled or 
            disabled."
        ::= { swL3RelayDhcpMgmt 6 }
     
     swL3RelayDhcpOption82Policy OBJECT-TYPE
        SYNTAX  INTEGER {
               replace(0),
               drop(1),
               keep(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DHCP Relay Option 82 Policy."
        ::= { swL3RelayDhcpMgmt 7 }

        
-- ********************************************************************
--  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 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 display 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 }

-- ********************************************************************
  swL3DHCPRelayOption60  OBJECT IDENTIFIER ::= { swL3RelayDhcpMgmt 8 }
-- ********************************************************************
     swL3DHCPRelayOption60State OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DHCP relay option 60 function is enabled or
             disabled.
            "
        ::= { swL3DHCPRelayOption60 1 }

     swL3DHCPRelayOption60DefMode OBJECT-TYPE
        SYNTAX  INTEGER {
               relay(1),
               drop(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates default mode that has no option 60 mathcing rules.

             relay(1): means to relay the packet to the IP address which is specified
            	by swL3DHCPRelayOption60DefRelayIp.
             drop(2): means to drop the packet.
            "
        ::= { swL3DHCPRelayOption60 2 }

     swL3DHCPRelayOption60DefTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3DHCPRelayOption60DefEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table indicates the default relay servers for the packet
             that has no option 60 mathcing rules.
            "
        ::= { swL3DHCPRelayOption60 3 }

     swL3DHCPRelayOption60DefEntry OBJECT-TYPE
        SYNTAX  SwL3DHCPRelayOption60DefEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information indicates the default relay servers for the packet
             that has no option 60 mathcing rules.
            "
        INDEX  { swL3DHCPRelayOption60DefRelayIp }
        ::= { swL3DHCPRelayOption60DefTable 1 }

     SwL3DHCPRelayOption60DefEntry ::=
        SEQUENCE {
            swL3DHCPRelayOption60DefRelayIp
                IpAddress,
            swL3DHCPRelayOption60DefRowStatus
                RowStatus
        }

     swL3DHCPRelayOption60DefRelayIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the IP address of default relay server."
        ::= { swL3DHCPRelayOption60DefEntry 1 }

     swL3DHCPRelayOption60DefRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL3DHCPRelayOption60DefEntry 2 }

      swL3DHCPRelayOption60Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3DHCPRelayOption60Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table indicates the relay servers for the packet at option 60 rules."
        ::= { swL3DHCPRelayOption60 4 }

     swL3DHCPRelayOption60Entry OBJECT-TYPE
        SYNTAX  SwL3DHCPRelayOption60Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information indicates the relay servers for the packet
             at option 60 rules."
        INDEX  { swL3DHCPRelayOption60String,swL3DHCPRelayOption60RelayIp }
        ::= { swL3DHCPRelayOption60Table 1 }

     SwL3DHCPRelayOption60Entry ::=
        SEQUENCE {
            swL3DHCPRelayOption60String
                DisplayString,
            swL3DHCPRelayOption60RelayIp
                IpAddress,
            swL3DHCPRelayOption60MatchType
                INTEGER,
            swL3DHCPRelayOption60RowStatus
                RowStatus
        }

     swL3DHCPRelayOption60String OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates string of this entry.
            
             Note that it is theoretically possible for a valid string
	           to exceed the allowed length of an SNMP object identifier,
	           and thus be impossible to represent in tables in this MIB
	           that are indexed by string."
        ::= { swL3DHCPRelayOption60Entry 1 }

     swL3DHCPRelayOption60RelayIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the IP address of relay server."
        ::= { swL3DHCPRelayOption60Entry 2 }

     swL3DHCPRelayOption60MatchType OBJECT-TYPE
        SYNTAX  INTEGER {
               exact(1),
               partial(2)
               }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates match state of this entry.

             exact(1): means the option 60 string in the packet must full
            	match with the specified string.
             partial(2): means the option 60 string in the packet only need
            	partial match with the specified string.
            "
        ::= { swL3DHCPRelayOption60Entry 3 }

     swL3DHCPRelayOption60RowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL3DHCPRelayOption60Entry 4 }
-- -----------------------------------------------------------------------------
--  swL3DHCPRelayOption61  OBJECT IDENTIFIER ::= { swL3RelayDhcpMgmt 9 }
-- -----------------------------------------------------------------------------
     swL3DHCPRelayOption61  OBJECT IDENTIFIER ::= { swL3RelayDhcpMgmt 9 }

     swL3DHCPRelayOption61State OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DHCP relay option 61 function is enabled or
             disabled.
            "
        ::= { swL3DHCPRelayOption61 1 }

     swL3DHCPRelayOption61DefMode OBJECT-TYPE
        SYNTAX  INTEGER {
               relay(1),
               drop(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates default mode that has no option 61 mathcing rules.

             relay(1): means to relay the packet to the IP address which is specified
            	by swL3DHCPRelayOption61DefRelayIp.
             drop(2): means to drop the packet.
            "
        ::= { swL3DHCPRelayOption61 2 }

     swL3DHCPRelayOption61DefRelayIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the IP address of default relay server
             that has no option 61 mathcing rules.

             Pay attention to when swL3DHCPRelayOption61Mode is:
             relay(1): this object must be set together.
             drop(2): this object can not be set, and it always returns '0.0.0.0'.
            "
        ::= { swL3DHCPRelayOption61 3 }

      swL3DHCPRelayOption61Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3DHCPRelayOption61Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table indicates the relay servers for the packet at option 61 rules."
        ::= { swL3DHCPRelayOption61 4 }

     swL3DHCPRelayOption61Entry OBJECT-TYPE
        SYNTAX  SwL3DHCPRelayOption61Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information indicates the relay servers for the packet
             at option 61 rules.
            "
        INDEX  { swL3DHCPRelayOption61ClientType,swL3DHCPRelayOption61ClientID }
        ::= { swL3DHCPRelayOption61Table 1 }

     SwL3DHCPRelayOption61Entry ::=
        SEQUENCE {
            swL3DHCPRelayOption61ClientType
                INTEGER,
            swL3DHCPRelayOption61ClientID
                DisplayString,
            swL3DHCPRelayOption61Mode
                INTEGER,
            swL3DHCPRelayOption61RelayIp
                IpAddress,
            swL3DHCPRelayOption61RowStatus
                RowStatus
        }

     swL3DHCPRelayOption61ClientType OBJECT-TYPE
        SYNTAX  INTEGER {
               mac(1),
               string(2)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates client type of this entry.

             mac(1): means the client-ID which is the MAC address of client.
             string(2): means the client-ID which is specified string by administrator.
            "
        ::= { swL3DHCPRelayOption61Entry 1 }

     swL3DHCPRelayOption61ClientID OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates string of this entry.

             When swL3DHCPRelayOption61ClientType is mac(1), the format of this
             object should be XX-XX-XX-XX-XX-XX (MAC address).
            
             Note that it is theoretically possible for a valid string
	           to exceed the allowed length of an SNMP object identifier,
	           and thus be impossible to represent in tables in this MIB
	           that are indexed by string.
            "
        ::= { swL3DHCPRelayOption61Entry 2 }

     swL3DHCPRelayOption61Mode OBJECT-TYPE
        SYNTAX  INTEGER {
               relay(1),
               drop(2)
               }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates mode of this entry.

             relay(1): means to relay the packet to the IP address which is specified
            	by swL3DHCPRelayOption61RelayIp.
             drop(2): means to drop the packet.
            "
        ::= { swL3DHCPRelayOption61Entry 3 }

     swL3DHCPRelayOption61RelayIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the IP address of relay server.

             Pay attention to when swL3DHCPRelayOption61Mode is:
             relay(1): this object must be set together.
             drop(2): this object can not be set, and it always returns '0.0.0.0'.
            "
        ::= { swL3DHCPRelayOption61Entry 4 }

     swL3DHCPRelayOption61RowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL3DHCPRelayOption61Entry 5 }

        
   
-- ********************************************************************
--  swL3RouteRedistriTable          OBJECT IDENTIFIER ::= { swL3MgmtMIB 5 }
-- ********************************************************************
    swL3RouteRedistriTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3RouteRedistriEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Route redistribution allows routers on the network that are 
            running different routing protocols to exchange routing 
            information. This is accomplished by comparing the routes stored
            in the varios routers' routing tables and assigning appropriate
            metrics. This information is then exchanged among the various 
            routers according to the individual routers current routing 
            protocol."
        ::= { swL3MgmtMIB 5 }

    swL3RouteRedistriEntry OBJECT-TYPE
        SYNTAX  SwL3RouteRedistriEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information displaying the route redistribution table."
        INDEX  { swL3RouteRedistriSrcProtocol, swL3RouteRedistriDstProtocol}
        ::= { swL3RouteRedistriTable 1 }

    SwL3RouteRedistriEntry ::= 
        SEQUENCE {
            swL3RouteRedistriSrcProtocol
                INTEGER,
            swL3RouteRedistriDstProtocol
                INTEGER,
            swL3RouteRedistriMetric
                INTEGER,
            swL3RouteRedistriRowStatus
                RowStatus   
        }

    swL3RouteRedistriSrcProtocol OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    static(4),
                    local(5)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Allows the selection of the protocol of the source device."
        ::= { swL3RouteRedistriEntry 1 }
        
    swL3RouteRedistriDstProtocol OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    rip(2)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Allows the selection of the protocol of the destination device."
        ::= { swL3RouteRedistriEntry 2 }
        

        
    swL3RouteRedistriMetric OBJECT-TYPE
        SYNTAX  INTEGER (0..16)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Allows the entry of an OSPF interface cost. This is analogous 
            to a Hop Count in the RIP routing protocol. The value '0'
            indicates default value."
        ::= { swL3RouteRedistriEntry 4 }

    swL3RouteRedistriRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL3RouteRedistriEntry 5 }
       
-- ****************************************************************************       
swL3RoutePreference	OBJECT IDENTIFIER ::= { swL3MgmtMIB 9 }
	
	swL3RoutePreferenceRIP OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of RIP."
        ::= { swL3RoutePreference 1 }

       
	swL3RoutePreferenceStatic OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of Static."
        ::= { swL3RoutePreference 3 }
  
    swL3RoutePreferenceLocal OBJECT-TYPE
        SYNTAX  INTEGER (0..999)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Used to read the route preference of Local."
        ::= { swL3RoutePreference 4 }    

	swL3RoutePreferenceDefault OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of Default."
        ::= { swL3RoutePreference 8 }
        



END
  