-- MibName=raisecomAcl
-- *****************************************************************
-- RAISECOM-ACL-MIB.MIB:	 Raisecom Acl MIB file
--
-- Sep 2004, liguanfeng
--
-- Copyright (c) 1994-2004,	2001 by	Raisecom, Inc.
-- All rights reserved.
--    
-- 01,20110519,huochao,add four mib object(tunnel/vc label and exp) in the user acl tabel.
-- *****************************************************************

RAISECOM-ACL-MIB DEFINITIONS ::= BEGIN

IMPORTS
		raisecomAgent
				FROM RAISECOM-BASE-MIB
		MacAddress
				FROM SNMPv2-TC
        RowStatus
        		FROM SNMPv2-TC  
        Ipv6Address 
                FROM IPV6-TC
		Gauge32
				FROM SNMPv2-SMI;

raisecomAcl MODULE-IDENTITY
		LAST-UPDATED	"200409140000Z"
		ORGANIZATION	"Raisecom, Inc."
		CONTACT-INFO
				"		Raise Systems

				Postal:	Beijing, China

				   Tel:	86-010-82884499

				E-mail:	support@raisecom.com"
		DESCRIPTION
				"Modified description of access	list object."
				::=	{ raisecomAgent	3 }


-- -------------------------------------------------------------------------- --
-- define groups in RAISECOM-ACCESSLIST-MIB
-- -------------------------------------------------------------------------- --
	raisecomIpAccessList		OBJECT IDENTIFIER ::= {	raisecomAcl 1 }
	raisecomMacAccessList		OBJECT IDENTIFIER ::= {	raisecomAcl 2 }
	raisecomUserAccessList	OBJECT IDENTIFIER ::= {	raisecomAcl 3 }     
	raisecomIpv6AccessList  OBJECT IDENTIFIER ::= {	raisecomAcl 4 } 
