CASA-802-TAP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        Integer32,
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
        casa	
				FROM CASA-MIB
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
	    pktcEScTapMediationContentId
				FROM PKTC-ES-TAP-MIB
        MacAddress,
        RowStatus
                FROM SNMPv2-TC;

-- 1.3.6.1.4.1.20858.10
		-- 1.3.6.1.4.1.20858.10
		casaMgmt OBJECT IDENTIFIER ::= { casa 10 }

-- 1.3.6.1.4.1.20858.10
		-- 1.3.6.1.4.1.20858.10.19		                
casa802TapMIB MODULE-IDENTITY
        LAST-UPDATED  "200811191111Z"
        ORGANIZATION  "Casa Systems, Inc."
        CONTACT-INFO
				"Guangzhou Casa Communications Ltd.     
				No.206 YueHe Bld,Huacui Str.             
				Tianhe Industrial Park Guangzhou China      
				TEL:020 85545002/85577786 ext.252      
				FAX:020 85545002 ext.230		
				E-mail: hhr@casachina.com.cn "
        DESCRIPTION
                "This module manages Casa's intercept feature for 
                802 (layer 2) streams.

                This MIB is used along with CASA-TAP2-MIB to
                intercept 802 traffic. CASA-TAP2-MIB along with
                specific filter MIBs like this MIB replace
                CASA-TAP-MIB.

                To create an 802 intercept, an entry Casa802tapStreamEntry 
                is created which contains the filter details. An entry
                casaTap2StreamEntry of CASA-TAP2-MIB is created which 
                is the common stream information for all kinds of 
                intercepts and type of the specific stream is set to
                mac in this entry."
                
         REVISION        "200811191111Z"                 
         DESCRIPTION
                "Initial version of this MIB module."
        ::= { casaMgmt 19 }

-- 1.3.6.1.4.1.20858.10
		-- 1.3.6.1.4.1.20858.10.19.0		
		casa802TapMIBNotifs          OBJECT IDENTIFIER ::= { casa802TapMIB 0 }
-- 1.3.6.1.4.1.20858.10
		-- 1.3.6.1.4.1.20858.10.19.1
		casa802TapMIBObjects         OBJECT IDENTIFIER ::= { casa802TapMIB 1 }
-- 1.3.6.1.4.1.20858.10
		-- 1.3.6.1.4.1.20858.10.19.2
		casa802TapMIBConform         OBJECT IDENTIFIER ::= { casa802TapMIB 2 }
-- 1.3.6.1.4.1.20858.10
		-- 1.3.6.1.4.1.20858.10.19.1
			-- 1.3.6.1.4.1.20858.10.19.1.1
			casa802tapStreamEncodePacket OBJECT IDENTIFIER ::= { casa802TapMIBObjects 1 }

--
-- The filter specifics for intercepting 802 traffic.
--

casa802tapStreamCapabilities  OBJECT-TYPE
     SYNTAX     BITS {
     					 tapEnable(0),
                         interface(1),
                         dstMacAddr(2),
                         srcMacAddr(3),
                         ethernetPid(4),
                         dstLlcSap(5),
                         srcLlcSap(6)
                     }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "This object displays what types of intercept streams can be
         configured on this type of device. This may be dependent on
         hardware capabilities, software capabilities. The following
         fields may be supported:  
         
         	 tapEnable:   set if table entries with
 	                 	  casa802tapStreamInterceptEnable set to 'false'
 	                 	  are used to pre-screen packets for intercept;
 	                 	  otherwise these entries are ignored.     
             interface:   SNMP ifIndex Value may be used to select
                          interception of all data crossing an
                          interface or set of interfaces.
             dstMacAddr:  Destination MAC Address may be used to select
                          traffic to be intercepted.
             srcMacAddr:  Source MAC Address may be used to select
                          traffic to be intercepted.
             ethernetPid: Ethernet Protocol Identifier may be used to
                          select traffic to be intercepted.
             dstLlcSap:   IEEE 802.2 Destination SAP may be used to
                          select traffic to be intercepted.
             srcLlcSap:   IEEE 802.2 Source SAP may be used to select
                          traffic to be intercepted."
     ::= {casa802tapStreamEncodePacket 1 }
