-- MibName=raisecom-IP-Base-Mib

RAISECOM-IP-BASE-MIB DEFINITIONS ::= BEGIN

IMPORTS
	    MODULE-IDENTITY, OBJECT-TYPE     FROM SNMPv2-SMI   
	     
	    InetAddressType, InetAddress,InetAddressPrefixLength          
	                                     FROM INET-ADDRESS-MIB  
	    
	    RowStatus                        FROM SNMPv2-TC 
	    
	    iscomSwitch	            	     FROM RAISECOM-BASE-MIB;

rcL3      OBJECT IDENTIFIER ::= { iscomSwitch 16 }
        
rcIpBaseMIB MODULE-IDENTITY
	    LAST-UPDATED        "1005241005Z"
	    ORGANIZATION        "Raisecom, Inc."
	    CONTACT-INFO
	        "Raisecom
	
	        Postal: Beijing,
	                China
	
	        Tel: 86-010-82884499"
	    DESCRIPTION
	        "This MIB contains the objects for managing the ip address
	        configurations."
	    ::= { rcL3 4 }  
	    
rcIpBaseMibObjects     OBJECT IDENTIFIER ::= { rcIpBaseMIB 1 } 
rcIpBaseScalarGroup    OBJECT IDENTIFIER ::= { rcIpBaseMibObjects 1 }
rcIpBaseTableGroup     OBJECT IDENTIFIER ::= { rcIpBaseMibObjects 2 }  

  
-- ---------------------------------------------------------------------- --
--  Textual Conventions
-- ---------------------------------------------------------------------- --

IpAddressCatagory ::= TEXTUAL-CONVENTION
	     STATUS         current
	     DESCRIPTION    "Represents the IP address category.	                     	
	                     primary(1) - Indicates that this interface
	                                  provides primary IP addressing
	                                  information.
	
	                     sub(2)     - Indicates that this interface
	                                    provides a secondary IP 
	                                    addressing information. There 
	                                    may be more than one seconday
	                                    IP addressing information for
	                                    an interface. 
	                     linklocal(3) -  Indicates that this interface
	                                     provides a link local ipv6 
	                                     addressing information. "
	     SYNTAX         INTEGER 
	                    { 
	                        primary(1),
	                        sub(2),
	                        linklocal(3)	                        
	                    }
-- ---------------------------------------------------------------------- --
--  rcIpBaseAddressTable
-- ---------------------------------------------------------------------- --
					
rcIpBaseAddressTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF RcIpBaseAddressEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "This table is used to configure IPv4 or IPv6 addresses of an interface."
	    ::= { rcIpBaseTableGroup 1 }

rcIpBaseAddressEntry OBJECT-TYPE
	    SYNTAX     RcIpBaseAddressEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	        	"Define the IP address information."
	    INDEX { rcIpBaseAddressIfIndex,  rcIpBaseAddresstType, rcIpBaseAddress }
	    ::= { rcIpBaseAddressTable 1 }

RcIpBaseAddressEntry ::= SEQUENCE {
	    rcIpBaseAddressIfIndex	       INTEGER,
	    rcIpBaseAddresstType           InetAddressType,  
	    rcIpBaseAddress                InetAddress,
	    rcIpBaseAddressPrefixLength    InetAddressPrefixLength,
	    rcIpBaseAddressSourceType      INTEGER,  
	    rcIpBaseAddressCatagory        IpAddressCatagory,
	    rcIpBaseAddressRowStatus       RowStatus
	    } 

rcIpBaseAddressIfIndex  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION 
	       	 	"The index value which uniquely identifies the interface to
	            which this entry is applicable. The interface identified by
	            a particular value of this index is the same interface as
	            identified by the same value of RFC 1573's ifIndex."
	    ::= { rcIpBaseAddressEntry 1 }

rcIpBaseAddresstType  OBJECT-TYPE
	    SYNTAX     InetAddressType
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION 
	       	 	"The type of Internet address for all the objects with SYNTAX
         		InetAddress and InetAddressPrefixLength in this entry."
	    ::= { rcIpBaseAddressEntry 2 }
	    
