--MibName=rcMacConfig
-- *****************************************************************
-- RAISECOM-MACCONFIG-MIB.MIB:  Raisecom MacAddr Config MIB file
--
-- May 2003, yuanqingguo
--
-- Copyright (c) 1994-2000, 2001 by Raisecom, Inc.
-- All rights reserved.
-- 
--modify history    
--02, 20110601, yangzhonghong, add rcStaticMacBhEnable for blackhole mac
--01, 20080923, hxy, change the ACCESS of rcStaticMacVlan  and 
--                   rcStaticMacAddress from  read-create to not-accessible
-- *****************************************************************
SWITCH-MACCONFIG-MIB  DEFINITIONS ::= BEGIN

	IMPORTS 
        iscomSwitch               
       				FROM RAISECOM-BASE-MIB
        RowStatus ,MacAddress 
        			FROM SNMPv2-TC; 
        
	rcMacConfig  		MODULE-IDENTITY
        LAST-UPDATED    "200809230000Z"
        ORGANIZATION    "Raisecom, Inc."
        CONTACT-INFO
                "       Raise Systems
                        
                Postal: Beijing,
                        China

                   Tel: 86-010-82884499

                E-mail: yuanqingguo@raisecom.com"
        DESCRIPTION
                "description of Mac binding object."
                ::= { iscomSwitch 3}     
                
  	rcMacCountGroup       	OBJECT IDENTIFIER ::= { rcMacConfig 2 }

EnableVar ::= TEXTUAL-CONVENTION
    	STATUS      current
    	DESCRIPTION
        	"enable or disable a function."
    	SYNTAX    INTEGER {enable(1),disable(2)}  	  
              
--rcStaticMacTable
--rcMacConfig
	--rcStaticMacTable
		--rcStaticMacEntry
			--rcStaticMacVlan
			--rcStaticMacAddress
			--rcStaticMacPort
			--rcStaticMacRowStatus
			--rcStaticMacPriority
			--rcStaticMacPolicyEnable
			--rcStaticMacNrlEnable   
			--rcStaticMacBhEnable
	
	rcStaticMacTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcStaticMacEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of static MAC address of port and associated properties.."
        ::= { rcMacConfig 1}

    rcStaticMacEntry OBJECT-TYPE
        SYNTAX RcStaticMacEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for static MAC address and status information."
        INDEX { rcStaticMacVlan, rcStaticMacAddress }
        ::= { rcStaticMacTable 1 }

  	RcStaticMacEntry ::= SEQUENCE {
        rcStaticMacVlan         	 INTEGER,
        rcStaticMacAddress           MacAddress,
        rcStaticMacPort        	 	 INTEGER,
        rcStaticMacRowStatus         RowStatus,
        rcStaticMacPriority	INTEGER,
        rcStaticMacPolicyEnable		EnableVar,
        rcStaticMacNrlEnable		EnableVar,
        rcStaticMacBhEnable         EnableVar  
    	}
             
    rcStaticMacVlan   OBJECT-TYPE
        SYNTAX    INTEGER (1..4094)
        ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
             "The vlan ID that the MAC address bind."    
        ::= { rcStaticMacEntry 1 }    
       
	rcStaticMacAddress   OBJECT-TYPE
	  	SYNTAX    MacAddress
	  	ACCESS    not-accessible
	  	STATUS    current
	  	DESCRIPTION
	         "The value of static MAC address."              
	  	::= { rcStaticMacEntry 2 }          
             
     rcStaticMacPort   OBJECT-TYPE
        SYNTAX    INTEGER
        ACCESS    read-create
        STATUS    current
        DESCRIPTION
                "The value based 1 is the port that the MAC address bind."    
      	::= { rcStaticMacEntry 3 }    
       
	 rcStaticMacRowStatus   OBJECT-TYPE
	  	SYNTAX      RowStatus
	  	MAX-ACCESS  read-create
	  	STATUS      current
	  	DESCRIPTION
	         "The status of this entry."
	  	::= { rcStaticMacEntry 4 }  
	
	rcStaticMacPriority	OBJECT-TYPE
		SYNTAX	INTEGER(-1..7)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
		    "Indicates the mac priority override value."  
		::={rcStaticMacEntry 5}
		
	rcStaticMacPolicyEnable	 OBJECT-TYPE
		SYNTAX	EnableVar
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
		    "It indicates whether mac policy is enable."
		::={rcStaticMacEntry 6}
		
	rcStaticMacNrlEnable	 OBJECT-TYPE
		SYNTAX	EnableVar
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
		    "It indicates whether mac NRL is enable."
		::={rcStaticMacEntry 7}   
		
	rcStaticMacBhEnable	     OBJECT-TYPE
		SYNTAX	EnableVar
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
		    "It indicates whether the mac is a blackhole mac."
		::={rcStaticMacEntry 8}
 	
--scalars for mac count --
	rcQueryMacCountPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port  for mac count.0 for all ports"
        ::= { rcMacCountGroup 1}
      
	rcQueryMacCountVlan OBJECT-TYPE
        SYNTAX INTEGER (1..4095)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The vlan for mac count. 4095 for all vlans"
        ::= { rcMacCountGroup 2}
   
	rcQueryMacCount OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "mac count on specified port and specified vlan."
        ::= { rcMacCountGroup 3}   
        
        rcQueryMacTable OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "mac table query trigger."
        ::= { rcMacCountGroup 4} 
        
rcStaticMacPortTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF RcStaticMacPortEntry 
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of static MAC address of port and associated properties.."
        ::= { rcMacConfig 3}

rcStaticMacPortEntry OBJECT-TYPE
        SYNTAX RcStaticMacPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for static MAC address and status information."
        INDEX { rcPort }
        ::= { rcStaticMacPortTable 1 }
        
RcStaticMacPortEntry ::= SEQUENCE {
        rcPort		INTEGER,
        rcStaticSmacPolicy	INTEGER,
        rcStaticDmacPolicy	INTEGER
    	}
    	
rcPort   OBJECT-TYPE
        SYNTAX    INTEGER
        ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
             "Port ID."    
        ::= { rcStaticMacPortEntry 1 }

rcStaticSmacPolicy   OBJECT-TYPE
        SYNTAX    INTEGER{normal-transmit(0),drop(1),mirror(2)}
        ACCESS    read-write
        STATUS    current
        DESCRIPTION
             "The port static source mac policy.0:normal transmitting, 1:drop,2: mirror."    
        ::= { rcStaticMacPortEntry 2 }
        
rcStaticDmacPolicy   OBJECT-TYPE
        SYNTAX    INTEGER{normal-transmit(0),drop(1),mirror(2)}
        ACCESS    read-write
        STATUS    current
        DESCRIPTION
             "The port static destination mac policy.0:normal transmitting, 1:drop,2: mirror."    
        ::= { rcStaticMacPortEntry 3 }  
END
