--MibName=rcDhcpOption
-- *****************************************************************
-- switch-dhcpoptin-mib.mib:  Raisecom DHCP Option MIB file
--
-- 20081105,tangyoucan 
--
--
-- Copyright (c) 1996-2008 by Raisecom Technology Co., Ltd. 
-- All rights reserved.
--  
-- 01, 20110803, yzh mib document check
-- *****************************************************************

DHCP-OPTION-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    NOTIFICATION-TYPE,
    OBJECT-TYPE                         FROM SNMPv2-SMI
        
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP                        FROM SNMPv2-CONF      
    
    RowStatus                          FROM SNMPv2-TC

          
    EnableVar        			        FROM SWITCH-TC
   
    iscomSwitch                         FROM RAISECOM-BASE-MIB        

    rcPortIndex                         FROM SWITCH-SYSTEM-MIB;
     
	rcDhcpOption MODULE-IDENTITY
        LAST-UPDATED    "200811050000Z"
        ORGANIZATION    "Raisecom Technology Co., Ltd."
        CONTACT-INFO
                "Raisecom Science & Technology Co., ltd.
                 E-mail: support@raisecom.com"
        DESCRIPTION
         "This MIB module is designed for DHCP option ,the current version of which
         only contain sub-option 1 and 2 of Option 82, i.e. circuit ID and remote ID."
        REVISION   "200811060000Z"
        DESCRIPTION
            "version 1.0"
        ::= { iscomSwitch 41 }
  
------------------------------------------------------------------------------
-- define groups in rcDhcpOption
------------------------------------------------------------------------------
    rcDhcpOptionMibObjects	
    	OBJECT IDENTIFIER ::= { rcDhcpOption 1 }
    
    rcDhcpOption82PortGroup		             	
    	OBJECT IDENTIFIER ::= { rcDhcpOptionMibObjects 1 }
    rcDhcpOption82ConfigGroup	
    	OBJECT IDENTIFIER ::= { rcDhcpOptionMibObjects 2 }    
    rcDhcpOptionGlobalGroup		             	
    	OBJECT IDENTIFIER ::= { rcDhcpOptionMibObjects 3 }  
    rcDhcpOptionPortGroup		             	
    	OBJECT IDENTIFIER ::= { rcDhcpOptionMibObjects 4 }


					
    
------------------------------------------------------------------------------

------------------------------------------------------------------------
-- begin rcDhcpOption82PortGroup--
--------------------------------------------------------------------------
rcDhcpOption82PortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcpOption82PortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table keep record of circuit ID for every port."
        ::= { rcDhcpOption82PortGroup 1 }

rcDhcpOption82PortEntry OBJECT-TYPE
        SYNTAX RcDhcpOption82PortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for switch dhcp option config based on port."
        INDEX { rcDhcpOption82PortIndex }
        ::= { rcDhcpOption82PortTable 1 } 
        

RcDhcpOption82PortEntry ::= SEQUENCE 
	{  
	    rcDhcpOption82PortIndex INTEGER,
        rcDhcpOption82CircuitID	OCTET STRING (SIZE(1..64))
    }        
    
 rcDhcpOption82PortIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcpOption82PortEntry 1}
       
rcDhcpOption82CircuitID OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..64))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "string of circuit-ID in which you can fill anything you want. 
            The maximum length is 64 bytes.If it not configged,it is zero.
            if it configged,the OPTION82 will use it as circuit-id."
        ::= { rcDhcpOption82PortEntry 2 }

      
-- end rcDhcpOption82PortGroup--

-- begin rcDhcpOption82ConfigGroup 
-- rcDhcpOption82ConfigGroup scale MIB 
rcDhcpOption82AttachString OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "the string use in sub option 1,in this mode,the sub option
            1 discribe as port-number\VID\AttachingSring ."
        ::= { rcDhcpOption82ConfigGroup 1 }