--
-- The "access list" for intercepting data at the IEEE 802
-- link layer
--

casa802tapStreamTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF Casa802tapStreamEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
        "The Intercept Stream 802 Table lists the IEEE 802 data streams
        to be intercepted.  The same data stream may be required by
        multiple taps, and one might assume that often the intercepted
        stream is a small subset of the traffic that could be
        intercepted.

        This essentially provides options for packet selection, only
        some of which might be used. For example, if all traffic to or
        from a given interface is to be intercepted, one would
        configure an entry which lists the interface, and wild-card
        everything else.  If all traffic to or from a given MAC Address
        is to be intercepted, one would configure two such entries
        listing the MAC Address as source and destination respectively,
        and wild-card everything else.

        The first index indicates which Mediation Device the
        intercepted traffic will be diverted to. The second index
        permits multiple classifiers to be used together, such as
        having a MAC address as source or destination.

        Entries are added to this table via c802tapStreamStatus in 
        accordance with the RowStatus convention."
     ::= { casa802tapStreamEncodePacket 2 }

casa802tapStreamEntry OBJECT-TYPE
     SYNTAX     Casa802tapStreamEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
        "A stream entry indicates a single data stream to be
        intercepted to a Mediation Device. Many selected data
        streams may go to the same application interface, and many
        application interfaces are supported."
     	INDEX { pktcEScTapMediationContentId, casa802tapStreamIndex }
     ::= { casa802tapStreamTable 1 }

Casa802tapStreamEntry ::= SEQUENCE {
        casa802tapStreamIndex                 Integer32,		
        casa802tapStreamFields                BITS,
        casa802tapStreamInterface             Integer32,
        casa802tapStreamDestinationAddress    MacAddress,
        casa802tapStreamSourceAddress         MacAddress,
        casa802tapStreamEthernetPid           Unsigned32,
        casa802tapStreamSourceLlcSap          Unsigned32,
        casa802tapStreamDestinationLlcSap     Unsigned32,
        casa802tapStreamInterceptEnable 	  INTEGER,
        casa802tapStreamStatus                RowStatus
}

casa802tapStreamIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..2147483647)
     MAX-ACCESS accessible-for-notify
     STATUS     current
     DESCRIPTION
        "The index of the stream itself."
     ::= { casa802tapStreamEntry 1 }

casa802tapStreamFields  OBJECT-TYPE
     SYNTAX     BITS {   
                         interface(0),
                         dstMacAddress(1),
                         srcMacAddress(2),
                         ethernetPid(3),
                         dstLlcSap(4),
                         srcLlcSap(5)
                     }
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
         "This object displays what attributes must be tested to
         identify traffic which requires interception. The packet
         matches if all flagged fields match.
              
              interface:     indicates that traffic on the stated
                             interface is to be intercepted
              dstMacAddress: indicates that traffic destined to a
                             given address should be intercepted
              srcMacAddress: indicates that traffic sourced from a
                             given address should be intercepted
              ethernetPid:   indicates that traffic with a stated
                             Ethernet Protocol Identifier should be
                             intercepted
              dstLlcSap:     indicates that traffic with an certain
                             802.2 LLC Destination SAP should be
                             intercepted
              srcLlcSap:     indicates that traffic with an certain
                             802.2 LLC Source SAP should be
                             intercepted

         At least one of the bits has to be set in order to activate an
         entry.  If the bit is not on, the corresponding MIB object
         value has no effect, and need not be specified when creating
         the entry."
     ::= { casa802tapStreamEntry 2 }

