DOCS-L2VPN-MIB DEFINITIONS ::= BEGIN 
 
IMPORTS 
    MODULE-IDENTITY, 
    OBJECT-TYPE, 
    Unsigned32, 
    Integer32,  
    Counter32               FROM SNMPv2-SMI 
 
    TEXTUAL-CONVENTION, 
    TruthValue, 
    MacAddress              FROM SNMPv2-TC 
 
    MODULE-COMPLIANCE, 
    OBJECT-GROUP            FROM SNMPv2-CONF 
 
    ifIndex                 FROM IF-MIB 
 
    dot1dBasePort           FROM BRIDGE-MIB 
 
    dot1qFdbId,  
    dot1qTpFdbAddress, 
    dot1qVlanIndex,  
    dot1qTpGroupAddress     FROM Q-BRIDGE-MIB 
 
    docsIfCmtsCmStatusIndex FROM DOCS-IF-MIB 
 
    docsQosServiceFlowId, 
    docsQosPktClassId       FROM DOCS-QOS-MIB 
 
    clabProjDocsis          FROM CLAB-DEF-MIB; 
 
docsL2vpnMIB MODULE-IDENTITY 
    LAST-UPDATED  "200603280000Z"  -- March 28, 2006 
    ORGANIZATION  "CableLabs" 
    CONTACT-INFO 
        "Postal: Cable Television Laboratories, Inc.  
        858 Coal Creek Circle  
        Louisville, Colorado 80027-9750  
        U.S.A.  
        Phone:  +1 303-661-9100  
        Fax:   +1 303-661-9199  
        E-mail: mibs@cablelabs.com"  
    DESCRIPTION 
        "This is the management MIB for devices complying to the  
        DOCSIS L2VPN Feature." 
    REVISION "200603280000Z" 
    DESCRIPTION 
        "Initial version." 
    ::= { clabProjDocsis 8 } 
 
-------------------------------------------------------------- 
-- 
-- Textual Conventions 
-- 
DocsL2vpnIdentifier ::= TEXTUAL-CONVENTION 
    DISPLAY-HINT "255a" 
    STATUS      current 
    DESCRIPTION 
            "An externally administered octet string identifying an  
            L2VPN. An implementation MUST support a length of at least 
            16 octets. The octet string is used as an index. As such,  
            the CMTS enforces that objects of type DocsL2vpnIdentifier 
            are unique per CMTS. An MSO is encouraged to define  
            DocsL2vpnIdentifier values as globally unique." 
    SYNTAX      OCTET STRING (SIZE(1..16)) 
 
DocsL2vpnIndex ::= TEXTUAL-CONVENTION 
    STATUS      current 
    DESCRIPTION 
            "An integer value locally generated by the agent for each  
            known DocsL2vpnIdentifier administrative identifier. It is 
            intended to be used as a short index for tables in this MIB 
            module in lieu of an object of the type  
            DocsL2vpnIdentifier." 
    SYNTAX      Unsigned32 (0..4294967295) 
 
DocsNsiEncapSubtype ::= TEXTUAL-CONVENTION 
    STATUS      current 
    DESCRIPTION 
            "An enumerated integer that defines the default  
            encapsulation on NSI ports of an L2VPN-forwarded packet. 
            A CMTS implementation MUST support ieee802.1q(2). 
            A CMTS MAY omit support for all NSI  encapsulations  
            other than ieee802.1q(2)." 
    SYNTAX      INTEGER { 
        other(1), 
        ieee8021q(2), 
        ieee8021ad(3), 
        mpls(4), 
        l2tpv3(5) 
    } 
 
DocsNsiEncapValue ::= TEXTUAL-CONVENTION 
    STATUS      current 
    DESCRIPTION  
            "The encapsulation value for L2VPN forwarded packets on NSI 
            ports. The value of an object of this type depends on the  
            value of an associated object of type DocsEncapSubtype: 
 
            other(1): vendor specific, 
            ieee8021q(2): 802.1Q tag with VLAN ID in lower 12 bits, 
            ieee8021ad(3): pair of 16-bit values with service provider 
            in lower 12 bits of the first 16-bit value and customer  
            VLAN ID in the lower 12 bits of the second 16-bit value, 
            mpls(4): must be zero length string, 
            l2tpv3(5): must be zero length string." 
 
    SYNTAX      OCTET STRING 
 
-- Cable Modem Interface List 
 