-- -------------------------------------------------------------------------- --

	-- The ip access control list
          -- The ip access control list contains some rules that are 
          -- associated with ip address, and will be bound to the ports
          -- or vlans on device.

	raisecomIpAclTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF	RaisecomIpAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"A table of	ip access list and associated properties.."
		::=	{ raisecomIpAccessList 1}

	raisecomIpAclEntry OBJECT-TYPE
		SYNTAX		RaisecomIpAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"Table entry for ip	access list	and	status information."
		INDEX {	raisecomIpAclNumber }
		::=	{ raisecomIpAclTable 1 }

	RaisecomIpAclEntry ::= SEQUENCE {
		raisecomIpAclNumber					INTEGER	(0..999),
		raisecomIpAclAccessType				INTEGER,
		raisecomIpAclProtocol					INTEGER,
		raisecomIpAclSourceAddress			IpAddress,
		raisecomIpAclSourceMask				IpAddress,
		raisecomIpAclSourceProtocolPort		INTEGER	(0..65535),
		raisecomIpAclDestinationAddress		IpAddress,
		raisecomIpAclDestinationMask			IpAddress,
		raisecomIpAclDestinationProtocolPort	INTEGER	(0..65535),
		raisecomIpAclRef						Gauge32,
		raisecomIpAclStatus					RowStatus,  
		raisecomIpAclSetFlag                Unsigned32
	}

	raisecomIpAclNumber OBJECT-TYPE
		SYNTAX	INTEGER	(0..999)
		ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An index that uniquely identifies an entry in
             the ip access list table."
		::=	{ raisecomIpAclEntry 1 }

	raisecomIpAclAccessType OBJECT-TYPE
		SYNTAX	 INTEGER
        {
        	permit(1),
			deny(2)
        }
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The access type of this entry, permit or deny."
		::=	{ raisecomIpAclEntry 2 }

	raisecomIpAclProtocol OBJECT-TYPE
		SYNTAX	INTEGER	(0..255)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The protocol of an IP protocol.
			 To match any Internet protocol, use the ip(0);
			 so and so,tcp(6) udp(17),icmp(1),igmp(2)."
		::=	{ raisecomIpAclEntry 3 }

	raisecomIpAclSourceAddress OBJECT-TYPE
		SYNTAX	IpAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The source	ip address in the IP protocol."
		::=	{ raisecomIpAclEntry 4 }

	raisecomIpAclSourceMask OBJECT-TYPE
		SYNTAX	IpAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The address mask of the source ip address."
		::=	{ raisecomIpAclEntry 5 }

	raisecomIpAclSourceProtocolPort OBJECT-TYPE
		SYNTAX	INTEGER	(0..65535)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The source protocol port in the tcp or udp protocol."
		::=	{ raisecomIpAclEntry 6 }

	raisecomIpAclDestinationAddress OBJECT-TYPE
		SYNTAX	IpAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The destination ip address in the IP protocol."
		::=	{ raisecomIpAclEntry 7 }

	raisecomIpAclDestinationMask OBJECT-TYPE
		SYNTAX	IpAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The address mask of the destination ip address."
	   ::= { raisecomIpAclEntry 8	}

	raisecomIpAclDestinationProtocolPort OBJECT-TYPE
		SYNTAX	INTEGER (0..65535)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The destination protocol port in the tcp or udp protocol"
		::=	{ raisecomIpAclEntry 9 }

	raisecomIpAclRef OBJECT-TYPE
		SYNTAX	Gauge32
		ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The value descrides how many the lists are using."
		::=	{ raisecomIpAclEntry 10 }

	raisecomIpAclStatus OBJECT-TYPE
		SYNTAX  RowStatus
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The status	of this	entry."
		::=	{ raisecomIpAclEntry 11 }

	raisecomIpAclSetFlag OBJECT-TYPE
		SYNTAX	Unsigned32	
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The flag that marks which rule is setted, one bit represents one rule."
		::=	{ raisecomIpAclEntry 12 }



	-- The mac access control list--
          -- The mac access control list contains some rules that are 
          -- associated with ethernet address, and will be bound to the
          -- ports or vlans on device.

	raisecomMacAclTable OBJECT-TYPE
		SYNTAX		  SEQUENCE OF RaisecomMacAclEntry
		MAX-ACCESS	  not-accessible
		STATUS		  current
		DESCRIPTION
			"A table of	mac	access list	and	associated properties.."
		::=	{ raisecomMacAccessList 1	}

	raisecomMacAclEntry OBJECT-TYPE
		SYNTAX		  RaisecomMacAclEntry
		MAX-ACCESS	  not-accessible
		STATUS		  current
		DESCRIPTION
			"Table entry for mac access	list and status	information."
		INDEX {	raisecomMacAclNumber }
		::=	{ raisecomMacAclTable	1 }

	RaisecomMacAclEntry ::= SEQUENCE {
			raisecomMacAclNumber				INTEGER	(0..999),
			raisecomMacAclAccessType			INTEGER,
			raisecomMacAclProtocol			INTEGER,
			raisecomMacAclSourceAddress		MacAddress,   
			raisecomMacAclSourceMask		MacAddress,
			raisecomMacAclDestinationAddress	MacAddress,  
			raisecomMacAclDestinationMask	MacAddress,
			raisecomMacAclRef					Gauge32,
			raisecomMacAclStatus				RowStatus,
			raisecomMacAclSetFlag               Unsigned32
	}

	raisecomMacAclNumber OBJECT-TYPE
		SYNTAX	INTEGER	(0..999)
		ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"An index that uniquely identifies an entry in
             the mac access list table."
		::=	{ raisecomMacAclEntry	1 }

	raisecomMacAclAccessType OBJECT-TYPE
		SYNTAX	INTEGER
        {
        	permit(1),
			deny(2)
        }
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The access type of this access list, permit or deny."
		::=	{ raisecomMacAclEntry	2 }

	raisecomMacAclProtocol OBJECT-TYPE
		SYNTAX	INTEGER
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The type of protocol that contained in	the	ethernet frame.
			 The value all(0) is used to all protocols."
		::=	{ raisecomMacAclEntry	3 }

	raisecomMacAclSourceAddress OBJECT-TYPE
		SYNTAX	MacAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The value of the source MAC address."
		::=	{ raisecomMacAclEntry	4 }
     
     raisecomMacAclSourceMask OBJECT-TYPE
		SYNTAX	MacAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The value of the source MAC address mask."
		::=	{ raisecomMacAclEntry	5 }

	raisecomMacAclDestinationAddress OBJECT-TYPE
		SYNTAX	MacAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The value of the destination MAC address."
		::=	{ raisecomMacAclEntry	6 }
    
   raisecomMacAclDestinationMask OBJECT-TYPE
		SYNTAX	MacAddress
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The value of the destination MAC address mask."
		::=	{ raisecomMacAclEntry	7 }

	raisecomMacAclRef	OBJECT-TYPE
		SYNTAX	Gauge32
		ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The value descrides how many the lists are using."
		::=	{ raisecomMacAclEntry	8 }

	raisecomMacAclStatus OBJECT-TYPE
		SYNTAX  RowStatus
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The status	of this	entry."
		::=	{ raisecomMacAclEntry	9 }     

	raisecomMacAclSetFlag OBJECT-TYPE
		SYNTAX	Unsigned32	
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The flag that marks which rule is setted, one bit represents one rule."
		::=	{ raisecomMacAclEntry 10 }


	-- The user access control list
      -- The user access control list contains some rules that are defined
      -- by network administrator according to practical application.
      -- Generally these rules are set based on the first 80 bytes of
      -- the ethernet frame.

	raisecomUserAclTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF	RaisecomUserAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"A list of user access control list entries."
		::=	{ raisecomUserAccessList 1}

	raisecomUserAclEntry OBJECT-TYPE
		SYNTAX		RaisecomUserAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"A list of parameters that set up a rule
			 about the user access control list."
		INDEX {	raisecomUserAclNumber	}
		::=	{ raisecomUserAclTable 1 }

	RaisecomUserAclEntry ::= SEQUENCE	{
		raisecomUserAclNumber			INTEGER	(0..999),
		raisecomUserAclAccessType		INTEGER,
		raisecomUserAclRuleString		OCTET STRING (SIZE(1..64)),
		raisecomUserAclRuleMask		OCTET STRING (SIZE(1..64)),
		raisecomUserAclOffset			INTEGER (0..63),
		raisecomUserAclRef			Gauge32,
		raisecomUserAclStatus			RowStatus,
		raisecomUserAclSourceMacAddress              MacAddress,
		raisecomUserAclDestinationMacAddress         MacAddress,
		raisecomUserAclEtherType                     INTEGER,	
		raisecomUserAclEtherTypeMask                 INTEGER,  
		raisecomUserAclSourceIpAddress               IpAddress,    
		raisecomUserAclSourceIpMask                  IpAddress,
		raisecomUserAclDestinationIpAddress          IpAddress,
		raisecomUserAclDestinationIpMask             IpAddress, 
		raisecomUserAclIpPrecedence                  INTEGER (0..7), 
		raisecomUserAclIpTos                         INTEGER (0..15), 
		raisecomUserAclIpDscp                        INTEGER (0..63),
		raisecomUserAclIpFragmentsFlag               INTEGER (0..1), 
		raisecomUserAclIpProtocol                    INTEGER (0..255), 
		raisecomUserAclSourceProtocolPort            INTEGER,  
		raisecomUserAclDestinationProtocolPort       INTEGER,
		raisecomUserAclTcpProtocolFlag                INTEGER (0..63),
		raisecomUserAclCvlanCos                       INTEGER (0..7),
		raisecomUserAclSvlanCos                       INTEGER (0..7),
		raisecomUserAclCvlan                          INTEGER (1..4094),
		raisecomUserAclSvlan		                  INTEGER (1..4094),
		raisecomUserAclSetFlag                        Unsigned32,                   
		raisecomUserAclSourceMacMask       			MacAddress,               
		raisecomUserAclDestinationMacMask     		MacAddress,        
		raisecomUserAclCos                     		INTEGER (0..7),                              
		raisecomUserAclArpType                		INTEGER,                        
		raisecomUserAclArpSenderMac           		MacAddress,                      
		raisecomUserAclArpTargetMac            		MacAddress,                     
		raisecomUserAclIcmpIgmpType             	INTEGER (0..255),                 
		raisecomUserAclIcmpCode                 	INTEGER (0..255),                                        
		raisecomUserAclIpv6SourceAddress        	Ipv6Address,          
		raisecomUserAclIpv6SourceMask            	Ipv6Address,           
		raisecomUserAclIpv6DestinationAddress     	Ipv6Address,   
		raisecomUserAclIpv6DestinationMask         	Ipv6Address,      
		raisecomUserAclIpv6SourceMaskLen           	INTEGER,         
		raisecomUserAclIpv6DestinationMaskLen       INTEGER,   
		raisecomUserAclIpv6Protocol                	INTEGER (0..255),                                
		raisecomUserAclIpv6FlowLabel              	INTEGER,                                         
		raisecomUserAclIpv6TrafficClass          	INTEGER (0..255),                
		raisecomUserAclIcmpv6Type              		INTEGER,                         
		raisecomUserAclUserLen      				INTEGER,
		raisecomUserAclExtensionSetFlag               OCTET STRING (SIZE (16)),
		raisecomUserAclTunnelLabel                   INTEGER,
		raisecomUserAclTunnelExp                     INTEGER,
		raisecomUserAclVcLabel                       INTEGER,
		raisecomUserAclVcExp                         INTEGER    				
	}

	raisecomUserAclNumber	OBJECT-TYPE
		SYNTAX	INTEGER (0..999)
		ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An index that uniquely identifies an entry in
             the user access list table."
		::=	{ raisecomUserAclEntry 1 }

	raisecomUserAclAccessType OBJECT-TYPE
		SYNTAX	INTEGER
        {
        	permit(1),
			deny(2)
        }
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The access type of this access list, permit or deny."
		::=	{ raisecomUserAclEntry 2 }

	raisecomUserAclRuleString OBJECT-TYPE
		SYNTAX	OCTET STRING (SIZE(1..64))
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The value used to judge whether match the ethernet frame."
		::=	{ raisecomUserAclEntry 3 }

	raisecomUserAclRuleMask OBJECT-TYPE
		SYNTAX	OCTET STRING (SIZE(1..64))
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The bitmap that used to AND with the ethernet frame
			 in order to mask out the matching value."
		::=	{ raisecomUserAclEntry 4 }

	raisecomUserAclOffset OBJECT-TYPE
		SYNTAX	INTEGER (0..63)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The offset in the ethernet frame on which the raisecomUserAclRuleString
			 locates. It is based on 0 at the start of the ethernet frame."
		::=	{ raisecomUserAclEntry 5 }

	raisecomUserAclRef OBJECT-TYPE
		SYNTAX	Gauge32
		ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The value specifies how many the lists are using."
		::=	{ raisecomUserAclEntry 6 }

	raisecomUserAclStatus OBJECT-TYPE
		SYNTAX  RowStatus
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The status	of this	entry."
		::=	{ raisecomUserAclEntry 7 }
  
    	raisecomUserAclSourceMacAddress  OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the source MAC address."
		::=	{ raisecomUserAclEntry 8 }      

	raisecomUserAclDestinationMacAddress  OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the destination MAC address."
		::=	{ raisecomUserAclEntry 9 }    

    raisecomUserAclEtherType   OBJECT-TYPE  
		SYNTAX  INTEGER
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The type of protocol that contained in the Ethernet frame."
		::=	{ raisecomUserAclEntry 10 }   

    raisecomUserAclEtherTypeMask   OBJECT-TYPE  
		SYNTAX  INTEGER
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The mask of the Ethernet typethe value 0 for invalid Ethernet typeand it is optional."
		::=	{ raisecomUserAclEntry 11 }  		
	                                                   
	raisecomUserAclSourceIpAddress OBJECT-TYPE
		SYNTAX  IpAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The source IP address in the IP protocol."
		::=	{ raisecomUserAclEntry 12 }    

	raisecomUserAclSourceIpMask OBJECT-TYPE
		SYNTAX  IpAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The address mask of the source IP address, it is optional."
		::=	{ raisecomUserAclEntry 13 }    
     
	raisecomUserAclDestinationIpAddress OBJECT-TYPE
		SYNTAX  IpAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The destination IP address in the IP protocol."
		::=	{ raisecomUserAclEntry 14 }    

	raisecomUserAclDestinationIpMask  OBJECT-TYPE
		SYNTAX  IpAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The address mask of the destination IP address, it is optional."
		::=	{ raisecomUserAclEntry 15 }    

    raisecomUserAclIpPrecedence  OBJECT-TYPE    
        SYNTAX  INTEGER {
                    routine(0),
                    priority(1),
                    immediate(2),
                    flash(3),
                    flash-override(4),
                    critical(5),
                    internet(6),
                    network(7)  }
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the IP precedence in the IP protocol. 
			It conflicts with the Tos and Dscp when setting."
		::=	{ raisecomUserAclEntry 16 }      
		
	raisecomUserAclIpTos   OBJECT-TYPE    
        SYNTAX  INTEGER (0..15)
        ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the TOS in the IP protocol. 
			It conflicts with the Precedence and Dscp when setting."
		::=	{ raisecomUserAclEntry 17 } 
		  
	raisecomUserAclIpDscp    OBJECT-TYPE    
        SYNTAX  INTEGER (0..63)
    	ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the DSCP in the IP protocol. 
			It conflicts with the Precedence and Tos when setting."
		::=	{ raisecomUserAclEntry 18 } 

	raisecomUserAclIpFragmentsFlag    OBJECT-TYPE    
        SYNTAX  INTEGER {
                   nofragments(0),
                   fragments(1)  
        }
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The flag that marks whether there are another IP fragments.."
		::=	{ raisecomUserAclEntry 19 }     

	raisecomUserAclIpProtocol    OBJECT-TYPE    
        SYNTAX  INTEGER (0..255)
        ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The protocol type in the IP protocol.To match any Internet protocol, use the ip(0)."
		::=	{ raisecomUserAclEntry 20 }     
		
	raisecomUserAclSourceProtocolPort    OBJECT-TYPE    
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The source protocol port in the TCP or UDP protocol."
		::=	{ raisecomUserAclEntry 21 }    	                                  

	raisecomUserAclDestinationProtocolPort    OBJECT-TYPE    
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The destination protocol port in the TCP or UDP protocol."
		::=	{ raisecomUserAclEntry 22 }     
		
	raisecomUserAclTcpProtocolFlag     OBJECT-TYPE  
	    SYNTAX  INTEGER (0..63)
        ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The flags in the TCP protocol."
		::=	{ raisecomUserAclEntry 23 }    
		  		
 	raisecomUserAclCvlanCos  OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the COS in the inner vlan(cvlan)."
		::=	{ raisecomUserAclEntry 24 }      

 	raisecomUserAclSvlanCos  OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of the COS in the outer vlan (svlan)"
		::=	{ raisecomUserAclEntry 25 }       

 	raisecomUserAclCvlan  OBJECT-TYPE
		SYNTAX  INTEGER (1..4094)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The ID of the inner vlan (cvlan)."
		::=	{ raisecomUserAclEntry 26}     

 	raisecomUserAclSvlan  OBJECT-TYPE
		SYNTAX  INTEGER (1..4094)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The ID of the outer vlan (svlan)."
		::=	{ raisecomUserAclEntry 27 }   
                                           
    raisecomUserAclSetFlag  OBJECT-TYPE
		SYNTAX  Unsigned32
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The flag that marks which rule is setted, one bit represents one rule.."
		::=	{ raisecomUserAclEntry 28 } 
	
	raisecomUserAclSourceMacMask  OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of user Acl Source MAC address Mask."
		::=	{ raisecomUserAclEntry 29 }  
	
	raisecomUserAclDestinationMacMask  OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of user Acl Destination MAC address Mask."
		::=	{ raisecomUserAclEntry 30 }  
	
	raisecomUserAclCos OBJECT-TYPE
        SYNTAX      INTEGER(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The user acl cos."
        ::= { raisecomUserAclEntry 31}    
        
   	raisecomUserAclArpType OBJECT-TYPE
        SYNTAX      INTEGER {request(1), reply(2)}
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The user acl arp type"
        ::= { raisecomUserAclEntry 32}     
 	
	raisecomUserAclArpSenderMac  OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of user Acl arp sender MAC address."
		::=	{ raisecomUserAclEntry 33 }  
	
	raisecomUserAclArpTargetMac  OBJECT-TYPE
		SYNTAX  MacAddress
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The value of user Acl arp target MAC address."
		::=	{ raisecomUserAclEntry 34 }  
   
  	raisecomUserAclIcmpIgmpType OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The user acl Icmp Igmp type."
        ::= { raisecomUserAclEntry 35}   
        
    raisecomUserAclIcmpCode OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The user acl Icmp Code."
        ::= { raisecomUserAclEntry 36}  
    
  	raisecomUserAclIpv6SourceAddress OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6SourceAddress."
        ::= { raisecomUserAclEntry 37}   
        
    raisecomUserAclIpv6SourceMask OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6SourceMask."
        ::= { raisecomUserAclEntry 38}   
        
   	raisecomUserAclIpv6DestinationAddress OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6DestinationAddress."
        ::= { raisecomUserAclEntry 39}   
        
    raisecomUserAclIpv6DestinationMask OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6  Destination Mask."
        ::= { raisecomUserAclEntry 40}  
  
    raisecomUserAclIpv6SourceMaskLen OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The len of user acl Ipv6SourceMask."
        ::= { raisecomUserAclEntry 41}  
        
    raisecomUserAclIpv6DestinationMaskLen OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6  Destination Mask."
        ::= { raisecomUserAclEntry 42}  
        
     raisecomUserAclIpv6Protocol OBJECT-TYPE
        SYNTAX      INTEGER (0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6 Protocol."
        ::= { raisecomUserAclEntry 43}
 
      raisecomUserAclIpv6FlowLabel OBJECT-TYPE
        SYNTAX      INTEGER 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6 FlowLabel."
        ::= { raisecomUserAclEntry 44}  
 
      raisecomUserAclIpv6TrafficClass OBJECT-TYPE
        SYNTAX      INTEGER {mld-query(130), mld-report(131), mld-done(132)}
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Ipv6 TrafficClass."
        ::= { raisecomUserAclEntry 45}    
      
     raisecomUserAclIcmpv6Type OBJECT-TYPE
        SYNTAX      INTEGER (0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The value of user acl Icmpv6 Type."
        ::= { raisecomUserAclEntry 46}  
        
     raisecomUserAclUserLen OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The len of user acl uer length."
        ::= { raisecomUserAclEntry 47}
  
     raisecomUserAclExtensionSetFlag  OBJECT-TYPE
		SYNTAX  OCTET STRING (SIZE (16))
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The extension flag that marks which rule is setted, one bit represents one rule.
			Once the main flag raisecomUserAclSetFlag is setted 0x40000000,the extension flag is used."
		::=	{ raisecomUserAclEntry 48 }       
				
    raisecomUserAclTunnelLabel  OBJECT-TYPE
		SYNTAX  INTEGER(16..1048575)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The tunnel label value."
		::=	{ raisecomUserAclEntry 49 }        
		
    raisecomUserAclTunnelExp  OBJECT-TYPE
		SYNTAX  INTEGER(0..7)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The tunnel label exp value."
		::=	{ raisecomUserAclEntry 50 }

    raisecomUserAclVcLabel  OBJECT-TYPE
		SYNTAX  INTEGER(16..1048575)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The vc label value."
		::=	{ raisecomUserAclEntry 51 }        
		
    raisecomUserAclVcExp  OBJECT-TYPE
		SYNTAX  INTEGER(0..7)
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The vc label exp value."
		::=	{ raisecomUserAclEntry 52 }    
		       
	--The ipv6 access control list--
	raisecomIpv6AclTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF	RaisecomIpv6AclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"A table of	ipv6 access list and associated properties."
		::=	{ raisecomIpv6AccessList 1}

	raisecomIpv6AclEntry OBJECT-TYPE
		SYNTAX		RaisecomIpv6AclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"Table entry for ipv6 access list and status information."
		INDEX {	raisecomIpv6AclNumber }
		::=	{ raisecomIpv6AclTable 1 }

	RaisecomIpv6AclEntry ::= SEQUENCE {
		raisecomIpv6AclNumber					INTEGER	(0..999),
		raisecomIpv6AclAccessType				INTEGER,
		raisecomIpv6AclProtocol					INTEGER,
		raisecomIpv6AclSourceAddress			Ipv6Address,
		raisecomIpv6AclSourcePrefixLen			INTEGER(0..128),
		raisecomIpv6AclDestinationAddress		Ipv6Address,
		raisecomIpv6AclDestinationPrefixLen		INTEGER(0..128),  
		raisecomIpv6AclTrafficClass		        INTEGER, 
		raisecomIpv6AclFlowLabel				INTEGER(0..1048575),
		raisecomIpv6AclRef						Gauge32,
		raisecomIpv6AclStatus					RowStatus,
		raisecomIpv6AclSourceProtocolPort       INTEGER	(0..65535), 
		raisecomIpv6AclDestinationProtocolPort  INTEGER (0..65535),
		raisecomIpv6AclSetFlag                  Unsigned32
	}

	raisecomIpv6AclNumber OBJECT-TYPE
		SYNTAX	INTEGER	(0..999)
		ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An index that uniquely identifies an entry in
             the ipv6 access list table."
		::=	{ raisecomIpv6AclEntry 1 }

	raisecomIpv6AclAccessType OBJECT-TYPE
		SYNTAX	 INTEGER
        {
        	permit(1),
			deny(2)
        }
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The access type of this entry, permit or deny."
		::=	{ raisecomIpv6AclEntry 2 }

	raisecomIpv6AclProtocol OBJECT-TYPE
		SYNTAX	INTEGER	(0..255)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The protocol of an IPv6 protocol.
			 To match any Internet protocol, use the ip(0)."
		::=	{ raisecomIpv6AclEntry 3 }

	raisecomIpv6AclSourceAddress OBJECT-TYPE
		SYNTAX	Ipv6Address
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The source	ip address in the IPv6 protocol."
		::=	{ raisecomIpv6AclEntry 4 }

	raisecomIpv6AclSourcePrefixLen OBJECT-TYPE
		SYNTAX	INTEGER(0..128)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The prefix length of the source ipv6 address."
		::=	{ raisecomIpv6AclEntry 5 }

	raisecomIpv6AclDestinationAddress OBJECT-TYPE
		SYNTAX	Ipv6Address
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The destination ip address in the IPv6 protocol."
		::=	{ raisecomIpv6AclEntry 6 }

	raisecomIpv6AclDestinationPrefixLen OBJECT-TYPE
		SYNTAX	INTEGER(0..128)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The prefix length of the destination ipv6 address."
	   ::= { raisecomIpv6AclEntry 7	}
   
   raisecomIpv6AclTrafficClass	OBJECT-TYPE
      SYNTAX	INTEGER(0..256)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The traffic class of the ipv6 protocol.Default value 256 means
			that traffic class is not set as a acl condition."
	   DEFVAL { 256 }	
	   ::= { raisecomIpv6AclEntry 8	}

   raisecomIpv6AclFlowLabel OBJECT-TYPE
		SYNTAX	INTEGER	(0..1048575)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The flow label value of the ipv6 protocol.
			To match any flow, use the flowLabel(0)."
		::=	{ raisecomIpv6AclEntry 9 }

	raisecomIpv6AclRef OBJECT-TYPE
		SYNTAX	Gauge32
		ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The value descrides how many times the lists are using."
		::=	{ raisecomIpv6AclEntry 10 }

	raisecomIpv6AclStatus OBJECT-TYPE
		SYNTAX  RowStatus
		ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The status	of this	entry."
		::=	{ raisecomIpv6AclEntry 11 } 
	
	raisecomIpv6AclSourceProtocolPort OBJECT-TYPE
		SYNTAX	INTEGER	(0..65535)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The source protocol port in the tcp or udp protocol."
		::=	{ raisecomIpv6AclEntry 12 }

	raisecomIpv6AclDestinationProtocolPort OBJECT-TYPE
		SYNTAX	INTEGER	(0..65535)
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The destination protocol port in the tcp or udp protocol."
		::=	{ raisecomIpv6AclEntry 13 }    
		
	raisecomIpv6AclSetFlag OBJECT-TYPE
		SYNTAX	Unsigned32	
		ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The flag that marks which rule is setted, one bit represents one rule."
		::=	{ raisecomIpv6AclEntry 14 }

END