casa802tapStreamInterface OBJECT-TYPE
     SYNTAX     Integer32 (-1 | 0 | 1..2147483647)
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The ifIndex value of the interface over which traffic to be
        intercepted is received or transmitted. The interface may be
        physical or virtual. If this is the only parameter specified,
        and it is other than -1 or 0, all traffic on the selected
        interface will be chosen.

        If the value is zero, matching traffic may be received or
        transmitted on any interface.  Additional selection parameters
        must be selected to limit the scope of traffic intercepted.
        This is most useful on non-routing platforms or on intercepts
        placed elsewhere than a subscriber interface.

        If the value is -1, one or both of
        casa802tapStreamDestinationAddress and casa802tapStreamSourceAddress
        must be specified.  Matching traffic on the interface pointed
        to by the dot1dTpFdbPort values associated with those values is
        intercepted, whichever is specified.  If dot1dTpFdbPort
        changes, either by operator action or by protocol events, the
        interface will change with it. This is primarily intended for
        use on subscriber interfaces and other places where routing is
        guaranteed to be symmetrical.

        In both of these cases, it is possible to have the same packet
        selected for intersection on both its ingress and egress
        interface.  Nonetheless, only one instance of the packet is
        sent to the Mediation Device.

        This value must be set when creating a stream entry, either to
        select an interface, to select all interfaces, or to select the
        interface that bridging learns. Some platforms may not
        implement the entire range of options."
     REFERENCE "RFC 1493"
     ::= { casa802tapStreamEntry 3 }

casa802tapStreamDestinationAddress OBJECT-TYPE
     SYNTAX     MacAddress
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The Destination address used in packet selection."
     ::= { casa802tapStreamEntry 4 }

casa802tapStreamSourceAddress OBJECT-TYPE
     SYNTAX     MacAddress
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The Source Address used in packet selection."
     ::= { casa802tapStreamEntry 5 }

casa802tapStreamEthernetPid OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The value of the Ethernet Protocol Identifier, which may be
        found on Ethernet traffic or IEEE 802.2 SNAP traffic."
     ::= { casa802tapStreamEntry 6 }

casa802tapStreamDestinationLlcSap OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The value of the IEEE 802.2 Destination SAP."
     ::= { casa802tapStreamEntry 7 }

casa802tapStreamSourceLlcSap OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The value of the IEEE 802.2 Source SAP."
     ::= { casa802tapStreamEntry 8 }

casa802tapStreamInterceptEnable OBJECT-TYPE
     SYNTAX     INTEGER {
        		up(1),
        		down(2)
     }
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "When the value is up, this table is valid, otherwise this table is invalid."     
     ::= { casa802tapStreamEntry 9 }

casa802tapStreamStatus OBJECT-TYPE
     SYNTAX     RowStatus
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
        "The status of this conceptual row. This object manages
        creation, modification, and deletion of rows in this table.
        When any rows must be changed, casa802tapStreamStatus must 
        be first set to 'notInService'."
     ::= { casa802tapStreamEntry 10 }


-- conformance information

casa802TapMIBCompliances OBJECT IDENTIFIER ::= { casa802TapMIBConform 1 }
casa802TapMIBGroups      OBJECT IDENTIFIER ::= { casa802TapMIBConform 2 }

-- compliance statement

casa802TapMIBCompliance MODULE-COMPLIANCE
     STATUS  current
     DESCRIPTION
        "The compliance statement for entities which implement the 
        Casa Intercept MIB for 802 streams."
     MODULE        -- this module
        MANDATORY-GROUPS {
                casa802TapStreamGroup
        }
     ::= {casa802TapMIBCompliances 1 }

-- units of conformance

casa802TapStreamGroup OBJECT-GROUP
     OBJECTS {
        casa802tapStreamCapabilities,
        casa802tapStreamFields,
        casa802tapStreamInterface,
        casa802tapStreamDestinationAddress,
        casa802tapStreamSourceAddress,
        casa802tapStreamEthernetPid,
        casa802tapStreamSourceLlcSap,
        casa802tapStreamDestinationLlcSap,
        casa802tapStreamStatus
     }
     STATUS     current
     DESCRIPTION
        "These objects are necessary for a description of IEEE 802
        packets to select for interception."
     ::= { casa802TapMIBGroups 1 }
END
--
-- CASA-802-TAP-MIB.my
--