DocsL2vpnIfList ::= TEXTUAL-CONVENTION 
    STATUS      current 
    DESCRIPTION 
            "A object of this type indicates a set of CM  
            MAC bridge interfaces, encoded as a BITS syntax with a ?1? 
            Bit for each interface included in the set. 
 
            Bit position eCM(0) represents a conceptual interface to  
            the internal 'self' host MAC of the eCM itself. All other  
            bit positions K correspond to CM MAC bridge port interface 
            index with ifIndex value K.  
 
            A BITS object is encoded as an OCTET STRING, which may have 
            length zero. Bit position 0 is encoded in the most 
            significant bit of the first octet, proceeding to  
            bit position 7 in the least significant bit. Bit position 8 
            is encoded in the most significant bit of the second octet, 
            and so on. 
 
            In a CM, ifIndex value 1 corresponds to the primary CPE  
            interface. In CableHome devices, this interface is assigned 
            to the embedded Portal Services (ePS) host interface, which 
            provides a portal to the primary physical CPE interface.  
            In many contexts of a DocsL2VpnIfList, a '1' in bit  
            position 1 corresponds to 'any' or 'all' CPE interfaces  
            when the CM contains more than one CPE interface.  
 
            ifIndex value 2 corresponds to the docsCableMacLayer  
            RF MAC interface.  
 
            ifIndex values 3 and 4 correspond to the  
            docsCableDownstream and docsCableUpstream interfaces,  
            respectively, which are not separate MAC bridge port  
            interfaces. Bit positions 3 and 4 are unused in this type; 
            they must be saved and reported as configured, but  
            otherwise ignored.  
 
            ifIndex values 5 through 15 are reserved for individual 
            CPE interfaces for devices that implement more than one 
            CPE interface. In such devices, DocsL2vpnIfList bit  
            position 1 corresponds to the set of all CPE interfaces. 
            A CM with more than one CPE interface MAY assign a 
            DocsL2vpnIfList bit position within the range of 5..15 to 
            refer to the single primary CPE interface.  
 
            ifIndex value 16 is assigned to any embedded Multimedia  
            Terminal Adapter (eMTA) as defined by PacketCable. 
 
            ifIndex value 17 is assigned to the IP management host  
            interface of an embedded Set Top Box (eSTB). ifIndex value  
            18 is reserved for the DOCSIS Set-top Gateway (DSG) traffic 
            delivered to an eSTB.  
 
            ifIndex values 19 through 31 are 
            reserved for future defined embedded Service Application." 
    SYNTAX      BITS { 
        eCm(0), 
        cmci(1), 
        docsCableMacLayer(2), 
        docsCableDownstream(3), 
        docsCableUpstream(4), 
        -- 5..15 reserved for other CPE interfaces 
        eMta(16), 
        eStbIp(17), 
        eStbDsg(18) 
        -- 19..31 reserved for other eSAFE interfaces 
    } 
 
--------------------------------------------------------------- 
 
-- Placeholder for notifications 
-- 
docsL2vpnMIBNotifications OBJECT IDENTIFIER ::= { docsL2vpnMIB 0 } 
 
--  None defined 
 
-- 
-- L2VPN MIB Objects 
-- 
 
docsL2vpnMIBObjects OBJECT IDENTIFIER ::= { docsL2vpnMIB 1 } 
 
---------------------------------------------------------------------- 
-- 
-- Point-to-Point and Point-to-Multipoint  
--  
-- The following objects are required for both 
-- Point-to-Point and Point-to-Multipoint operation. 
-- 
 
---------------------------------------------------------------- 
-- 
-- L2VPN Identifier to L2VPN Index mapping table 
-- 
docsL2vpnIdToIndexTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnIdToIndexEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "Table indexed by the octet string DocsL2vpnIdentifier that 
            provides the local agent's internally assigned docsL2vpnIdx 
            value for that DocsL2vpnIdentifier value. The mapping of  
            DocsL2vpnIdentifier to docsL2vpnIdx is 1-1. The agent  
            must instantiate a row in both docsL2vpnIndexToIdTable and 
            docsL2vpnIdToIndexTable for each known L2VPN Identifier." 
    ::= { docsL2vpnMIBObjects 1 } 
 
docsL2vpnIdToIndexEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnIdToIndexEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "Maps a DocsL2vpnIdentifier octet string into the local  
            agent's locally assigned docsL2vpnIdx value." 
    INDEX { docsL2vpnId } 
    ::= { docsL2vpnIdToIndexTable 1 } 
 
DocsL2vpnIdToIndexEntry ::= SEQUENCE 
    { 
        docsL2vpnId            DocsL2vpnIdentifier, 
        docsL2vpnIdToIndexIdx  DocsL2vpnIndex 
    } 
 
docsL2vpnId OBJECT-TYPE 
    SYNTAX      DocsL2vpnIdentifier 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION  
            "An externally configured octet string that identifies an 
            L2VPN."  
    ::= { docsL2vpnIdToIndexEntry 1 } 
 
docsL2vpnIdToIndexIdx OBJECT-TYPE 
    SYNTAX      DocsL2vpnIndex 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "An internally assigned index value for a known L2VPN." 
    ::= { docsL2vpnIdToIndexEntry 2 } 
 
---------------------------------------------------------------- 
-- 
-- L2VPN Index to L2VPN Identifier mapping tables 
-- 
docsL2vpnIndexToIdTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnIndexToIdEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "Table indexed by agent's local docsL2vpnIdx that provides 
            the global L2VPN Identifier. The mapping of docsL2vpnIdx to 
            DocsL2vpnIdentifier is 1-1. The agent must instantiate a  
            row in both docsL2vpnIndexToIdTable and  
            docsL2vpnIdToIndexTable for each known L2VPN." 
    ::= { docsL2vpnMIBObjects 2 } 
 
docsL2vpnIndexToIdEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnIndexToIdEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "Provides the L2VPN Identifier for each locally-assigned  
            L2vpn Index." 
    INDEX { docsL2vpnIdx } 
    ::= { docsL2vpnIndexToIdTable 1 } 
 