rcIpBaseAddress  OBJECT-TYPE
	    SYNTAX     InetAddress
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION 
	       	 	"The IP address to which this entry's addressing 
         		information pertains."
	    ::= { rcIpBaseAddressEntry 3 } 
	    
rcIpBaseAddressPrefixLength  OBJECT-TYPE
	    SYNTAX     InetAddressPrefixLength
	    MAX-ACCESS read-create
	    STATUS     current
	    DESCRIPTION 
	       	 	"The length of the prefix associated with the IP address 
                of this entry."
	    ::= { rcIpBaseAddressEntry 4 } 
	    
rcIpBaseAddressSourceType OBJECT-TYPE
        SYNTAX INTEGER
			        {
			            assignedIp(1),
			            cluster(2),
			            dhcp(3),
			            bootp(4),
			            negotiate(5),
			            unnumbered(6)
			        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicate the type of source of the IP address."
        DEFVAL { assignedIp }
        ::= { rcIpBaseAddressEntry 5 }

rcIpBaseAddressCatagory OBJECT-TYPE
        SYNTAX  IpAddressCatagory 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates the IP address category of this entry."
        DEFVAL { primary }
        ::= { rcIpBaseAddressEntry 6 }
	    
rcIpBaseAddressRowStatus  OBJECT-TYPE
	    SYNTAX     RowStatus
	    MAX-ACCESS read-create
	    STATUS     current
	    DESCRIPTION 
	       	 	"The row status is used to manage creation and deletion of rows
                in this table."
	    ::= { rcIpBaseAddressEntry 7 } 	
	    
-- ---------------------------------------------------------------------- --
--  rcVlanInterfaceIndexTable
-- ---------------------------------------------------------------------- --

rcVlanInterfaceIndexTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF RcVlanInterfaceIndexEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	        "The rcVlanInterfaceIndexTable provides a way to translate 
	        a VLAN-id in to an ifIndex, so that the VLAN interface's 
	        configuration can be obtained from interface entry in ifTable."
	    ::= { rcIpBaseTableGroup 2 }

rcVlanInterfaceIndexEntry OBJECT-TYPE
	    SYNTAX     RcVlanInterfaceIndexEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	        "Each entry represents a VLAN interface and the IfIndex."
	    INDEX { rcVlanId }
	    ::= { rcVlanInterfaceIndexTable 1 }

RcVlanInterfaceIndexEntry ::= SEQUENCE {
	    rcVlanId	            INTEGER,
	    rcVlanIfIndex           INTEGER,
	    rcVlanIfIndexRowStatus  RowStatus
	    } 

rcVlanId  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION 
	        "The VLAN-id number of the VLAN interface."
	    ::= { rcVlanInterfaceIndexEntry 1 }

rcVlanIfIndex OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS read-create
	    STATUS     current
	    DESCRIPTION 
	        "The IfIndex associated with the VLAN interface."
	    ::= { rcVlanInterfaceIndexEntry 2 }  
	    
rcVlanIfIndexRowStatus OBJECT-TYPE
	    SYNTAX     RowStatus
	    MAX-ACCESS read-create
	    STATUS     current
	    DESCRIPTION 
	        "The row status is used to manage creation and deletion of rows
             in this table."
	    ::= { rcVlanInterfaceIndexEntry 3 }
	    
-- ---------------------------------------------------------------------- --
--  rcIpBaseManVlanTable
-- ---------------------------------------------------------------------- --

rcIpBaseManVlanTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF RcIpBaseManVlanEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	        "The rcIpBaseManVlanTable provides a way to tag the management traffic 
	        (internal port --- WAN port) once or twice. The ethertype, VID and priority are configurable."
	    ::= { rcIpBaseTableGroup 3 }   
	    
rcIpBaseManVlanEntry OBJECT-TYPE
	    SYNTAX     RcIpBaseManVlanEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	        "Each entry represents a IfIndex."
	    INDEX { rcIpBaseManVlanIfIndex }
	    ::= { rcIpBaseManVlanTable 1 }

RcIpBaseManVlanEntry ::= SEQUENCE {
	    rcIpBaseManVlanIfIndex	  INTEGER,
	    rcIpBaseManVlanMode       INTEGER,
	    rcIpBaseInnerVlan         INTEGER,
        rcIpBaseCos               INTEGER,
        rcIpBaseInnerCos          INTEGER,
        rcIpBaseTpid              INTEGER,
	    rcIpBaseInnerTpid         INTEGER
	    } 

rcIpBaseManVlanIfIndex  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION 
	        "The index value which uniquely identifies the interface to
             which this entry is applicable. The interface identified by
             a particular value of this index is the same interface as
             identified by the same value of RFC 1573's ifIndex."
	    ::= { rcIpBaseManVlanEntry 1 }
	    
rcIpBaseManVlanMode  OBJECT-TYPE
	    SYNTAX     INTEGER{single-taging(1),double-taging(2)}
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION 
	        "The mode of management traffic."  
	    DEFVAL { 0 }    
	    ::= { rcIpBaseManVlanEntry 2 }
	    
rcIpBaseInnerVlan  OBJECT-TYPE
	    SYNTAX     INTEGER(1..4094)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION 
	        "The inner vlan of management traffic."
	    DEFVAL { 1 }    
	    ::= { rcIpBaseManVlanEntry 3 }
	    
rcIpBaseCos  OBJECT-TYPE
	    SYNTAX     INTEGER(0..7)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION 
	        "The cos value of management packet in the specified ifindex." 
	    DEFVAL { 0 }	        
	    ::= { rcIpBaseManVlanEntry 4 }
	    
rcIpBaseInnerCos  OBJECT-TYPE
	    SYNTAX     INTEGER(0..7)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION 
	        "The inner cos value of management packet in the specified ifindex."
	    DEFVAL { 0 }    
	    ::= { rcIpBaseManVlanEntry 5 }
	    
rcIpBaseTpid  OBJECT-TYPE
	    SYNTAX     INTEGER(0..65535)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION 
	        "The tpid value of management packet in the specified ifindex."  
	    DEFVAL { 33024 }
	    ::= { rcIpBaseManVlanEntry 6 }
	    
rcIpBaseInnerTpid   OBJECT-TYPE
	    SYNTAX     INTEGER(0..65535)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION 
	        "The inner tpid value of management packet in the specified ifindex." 
	    DEFVAL { 33024 }    
	    ::= { rcIpBaseManVlanEntry 7 }   
	    
	    
	    
-- ---------------------------------------------------------------------- --
--  rcIpIfMtuTable
-- ---------------------------------------------------------------------- --
 
	    
	    
rcIpIfMtuTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF RcIpIfMtuEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "This table is used to configure MTU of an interface."
	    ::= { rcIpBaseTableGroup 4 }

rcIpIfMtuEntry OBJECT-TYPE
	    SYNTAX     RcIpIfMtuEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	        	"Define the IP MTU information."
	    INDEX { rcIpIfIndex }
	    ::= { rcIpIfMtuTable 1 }

RcIpIfMtuEntry ::= SEQUENCE {
	    rcIpIfIndex	                   INTEGER,
	    rcIpIfMtu                      INTEGER  
	    } 

rcIpIfIndex  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION 
	       	 	"The index value which uniquely identifies the interface to
	            which this entry is applicable. The interface identified by
	            a particular value of this index is the same interface as
	            identified by the same value of RFC 1573's ifIndex."
	    ::= { rcIpIfMtuEntry 1 }
	    
rcIpIfMtu OBJECT-TYPE
        SYNTAX INTEGER (1500..9216)
			             MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicate MTU of the IP interface."
        DEFVAL { 1500 }
        ::= { rcIpIfMtuEntry 2 }	    

	                	                     
END   