rcDhcpOption82RemoteIDMode OBJECT-TYPE
        SYNTAX INTEGER{switchmac(1), 
                       clientmac(2),
                       switchmac-string(3),
                       clientmac-string(4),
                       hostname(5),
                       user-defined(6)
                       }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "mode of Remote-ID, switchmac:switch MAC as HEX;clientmac:client MAC as HEX;
             switchmac-string:switch MAX as string;clientmac-string:client MAC as string; 
             hostname:host name of device;user-defined:string of user set."
        DEFVAL { switchmac }
        ::= { rcDhcpOption82ConfigGroup 2 }

rcDhcpOption82RemoteIDString OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..64))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "string of remote ID, only used in user-define mode. if the remote-id mode is not user-define , it returns NULL."
        ::= { rcDhcpOption82ConfigGroup 3 }

-- end rcDhcpOption82ConfigGroup--

rcDhcpOptionGlobalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcpOptionGlobalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table keep record of option content for every port."
        ::= { rcDhcpOptionGlobalGroup 1 }

rcDhcpOptionGlobalEntry OBJECT-TYPE
        SYNTAX RcDhcpOptionGlobalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for switch dhcp option config based on option code."
        INDEX { rcDhcpOptionCode }
        ::= { rcDhcpOptionGlobalTable 1 } 
        

RcDhcpOptionGlobalEntry ::= SEQUENCE 
	{  
	    rcDhcpOptionCode OCTET STRING, 
	    rcDhcpOptionContent OCTET STRING,
	    rcDhcpOptionLength OCTET STRING,
	    rcDhcpOptionType  INTEGER,
	    rcDhcpOptionRowStatus RowStatus
    }        
    
 rcDhcpOptionCode OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcpOptionGlobalEntry 1}
       
rcDhcpOptionContent OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "string of option content in which you can fill anything you want. 
            The maximum length is 32 bytes. If it not configged,it is zero."
        ::= { rcDhcpOptionGlobalEntry 2 }

 rcDhcpOptionLength OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "length of the option content which is configged."
        ::= { rcDhcpOptionGlobalEntry 3 }  
        
rcDhcpOptionType OBJECT-TYPE
        SYNTAX INTEGER{   
                        asciiString(1),
						hexString(2),
						ipAddress(3) 
        			   } 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "type of the option content which is configged."
        ::= { rcDhcpOptionGlobalEntry 4 }    
        
rcDhcpOptionRowStatus OBJECT-TYPE
        SYNTAX RowStatus 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "control the ipv4 global option config table."
        ::= { rcDhcpOptionGlobalEntry 5 }
    
rcDhcp6OptionGlobalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcp6OptionGlobalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table keep record of global option content for every option code."
        ::= { rcDhcpOptionGlobalGroup 2 }

rcDhcp6OptionGlobalEntry OBJECT-TYPE
        SYNTAX RcDhcp6OptionGlobalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for switch dhcp option config based on option code."
        INDEX { rcDhcp6OptionCode }
        ::= { rcDhcp6OptionGlobalTable 1 } 
        

RcDhcp6OptionGlobalEntry ::= SEQUENCE 
	{  
	    rcDhcp6OptionCode OCTET STRING, 
	    rcDhcp6OptionContent OCTET STRING,
	    rcDhcp6OptionLength OCTET STRING,
	    rcDhcp6OptionType  INTEGER,
	    rcDhcp6OptionRowStatus RowStatus
    }        
    
 rcDhcp6OptionCode OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
           "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcp6OptionGlobalEntry 1}
       
rcDhcp6OptionContent OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "string of option content in which you can fill anything you want. 
            The maximum length is 32 bytes.If it not configged,it is zero."
        ::= { rcDhcp6OptionGlobalEntry 2 }

 rcDhcp6OptionLength OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "length of the option content which is configged."
        ::= { rcDhcp6OptionGlobalEntry 3 }  
        
rcDhcp6OptionType OBJECT-TYPE
        SYNTAX INTEGER {   
                        asciiString(1),
						hexString(2),
						ipAddress(3) 
        			   }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "type of the option content which is configged."
        ::= { rcDhcp6OptionGlobalEntry 4 }    
        