DocsL2vpnIndexToIdEntry ::= SEQUENCE 
    { 
        docsL2vpnIdx              DocsL2vpnIndex, 
        docsL2vpnIndexToIdId      DocsL2vpnIdentifier 
    } 
 
docsL2vpnIdx OBJECT-TYPE 
    SYNTAX      DocsL2vpnIndex 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION  
            "An internally assigned index value for a known L2VPN." 
    ::= { docsL2vpnIndexToIdEntry 1 } 
 
docsL2vpnIndexToIdId OBJECT-TYPE 
    SYNTAX      DocsL2vpnIdentifier 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "An administered octet string that externally identifies an 
            L2VPN." 
    ::= { docsL2vpnIndexToIdEntry 2 } 
 
---------------------------------------------------------------------- 
-- 
-- L2VPN CM Table 
--  Point-to-Point and Multipoint mode 
-- 
docsL2vpnCmTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnCmEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table describes L2VPN per-CM information that 
            is in common with all L2VPNs for the CM, regardless 
            of forwarding mode." 
    ::= { docsL2vpnMIBObjects 3 } 
 
docsL2vpnCmEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnCmEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "An entry is indexed by Cable Modem Index that 
            describes L2VPN information for a single CM that is in 
            common with all L2VPNs implemented by the CM, 
            regardless of the L2VPN forwarding mode. 
 
            An entry in this table is created for every CM that  
            registers with a forwarding L2VPN encoding." 
    INDEX { docsIfCmtsCmStatusIndex } 
    ::= { docsL2vpnCmTable 1 } 
 
DocsL2vpnCmEntry ::= SEQUENCE { 
        docsL2vpnCmCompliantCapability      TruthValue, 
        docsL2vpnCmDutFilteringCapability   TruthValue, 
        docsL2vpnCmDutCMIM                  DocsL2vpnIfList, 
        docsL2vpnCmDhcpSnooping             DocsL2vpnIfList 
    } 
 
docsL2vpnCmCompliantCapability OBJECT-TYPE 
    SYNTAX      TruthValue 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "This object reports whether an L2VPN forwarding CM is 
            compliant with the DOCSIS L2VPN specification, as reported 
            in the L2VPN Capability encoding in the CM's registration 
            request message. 
 
            If the capability encoding was omitted, this object must 
            report the value false(2)." 
    ::= { docsL2vpnCmEntry 1 } 
 
docsL2vpnCmDutFilteringCapability OBJECT-TYPE 
    SYNTAX      TruthValue 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "This object reports whether an L2VPN forwarding CM is 
            capable of Downstream Unencrypted Traffic (DUT) Filtering, 
            as reported in the CM's registration request message. 
 
            If the capability encoding was omitted, this object must 
            report the value false(2)." 
    ::= { docsL2vpnCmEntry 2 } 
 