rcDhcp6OptionRowStatus OBJECT-TYPE
        SYNTAX RowStatus 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "control the ipv6 global option config table."
        ::= { rcDhcp6OptionGlobalEntry 5 }

 --------------------------------------------------------------------------
 
 rcDhcpOptionPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcpOptionPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table keep record of option content for every port and option code"
        ::= { rcDhcpOptionPortGroup 1 }

rcDhcpOptionPortEntry OBJECT-TYPE
        SYNTAX RcDhcpOptionPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for switch dhcp option config based on port and option code"
        INDEX {
        		rcDhcpOptionPortIndex, 
                rcDhcpOptionPortCode
        	  }
        ::= { rcDhcpOptionPortTable 1 } 
        

RcDhcpOptionPortEntry ::= SEQUENCE 
	{     
	    rcDhcpOptionPortIndex INTEGER,
	    rcDhcpOptionPortCode OCTET STRING, 
	    rcDhcpOptionPortContent OCTET STRING,
	    rcDhcpOptionPortLength OCTET STRING,
	    rcDhcpOptionPortType  INTEGER,
	    rcDhcpOptionPortRowStatus RowStatus
    }        
    
 rcDhcpOptionPortIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcpOptionPortEntry 1}
 
 rcDhcpOptionPortCode OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcpOptionPortEntry 2}
       
rcDhcpOptionPortContent OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
           "string of option content in which you can fill anything you want. 
            The maximum length is 32 bytes.If it not configged,it is zero."
        ::= { rcDhcpOptionPortEntry 3 }

 rcDhcpOptionPortLength OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "length of the option content which is configged."
        ::= { rcDhcpOptionPortEntry 4 }  
        
rcDhcpOptionPortType OBJECT-TYPE
        SYNTAX INTEGER {   
                        asciiString(1),
						hexString(2),
						ipAddress(3) 
        			   }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "type of the option content which is configged."
        ::= { rcDhcpOptionPortEntry 5 }    
        
rcDhcpOptionPortRowStatus OBJECT-TYPE
        SYNTAX RowStatus 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "control the ipv4 port option config table."
        ::= { rcDhcpOptionPortEntry 6 }
  
  
 --
 
  rcDhcp6OptionPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcp6OptionPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table keep record of option content for every port and option code"
        ::= { rcDhcpOptionPortGroup 2 }

rcDhcp6OptionPortEntry OBJECT-TYPE
        SYNTAX RcDhcp6OptionPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for switch dhcp option config based on port and option code"
        INDEX {
        		rcDhcp6OptionPortIndex, 
                rcDhcp6OptionPortCode
        	  }
        ::= { rcDhcp6OptionPortTable 1 } 
        

RcDhcp6OptionPortEntry ::= SEQUENCE 
	{     
	    rcDhcp6OptionPortIndex INTEGER,
	    rcDhcp6OptionPortCode OCTET STRING, 
	    rcDhcp6OptionPortContent OCTET STRING,
	    rcDhcp6OptionPortLength OCTET STRING,
	    rcDhcp6OptionPortType  INTEGER,
	    rcDhcp6OptionPortRowStatus RowStatus
    }        
    
 rcDhcp6OptionPortIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcp6OptionPortEntry 1}
 
 rcDhcp6OptionPortCode OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a configuration about dhcp option"
        ::= { rcDhcp6OptionPortEntry 2}
       
rcDhcp6OptionPortContent OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
           "string of option content in which you can fill anything you want. 
            The maximum length is 32 bytes.If it not configged,it is zero."
        ::= { rcDhcp6OptionPortEntry 3 }

 rcDhcp6OptionPortLength OBJECT-TYPE
        SYNTAX OCTET STRING 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "length of the option content which is configged."
        ::= { rcDhcp6OptionPortEntry 4 }  
        
rcDhcp6OptionPortType OBJECT-TYPE
        SYNTAX INTEGER {   
                        asciiString(1),
						hexString(2),
						ipAddress(3) 
        			   }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "type of the option content which is configged."
        ::= { rcDhcp6OptionPortEntry 5 }    
        
rcDhcp6OptionPortRowStatus OBJECT-TYPE
        SYNTAX RowStatus 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "control the ipv6 port option config table."
        ::= { rcDhcp6OptionPortEntry 6 }
 
  
END