docsL2vpnCmDutCMIM OBJECT-TYPE 
    SYNTAX      DocsL2vpnIfList 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "This object reports the value configured in a per-CM  
            L2VPN Encoding for Downstream Unencrypted Traffic (DUT) 
            Cable Modem Interface Mask (CMIM).  
 
            The DUT CMIM is a bit string with a '1' for each bit  
            position K for an internal or external CM interface with  
            ifIndex K to which the CM permits DUT to be forwarded. A CM 
            capable of DUT filtering MUST discard DUT to interfaces 
            with a '0' in the DUT CMIM.  
 
            If a CM's top-level registration request L2VPN Encoding 
            contained no DUT CMIM subtype, this object is reported 
            with its default value of a '1' in bit position 0  
            (corresponding to the eCM's own 'self' host) and a '1' in  
            each bit position K for which an eSAFE interface exists at 
            ifIndex K. In other words, the default DUT CMIM includes  
            the eCM and all eSAFE interfaces. 
 
            This value is reported independently of whether the CM is 
            actually capable of performing DUT filtering." 
    ::= { docsL2vpnCmEntry 3 } 
 
docsL2vpnCmDhcpSnooping OBJECT-TYPE 
    SYNTAX      DocsL2vpnIfList 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "This object reports the value of the Enable DHCP Snooping 
            subtype of a top-level L2VPN Encoding.  
 
            It has the syntax of a CM Interface List bitmask and 
            represents a set of CM MAC bridge interfaces  
            corresponding to eSAFE hosts for which the CMTS is enabled  
            to snoop DHCP traffic in order to learn the eSAFE host MAC 
            address on that interface.   
 
            Only bits corresponding to eSAFE host MAC addresses may be 
            validly set in this object, including cpe(1) for ePS 
            and the eSAFE interfaces in bits positions 16 through 31." 
    ::= { docsL2vpnCmEntry 4 } 
 
---------------------------------------------------------------------- 
-- 
-- L2VPN/CM Table 
--  Point-to-Point and Multipoint mode 
-- 
 
docsL2vpnVpnCmTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnVpnCmEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table describes the operation of L2VPN forwarding 
            on each CM." 
    ::= { docsL2vpnMIBObjects 4 } 
 
docsL2vpnVpnCmEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnVpnCmEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "An entry is indexed by VPN ID and Cable Modem Index that 
            describes the operation of L2VPN forwarding for a single 
            L2VPN on a single CM." 
    INDEX { docsL2vpnIdx, docsIfCmtsCmStatusIndex } 
    ::= { docsL2vpnVpnCmTable 1 } 
 
DocsL2vpnVpnCmEntry ::= SEQUENCE { 
        docsL2vpnVpnCmCMIM                DocsL2vpnIfList, 
        docsL2vpnVpnCmIndividualSAId      Integer32, 
        docsL2vpnVpnCmVendorSpecific      OCTET STRING 
    } 
 
docsL2vpnVpnCmCMIM OBJECT-TYPE 
    SYNTAX      DocsL2vpnIfList 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "A Cable Modem Interface Mask represents a set of  
            MAC bridge interfaces within the CM. This object 
            represents the CMIM within a forwarding per-SF L2VPN  
            encoding, which specifies a set of CM MAC bridge  
            interfaces to which L2VPN forwarding is restricted. 
 
            If the CMIM Subtype is omitted from a forwarding 
            per-SF encoding, its default value includes only 
            cpePrimary(1) and cableMac(2), which can be encoded 
            with a single octet with the value 0x60." 
    ::= { docsL2vpnVpnCmEntry 1 } 
 
docsL2vpnVpnCmIndividualSAId OBJECT-TYPE 
    SYNTAX      Integer32 (0..16383) 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "The BPI+ Security Association ID in which traffic intended 
            for point-to-point forwarding through an individual CM is  
            forwarded.  
 
            If the CMTS does not allocate an individual SAID for 
            multipoint forwarding (as is recommended),it MUST  
            report this object as zero." 
    ::= { docsL2vpnVpnCmEntry 2 } 
 
docsL2vpnVpnCmVendorSpecific OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object encodes the concatenation of all Vendor  
            Specific Subtype encodings that appeared in any  
            registration per-CM L2VPN Encoding associated with this  
            entry." 
    ::= { docsL2vpnVpnCmEntry 3 } 
 
---------------------------------------------------------------------- 
-- 
-- L2VPN/CM Statistics Table 
--  Point-to-Point and Multipoint mode 
-- 
docsL2vpnVpnCmStatsTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnVpnCmStatsEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table contains statistics for forwarding of  
            packets to and from a CM on each VPN." 
    ::= { docsL2vpnMIBObjects 5 } 
 
docsL2vpnVpnCmStatsEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnVpnCmStatsEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "An entry is indexed by VPN ID and Cable Modem Index." 
    INDEX { docsL2vpnIdx, docsIfCmtsCmStatusIndex } 
    ::= { docsL2vpnVpnCmStatsTable 1 } 
 
DocsL2vpnVpnCmStatsEntry ::= SEQUENCE { 
        docsL2vpnVpnCmStatsUpstreamPkts       Counter32, 
        docsL2vpnVpnCmStatsUpstreamBytes      Counter32, 
        docsL2vpnVpnCmStatsUpstreamDiscards   Counter32, 
        docsL2vpnVpnCmStatsDownstreamPkts     Counter32, 
        docsL2vpnVpnCmStatsDownstreamBytes    Counter32, 
        docsL2vpnVpnCmStatsDownstreamDiscards Counter32 
    } 
 
docsL2vpnVpnCmStatsUpstreamPkts OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of L2vpn-forwarded packets received 
            from this instance's Cable Modem on 
            this instance's L2VPN." 
    ::= { docsL2vpnVpnCmStatsEntry 1 } 
 
docsL2vpnVpnCmStatsUpstreamBytes OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of L2vpn-forwarded bytes received 
            from this instance's Cable Modem on 
            this instance's L2VPN." 
    ::= { docsL2vpnVpnCmStatsEntry 2 } 
 
docsL2vpnVpnCmStatsUpstreamDiscards OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of L2-forwarded packets  
            discarded from this instance's  
            Cable Modem on this instance's VPN." 
    ::= { docsL2vpnVpnCmStatsEntry 3 } 
 
docsL2vpnVpnCmStatsDownstreamPkts OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of L2-forwarded packets 
            transmitted to this instance's 
            Cable Modem on this instance's VPN." 
    ::= { docsL2vpnVpnCmStatsEntry 4 } 
 
docsL2vpnVpnCmStatsDownstreamBytes OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of L2-forwarded bytes 
            transmitted to this instance's 
            Cable Modem on this instance's VPN." 
    ::= { docsL2vpnVpnCmStatsEntry 5 } 
 
docsL2vpnVpnCmStatsDownstreamDiscards OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of L2-forwarded packets that were discarded  
            before they could be transmitted to this instance's  
            Cable Modem on this instance's VPN." 
    ::= { docsL2vpnVpnCmStatsEntry 6 } 
 
---------------------------------------------------------------------- 
-- 
-- VPN Port Status Table 
--  (Point-to-Point and Multipoint mode) 
-- 
docsL2vpnPortStatusTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnPortStatusEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table displays summary information for the 
            run-time state of each VPN that is currently operating  
            on each bridge port." 
    ::= { docsL2vpnMIBObjects 6 } 
 
docsL2vpnPortStatusEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnPortStatusEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "Information specific to the operation of L2VPN forwarding 
            on a particular CMTS 'bridge port'. A CMTS 'bridge port'  
            may be defined by the CMTS vendor, but is advantageously a 
            single DOCSIS MAC Domain." 
    INDEX { dot1dBasePort, docsL2vpnIdx } 
    ::= { docsL2vpnPortStatusTable 1 } 
 
DocsL2vpnPortStatusEntry ::= SEQUENCE { 
        docsL2vpnPortStatusGroupSAId   Integer32 
    } 
 
docsL2vpnPortStatusGroupSAId OBJECT-TYPE 
    SYNTAX      Integer32 (0..16383) 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "The Group SAID associated with this VPN on a  
            particular CMTS MAC domain. This SAID is used to encrypt 
            all downstream flooded bridge traffic sent to CMs on  
            this VPN and CMTS MAC domain bridge port.  
 
            A value of '0' means there is no associated Group SAID for 
            this VPN and bridge port, e.g., if the L2VPN uses 
            point-to-point individual SAIDs only for forwarding. 
 
            A bridge port that is not a CMTS MAC 
            domain will report a value of '0'." 
    ::= { docsL2vpnPortStatusEntry 1 } 
 
---------------------------------------------------------------------- 
-- 
-- L2VPN Service Flow Status Table 
--  (Point-to-Point and Multipoint mode) 
-- 
-- This table has a row for each upstream SF with a per-SF L2VPN  
-- Encoding. 
-- 
 
docsL2vpnSfStatusTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnSfStatusEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
           "This table displays SF-specific L2VPN forwarding status  
           for each upstream service flow configured with a per-SF  
            L2VPN Encoding. 
 
            Objects which were signaled in a per-SF L2VPN Encoding but 
            apply for the entire CM are shown in the  
            docsL2vpnVpnCmTable." 
    ::= { docsL2vpnMIBObjects 7 } 
 
docsL2vpnSfStatusEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnSfStatusEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "SF-specific L2VPN forwarding status information for each 
            upstream service flow configured with a per-SF L2VPN  
            Encoding. The ifIndex is of type docsCableMacLayer(127)." 
    INDEX { ifIndex, docsQosServiceFlowId } 
    ::= { docsL2vpnSfStatusTable 1 } 
 
DocsL2vpnSfStatusEntry ::= SEQUENCE { 
        docsL2vpnSfStatusL2vpnId              OCTET STRING, 
        docsL2vpnSfStatusIngressUserPriority  Unsigned32, 
        docsL2vpnSfStatusVendorSpecific       OCTET STRING 
    } 
 
docsL2vpnSfStatusL2vpnId OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object represents the value of the L2VPN Identifier 
            subtype of a per-SF L2VPN Encoding." 
    ::= { docsL2vpnSfStatusEntry 1 } 
 
docsL2vpnSfStatusIngressUserPriority OBJECT-TYPE 
    SYNTAX      Unsigned32 (0..7) 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object provides the configured Ingress User Priority 
            subtype of a per-SF L2VPN Encoding for this CM. If the  
            subtype was omitted, this object's value is zero." 
    ::= { docsL2vpnSfStatusEntry 2 } 
 
docsL2vpnSfStatusVendorSpecific OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object provides the set of configured Vendor Specific 
            subtypes within a per-SF L2VPN Encoding for a CM. If no  
            Vendor Specific subtype was specified, this object is a  
            zero length octet string. If one or more Vendor Specific  
            subtype parameters was specified, this object represents  
            the concatenation of all such subtypes." 
    ::= { docsL2vpnSfStatusEntry 3 } 
 
---------------------------------------------------------------------- 
-- 
-- L2VPN Classifier Table 
--  (Point-to-Point and Multipoint mode) 
-- 
 
docsL2vpnPktClassTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnPktClassEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table provides the L2VPN-specific objects for 
            packet classifiers that apply to only L2VPN traffic.  
            The indices of this table are a subset of the 
            indices of classifiers in docsQosPktClassTable." 
    ::= { docsL2vpnMIBObjects 8 } 
 
docsL2vpnPktClassEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnPktClassEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "An entry in this table extends a single row 
            of docsQosPktClassTable for a rule that applies only to 
            downstream L2VPN forwarded packets. 
            The index ifIndex is an ifType of docsCableMaclayer(127)." 
    INDEX { 
        ifIndex, 
        docsQosServiceFlowId, 
        docsQosPktClassId 
    } 
    ::= { docsL2vpnPktClassTable 1 } 
 
DocsL2vpnPktClassEntry ::= SEQUENCE { 
        docsL2vpnPktClassL2vpnId           DocsL2vpnIdentifier, 
        docsL2vpnPktClassUserPriRangeLow   Unsigned32, 
        docsL2vpnPktClassUserPriRangeHigh  Unsigned32, 
        docsL2vpnPktClassCMIM              DocsL2vpnIfList, 
        docsL2vpnPktClassVendorSpecific    OCTET STRING 
    } 
 
docsL2vpnPktClassL2vpnId OBJECT-TYPE 
    SYNTAX      DocsL2vpnIdentifier 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The locally assigned L2VPN index corresponding to the VPN 
            Identifier subtype of a Downstream Classifier L2VPN  
            Encoding." 
    ::= { docsL2vpnPktClassEntry 1 } 
 
docsL2vpnPktClassUserPriRangeLow OBJECT-TYPE 
    SYNTAX      Unsigned32 (0..7) 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The lower priority of the user Priority Range subtype 
            of a Downstream Classifier L2VPN Encoding. If the subtype 
            was omitted, this object has value 0." 
    ::= { docsL2vpnPktClassEntry 2 } 
 
docsL2vpnPktClassUserPriRangeHigh OBJECT-TYPE 
    SYNTAX      Unsigned32 (0..7) 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The higher priority of the user Priority Range subtype 
            of a Downstream Classifier L2VPN Encoding. If the subtype 
            was omitted, this object has value 7." 
    ::= { docsL2vpnPktClassEntry 3 } 
 
docsL2vpnPktClassCMIM OBJECT-TYPE 
    SYNTAX      DocsL2vpnIfList  
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The Cable Modem Interface Mask (CMIM) signaled in a  
            Packet Classifier Encoding.  In a Downstream Packet  
            Classifier Encoding, a specified CMIM value restricts the  
            classifier to match packets with a Destination MAC address 
            corresponding to the interfaces indicated in the CMIM mask. 
            The eCM self and any eSAFE interface bits correspond to 
            the individual eCM and eSAFE host MAC addresses. 
 
            In an Upstream Packet Classifier encoding, a specified CMIM 
            value restricts the classifier to match packets with an  
            ingress bridge port interface matching the bits in the  
            CMIM value. 
 
            If the CMIM subtype was omitted, this object should be  
            reported as a zero length octet string." 
    ::= { docsL2vpnPktClassEntry 4 } 
 
docsL2vpnPktClassVendorSpecific OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object provides the set of configured  
            Vendor Specific subtypes within a Packet Classifier  
            Encoding for a CM. If no Vendor Specific subtype was  
            specified, this object is a zero length octet string.  
            If one or more Vendor Specific subtype parameters was  
            specified, this object represents the concatenation of all 
            such subtypes." 
    ::= { docsL2vpnPktClassEntry 5 } 
 
---------------------------------------------------------------------- 
-- 
-- L2VPN CM NSI Table 
--  Point-to-Point Only 
-- 
docsL2vpnCmNsiTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnCmNsiEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table describes the NSI configuration for a single 
            CM when operating in point-to-point forwarding mode for an 
            L2VPN." 
    ::= { docsL2vpnMIBObjects 9 } 
 
docsL2vpnCmNsiEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnCmNsiEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "An entry indexed by VPN ID and Cable Modem Index that 
            describes the point-to-point forwarding between a single 
            NSI encapsulation and a single CM. This table is  
            implemented only for a CM forwarding an L2VPN on a  
            point-to-point basis. It is associated with a single  
            per-CM L2VPN encoding." 
    INDEX { docsL2vpnIdx, docsIfCmtsCmStatusIndex } 
    ::= { docsL2vpnCmNsiTable 1 } 
 
DocsL2vpnCmNsiEntry ::= SEQUENCE { 
        docsL2vpnCmNsiEncapSubtype        DocsNsiEncapSubtype, 
        docsL2vpnCmNsiEncapValue          DocsNsiEncapValue, 
        docsL2vpnCmNsiAGI                 OCTET STRING, 
        docsL2vpnCmNsiSAII                OCTET STRING, 
        docsL2vpnCmNsiTAII                OCTET STRING 
    } 
 
docsL2vpnCmNsiEncapSubtype OBJECT-TYPE 
    SYNTAX      DocsNsiEncapSubtype 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "The General Encapsulation Information (GEI) subtype of the 
            Network System Interface (NSI) encapsulation configured 
            for the CM." 
    ::= { docsL2vpnCmNsiEntry 1 } 
 
docsL2vpnCmNsiEncapValue OBJECT-TYPE 
    SYNTAX      DocsNsiEncapValue 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION  
            "The encapsulation value for L2VPN forwarded packets on NSI 
            ports." 
    ::= { docsL2vpnCmNsiEntry 2 } 
 
docsL2vpnCmNsiAGI OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object is the configuration of any Attachment Group  
            Identifier subtype in the per-SF L2VPN Encoding  
            represented by this row. If the subtype was omitted, this  
            object's value is a zero length string." 
   ::= { docsL2vpnCmNsiEntry 3 } 
 
docsL2vpnCmNsiSAII OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object is the configuration of any Source  
            Attachment Individual ID subtype in the L2VPN Encoding  
            represented by this row. If the subtype was omitted, this 
            object's value is a zero length string." 
    ::= { docsL2vpnCmNsiEntry 4 } 
 
docsL2vpnCmNsiTAII OBJECT-TYPE 
    SYNTAX      OCTET STRING 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "This object is the configuration of any Target 
            Attachment Individual ID subtype in the L2VPN Encoding 
            represented by this row. If the subtype was omitted, this 
            object's value is a zero length string." 
    ::= { docsL2vpnCmNsiEntry 5 } 
 
---------------------------------------------------------------------- 
-- 
-- Point-to-Multipoint Only 
--  
-- The following objects are required for Point-to-Multipoint 
-- operation only. 
-- 
---------------------------------------------------------------------- 
-- 
-- Cable Modem/Vpn/CPE Table  
--  (Point-to-Multipoint only) 
-- 
 
docsL2vpnCmVpnCpeTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnCmVpnCpeEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table is a list of CPEs, indexed by the VPNs on a  
            Cable Modem." 
    ::= { docsL2vpnMIBObjects 10 } 
 
docsL2vpnCmVpnCpeEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnCmVpnCpeEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION  
            "This table is a list of CPEs, indexed by the VPNs on a  
            Cable Modem." 
    INDEX { docsIfCmtsCmStatusIndex,  
        docsL2vpnIdx,  
        docsL2vpnCmVpnCpeMacAddress } 
    ::= { docsL2vpnCmVpnCpeTable 1 } 
 
DocsL2vpnCmVpnCpeEntry ::= SEQUENCE { 
        docsL2vpnCmVpnCpeMacAddress   MacAddress 
    } 
 
docsL2vpnCmVpnCpeMacAddress OBJECT-TYPE 
    SYNTAX      MacAddress 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The Customer Premise Equipment (CPE) Mac Address 
            that is attached to this instances Cable Modem 
            and bridging on this instance's VPN Id." 
    ::= { docsL2vpnCmVpnCpeEntry 1 } 
 
-------------------------------------------------------------------- 
-- 
-- VPN/Cable Modem/CPE Table 
--  (Point-to-Multipoint only) 
-- 
docsL2vpnVpnCmCpeTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnVpnCmCpeEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION  
            "This table contains a list of bridging CPEs, indexed by 
            L2VPN Index and the corresponding CMs on that VPN." 
    ::= { docsL2vpnMIBObjects 11 } 
 
docsL2vpnVpnCmCpeEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnVpnCmCpeEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION  
            "This table contains a list of bridging CPEs, indexed by 
            VPN and the corresponding CMs on that VPN." 
    INDEX  { docsL2vpnIdx, 
        docsIfCmtsCmStatusIndex, 
        docsL2vpnVpnCmCpeMacAddress } 
    ::= { docsL2vpnVpnCmCpeTable 1 } 
 
DocsL2vpnVpnCmCpeEntry ::= SEQUENCE { 
        docsL2vpnVpnCmCpeMacAddress   MacAddress 
    } 
 
docsL2vpnVpnCmCpeMacAddress OBJECT-TYPE 
    SYNTAX      MacAddress 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The Customer Premise Equipment (CPE) Mac Address 
            that is attached to this instances Cable Modem 
            and bridging on this instance's L2vpn Index." 
    ::= { docsL2vpnVpnCmCpeEntry 1 } 
 
-------------------------------------------------------------------- 
-- 
-- dot1qTpFdbTable Extension 
--  (Point-to-Multipoint only) 
-- 
docsL2vpnDot1qTpFdbExtTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnDot1qTpFdbExtEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table contains packet counters for  
            Unicast MAC Addresses within a VPN." 
    ::= { docsL2vpnMIBObjects 12 } 
 
docsL2vpnDot1qTpFdbExtEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnDot1qTpFdbExtEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table extends the dot1qTpFdbTable only for RF network 
            bridge port entries.  It is implemented by an agent only 
            if the agent implements dot1qTpFdbTable for RF network 
            bridge ports." 
    INDEX { dot1qFdbId, dot1qTpFdbAddress } 
    ::= { docsL2vpnDot1qTpFdbExtTable 1 } 
 
DocsL2vpnDot1qTpFdbExtEntry ::= SEQUENCE { 
        docsL2vpnDot1qTpFdbExtTransmitPkts    Counter32, 
        docsL2vpnDot1qTpFdbExtReceivePkts     Counter32 
    } 
 
docsL2vpnDot1qTpFdbExtTransmitPkts OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of packets where the Destination  
            MAC Address matched this instance  
            dot1qTpFdbAddress and packet was bridged on 
            a VPN, where the VPN ID matched this  
            instance's dot1qFdbId." 
    ::= { docsL2vpnDot1qTpFdbExtEntry 1 } 
 
docsL2vpnDot1qTpFdbExtReceivePkts OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of packets where the Source MAC  
            Address matched this instance dot1qTpFdbAddress 
            and the packet was bridged on a VPN, 
            where the docsL2vpnIdx matched this instance's  
            dot1qFdbId."  
    ::= { docsL2vpnDot1qTpFdbExtEntry 2 } 
 
-------------------------------------------------------------------- 
-- 
-- dot1qTpGroupTable Extension 
--  (Point-to-multipoint only) 
-- 
docsL2vpnDot1qTpGroupExtTable OBJECT-TYPE 
    SYNTAX      SEQUENCE OF DocsL2vpnDot1qTpGroupExtEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table contains packet counters for  
            Multicast MAC Addresses within a VPN." 
    ::= { docsL2vpnMIBObjects 13 } 
 
docsL2vpnDot1qTpGroupExtEntry OBJECT-TYPE 
    SYNTAX      DocsL2vpnDot1qTpGroupExtEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
            "This table extends the dot1qTpGroupTable only for RF  
            Network bridge port entries.  It is implemented by an agent 
            Only if the agent implements dot1qTpGroupTable for RF  
            network bridge ports." 
    INDEX { dot1qVlanIndex, dot1qTpGroupAddress } 
    ::= { docsL2vpnDot1qTpGroupExtTable 1 } 
 
DocsL2vpnDot1qTpGroupExtEntry ::= SEQUENCE { 
        docsL2vpnDot1qTpGroupExtTransmitPkts    Counter32, 
        docsL2vpnDot1qTpGroupExtReceivePkts     Counter32 
    } 
 
docsL2vpnDot1qTpGroupExtTransmitPkts OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of packets where the Destination  
            MAC Address matched this instance  
            dot1qTpGroupAddress and packet was bridged on 
            a VPN, where the docsL2vpnIdx matched this  
            instance's dot1qVlanIndex." 
    ::= { docsL2vpnDot1qTpGroupExtEntry 1 } 
 
docsL2vpnDot1qTpGroupExtReceivePkts OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
            "The number of packets where the Source MAC  
            Address matched this instance dot1qTpGroupAddress 
            and the packet was bridged on a VPN, 
            where the docsL2vpnIdx matched this instance's  
            dot1qVlanIndex."  
    ::= { docsL2vpnDot1qTpGroupExtEntry 2 } 
 
---------------------------------------------------------------------- 
 
-- 
-- Conformance definitions 
-- 
docsL2vpnConformance  OBJECT IDENTIFIER ::= { docsL2vpnMIB 2 } 
docsL2vpnCompliances  OBJECT IDENTIFIER ::= { docsL2vpnConformance 1 } 
docsL2vpnGroups       OBJECT IDENTIFIER ::= { docsL2vpnConformance 2 } 
 
docsL2vpnCompliance MODULE-COMPLIANCE 
    STATUS      current 
    DESCRIPTION 
            "The compliance statement for the Cable Modem Termination  
            Systems that implement the DOCSIS L2VPN Feature." 
 
    MODULE    -- docsL2vpn 
      -- conditionally mandatory groups 
    GROUP docsL2vpnBaseGroup 
    DESCRIPTION 
            "Mandatory in all CMTSs." 
 
    GROUP docsL2vpnPointToPointGroup 
    DESCRIPTION 
            "Mandatory in all CMTSs that implement point-to-point L2VPN 
            forwarding." 
 
    GROUP docsL2vpnMultipointGroup 
    DESCRIPTION 
            "Mandatory in all CMTSs that implement Multipoint  
            L2VPN Forwarding Mode for any L2VPN." 
 
    ::= { docsL2vpnCompliances 1 } 
 
docsL2vpnBaseGroup OBJECT-GROUP 
    OBJECTS { 
        docsL2vpnIdToIndexIdx, 
        docsL2vpnIndexToIdId, 
 
        docsL2vpnCmCompliantCapability, 
        docsL2vpnCmDutFilteringCapability, 
        docsL2vpnCmDutCMIM, 
        docsL2vpnCmDhcpSnooping, 
 
        docsL2vpnVpnCmCMIM, 
        docsL2vpnVpnCmVendorSpecific, 
        docsL2vpnVpnCmIndividualSAId, 
 
        docsL2vpnVpnCmStatsUpstreamPkts, 
        docsL2vpnVpnCmStatsUpstreamBytes, 
        docsL2vpnVpnCmStatsUpstreamDiscards, 
        docsL2vpnVpnCmStatsDownstreamPkts, 
        docsL2vpnVpnCmStatsDownstreamBytes, 
        docsL2vpnVpnCmStatsDownstreamDiscards, 
 
        docsL2vpnPortStatusGroupSAId, 
 
        docsL2vpnSfStatusL2vpnId, 
        docsL2vpnSfStatusIngressUserPriority, 
        docsL2vpnSfStatusVendorSpecific, 
 
        docsL2vpnPktClassL2vpnId, 
        docsL2vpnPktClassUserPriRangeLow, 
        docsL2vpnPktClassUserPriRangeHigh, 
        docsL2vpnPktClassCMIM, 
        docsL2vpnPktClassVendorSpecific 
    } 
    STATUS      current 
    DESCRIPTION 
            "A collection of objects in common for both  
            Point-to-Point and Multipoint L2VPN forwarding 
            Modes." 
    ::= { docsL2vpnGroups 1 } 
 
docsL2vpnPointToPointGroup OBJECT-GROUP 
    OBJECTS { 
        docsL2vpnCmNsiEncapSubtype, 
        docsL2vpnCmNsiEncapValue, 
        docsL2vpnCmNsiAGI, 
        docsL2vpnCmNsiSAII, 
        docsL2vpnCmNsiTAII 
    } 
    STATUS      current 
    DESCRIPTION 
            "A collection of objects in common for only the 
            Point-to-Point forwarding mode." 
    ::= { docsL2vpnGroups 2 } 
 
docsL2vpnMultipointGroup OBJECT-GROUP 
    OBJECTS { 
        docsL2vpnCmVpnCpeMacAddress, 
 
        docsL2vpnVpnCmCpeMacAddress, 
 
        docsL2vpnDot1qTpFdbExtTransmitPkts, 
        docsL2vpnDot1qTpFdbExtReceivePkts, 
 
        docsL2vpnDot1qTpGroupExtTransmitPkts, 
        docsL2vpnDot1qTpGroupExtReceivePkts 
    } 
    STATUS      current 
    DESCRIPTION 
            "A collection of objects required only for Multipoint 
            forwarding mode." 
    ::= { docsL2vpnGroups 3 } 
END 

