""" DOCS_L2VPN_MIB 

This is the management MIB for devices complying to the  
DOCSIS L2VPN Feature.

"""
from collections import OrderedDict

from ydk.types import Entity, EntityPath, Identity, Enum, YType, YLeaf, YLeafList, YList, LeafDataList, Bits, Empty, Decimal64
from ydk.filters import YFilter
from ydk.errors import YError, YModelError
from ydk.errors.error_handler import handle_type_error as _handle_type_error



class DocsNsiEncapSubtype(Enum):
    """
    DocsNsiEncapSubtype (Enum Class)

    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).

    .. data:: other = 1

    .. data:: ieee8021q = 2

    .. data:: ieee8021ad = 3

    .. data:: mpls = 4

    .. data:: l2tpv3 = 5

    """

    other = Enum.YLeaf(1, "other")

    ieee8021q = Enum.YLeaf(2, "ieee8021q")

    ieee8021ad = Enum.YLeaf(3, "ieee8021ad")

    mpls = Enum.YLeaf(4, "mpls")

    l2tpv3 = Enum.YLeaf(5, "l2tpv3")



class DOCSL2VPNMIB(Entity):
    """
    
    
    .. attribute:: docsl2vpnidtoindextable
    
    	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
    	**type**\:  :py:class:`DocsL2vpnIdToIndexTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIdToIndexTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnindextoidtable
    
    	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
    	**type**\:  :py:class:`DocsL2vpnIndexToIdTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpncmtable
    
    	This table describes L2VPN per\-CM information that  is in common with all L2VPNs for the CM, regardless  of forwarding mode
    	**type**\:  :py:class:`DocsL2vpnCmTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnCmTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnvpncmtable
    
    	This table describes the operation of L2VPN forwarding  on each CM
    	**type**\:  :py:class:`DocsL2vpnVpnCmTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnVpnCmTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnvpncmstatstable
    
    	This table contains statistics for forwarding of   packets to and from a CM on each VPN
    	**type**\:  :py:class:`DocsL2vpnVpnCmStatsTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnportstatustable
    
    	This table displays summary information for the  run\-time state of each VPN that is currently operating   on each bridge port
    	**type**\:  :py:class:`DocsL2vpnPortStatusTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnPortStatusTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnsfstatustable
    
    	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
    	**type**\:  :py:class:`DocsL2vpnSfStatusTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnSfStatusTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnpktclasstable
    
    	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
    	**type**\:  :py:class:`DocsL2vpnPktClassTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnPktClassTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpncmnsitable
    
    	This table describes the NSI configuration for a single  CM when operating in point\-to\-point forwarding mode for an  L2VPN
    	**type**\:  :py:class:`DocsL2vpnCmNsiTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnCmNsiTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpncmvpncpetable
    
    	This table is a list of CPEs, indexed by the VPNs on a   Cable Modem
    	**type**\:  :py:class:`DocsL2vpnCmVpnCpeTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpnvpncmcpetable
    
    	This table contains a list of bridging CPEs, indexed by  L2VPN Index and the corresponding CMs on that VPN
    	**type**\:  :py:class:`DocsL2vpnVpnCmCpeTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpndot1qtpfdbexttable
    
    	This table contains packet counters for   Unicast MAC Addresses within a VPN
    	**type**\:  :py:class:`DocsL2vpnDot1qTpFdbExtTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable>`
    
    	**config**\: False
    
    .. attribute:: docsl2vpndot1qtpgroupexttable
    
    	This table contains packet counters for   Multicast MAC Addresses within a VPN
    	**type**\:  :py:class:`DocsL2vpnDot1qTpGroupExtTable <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable>`
    
    	**config**\: False
    
    

    """

    _prefix = 'DOCS-L2VPN-MIB'
    _revision = '2006-03-28'

    def __init__(self):
        super(DOCSL2VPNMIB, self).__init__()
        self._top_entity = None

        self.yang_name = "DOCS-L2VPN-MIB"
        self.yang_parent_name = "DOCS-L2VPN-MIB"
        self.is_top_level_class = True
        self.has_list_ancestor = False
        self.ylist_key_names = []
        self._child_classes = OrderedDict([("docsL2vpnIdToIndexTable", ("docsl2vpnidtoindextable", DOCSL2VPNMIB.DocsL2vpnIdToIndexTable)), ("docsL2vpnIndexToIdTable", ("docsl2vpnindextoidtable", DOCSL2VPNMIB.DocsL2vpnIndexToIdTable)), ("docsL2vpnCmTable", ("docsl2vpncmtable", DOCSL2VPNMIB.DocsL2vpnCmTable)), ("docsL2vpnVpnCmTable", ("docsl2vpnvpncmtable", DOCSL2VPNMIB.DocsL2vpnVpnCmTable)), ("docsL2vpnVpnCmStatsTable", ("docsl2vpnvpncmstatstable", DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable)), ("docsL2vpnPortStatusTable", ("docsl2vpnportstatustable", DOCSL2VPNMIB.DocsL2vpnPortStatusTable)), ("docsL2vpnSfStatusTable", ("docsl2vpnsfstatustable", DOCSL2VPNMIB.DocsL2vpnSfStatusTable)), ("docsL2vpnPktClassTable", ("docsl2vpnpktclasstable", DOCSL2VPNMIB.DocsL2vpnPktClassTable)), ("docsL2vpnCmNsiTable", ("docsl2vpncmnsitable", DOCSL2VPNMIB.DocsL2vpnCmNsiTable)), ("docsL2vpnCmVpnCpeTable", ("docsl2vpncmvpncpetable", DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable)), ("docsL2vpnVpnCmCpeTable", ("docsl2vpnvpncmcpetable", DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable)), ("docsL2vpnDot1qTpFdbExtTable", ("docsl2vpndot1qtpfdbexttable", DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable)), ("docsL2vpnDot1qTpGroupExtTable", ("docsl2vpndot1qtpgroupexttable", DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable))])
        self._leafs = OrderedDict()

        self.docsl2vpnidtoindextable = DOCSL2VPNMIB.DocsL2vpnIdToIndexTable()
        self.docsl2vpnidtoindextable.parent = self
        self._children_name_map["docsl2vpnidtoindextable"] = "docsL2vpnIdToIndexTable"

        self.docsl2vpnindextoidtable = DOCSL2VPNMIB.DocsL2vpnIndexToIdTable()
        self.docsl2vpnindextoidtable.parent = self
        self._children_name_map["docsl2vpnindextoidtable"] = "docsL2vpnIndexToIdTable"

        self.docsl2vpncmtable = DOCSL2VPNMIB.DocsL2vpnCmTable()
        self.docsl2vpncmtable.parent = self
        self._children_name_map["docsl2vpncmtable"] = "docsL2vpnCmTable"

        self.docsl2vpnvpncmtable = DOCSL2VPNMIB.DocsL2vpnVpnCmTable()
        self.docsl2vpnvpncmtable.parent = self
        self._children_name_map["docsl2vpnvpncmtable"] = "docsL2vpnVpnCmTable"

        self.docsl2vpnvpncmstatstable = DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable()
        self.docsl2vpnvpncmstatstable.parent = self
        self._children_name_map["docsl2vpnvpncmstatstable"] = "docsL2vpnVpnCmStatsTable"

        self.docsl2vpnportstatustable = DOCSL2VPNMIB.DocsL2vpnPortStatusTable()
        self.docsl2vpnportstatustable.parent = self
        self._children_name_map["docsl2vpnportstatustable"] = "docsL2vpnPortStatusTable"

        self.docsl2vpnsfstatustable = DOCSL2VPNMIB.DocsL2vpnSfStatusTable()
        self.docsl2vpnsfstatustable.parent = self
        self._children_name_map["docsl2vpnsfstatustable"] = "docsL2vpnSfStatusTable"

        self.docsl2vpnpktclasstable = DOCSL2VPNMIB.DocsL2vpnPktClassTable()
        self.docsl2vpnpktclasstable.parent = self
        self._children_name_map["docsl2vpnpktclasstable"] = "docsL2vpnPktClassTable"

        self.docsl2vpncmnsitable = DOCSL2VPNMIB.DocsL2vpnCmNsiTable()
        self.docsl2vpncmnsitable.parent = self
        self._children_name_map["docsl2vpncmnsitable"] = "docsL2vpnCmNsiTable"

        self.docsl2vpncmvpncpetable = DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable()
        self.docsl2vpncmvpncpetable.parent = self
        self._children_name_map["docsl2vpncmvpncpetable"] = "docsL2vpnCmVpnCpeTable"

        self.docsl2vpnvpncmcpetable = DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable()
        self.docsl2vpnvpncmcpetable.parent = self
        self._children_name_map["docsl2vpnvpncmcpetable"] = "docsL2vpnVpnCmCpeTable"

        self.docsl2vpndot1qtpfdbexttable = DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable()
        self.docsl2vpndot1qtpfdbexttable.parent = self
        self._children_name_map["docsl2vpndot1qtpfdbexttable"] = "docsL2vpnDot1qTpFdbExtTable"

        self.docsl2vpndot1qtpgroupexttable = DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable()
        self.docsl2vpndot1qtpgroupexttable.parent = self
        self._children_name_map["docsl2vpndot1qtpgroupexttable"] = "docsL2vpnDot1qTpGroupExtTable"
        self._segment_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB"
        self._is_frozen = True

    def __setattr__(self, name, value):
        self._perform_setattr(DOCSL2VPNMIB, [], name, value)


    class DocsL2vpnIdToIndexTable(Entity):
        """
        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.
        
        .. attribute:: docsl2vpnidtoindexentry
        
        	Maps a DocsL2vpnIdentifier octet string into the local   agent's locally assigned docsL2vpnIdx value
        	**type**\: list of  		 :py:class:`DocsL2vpnIdToIndexEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIdToIndexTable.DocsL2vpnIdToIndexEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnIdToIndexTable, self).__init__()

            self.yang_name = "docsL2vpnIdToIndexTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnIdToIndexEntry", ("docsl2vpnidtoindexentry", DOCSL2VPNMIB.DocsL2vpnIdToIndexTable.DocsL2vpnIdToIndexEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnidtoindexentry = YList(self)
            self._segment_path = lambda: "docsL2vpnIdToIndexTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnIdToIndexTable, [], name, value)


        class DocsL2vpnIdToIndexEntry(Entity):
            """
            Maps a DocsL2vpnIdentifier octet string into the local  
            agent's locally assigned docsL2vpnIdx value.
            
            .. attribute:: docsl2vpnid  (key)
            
            	An externally configured octet string that identifies an  L2VPN
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpnidtoindexidx
            
            	An internally assigned index value for a known L2VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnIdToIndexTable.DocsL2vpnIdToIndexEntry, self).__init__()

                self.yang_name = "docsL2vpnIdToIndexEntry"
                self.yang_parent_name = "docsL2vpnIdToIndexTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsl2vpnid']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsl2vpnid', (YLeaf(YType.str, 'docsL2vpnId'), ['str'])),
                    ('docsl2vpnidtoindexidx', (YLeaf(YType.uint32, 'docsL2vpnIdToIndexIdx'), ['int'])),
                ])
                self.docsl2vpnid = None
                self.docsl2vpnidtoindexidx = None
                self._segment_path = lambda: "docsL2vpnIdToIndexEntry" + "[docsL2vpnId='" + str(self.docsl2vpnid) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnIdToIndexTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnIdToIndexTable.DocsL2vpnIdToIndexEntry, ['docsl2vpnid', 'docsl2vpnidtoindexidx'], name, value)




    class DocsL2vpnIndexToIdTable(Entity):
        """
        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.
        
        .. attribute:: docsl2vpnindextoidentry
        
        	Provides the L2VPN Identifier for each locally\-assigned   L2vpn Index
        	**type**\: list of  		 :py:class:`DocsL2vpnIndexToIdEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnIndexToIdTable, self).__init__()

            self.yang_name = "docsL2vpnIndexToIdTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnIndexToIdEntry", ("docsl2vpnindextoidentry", DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnindextoidentry = YList(self)
            self._segment_path = lambda: "docsL2vpnIndexToIdTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnIndexToIdTable, [], name, value)


        class DocsL2vpnIndexToIdEntry(Entity):
            """
            Provides the L2VPN Identifier for each locally\-assigned  
            L2vpn Index.
            
            .. attribute:: docsl2vpnidx  (key)
            
            	An internally assigned index value for a known L2VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpnindextoidid
            
            	An administered octet string that externally identifies an  L2VPN
            	**type**\: str
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry, self).__init__()

                self.yang_name = "docsL2vpnIndexToIdEntry"
                self.yang_parent_name = "docsL2vpnIndexToIdTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsl2vpnidx']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsl2vpnidx', (YLeaf(YType.uint32, 'docsL2vpnIdx'), ['int'])),
                    ('docsl2vpnindextoidid', (YLeaf(YType.str, 'docsL2vpnIndexToIdId'), ['str'])),
                ])
                self.docsl2vpnidx = None
                self.docsl2vpnindextoidid = None
                self._segment_path = lambda: "docsL2vpnIndexToIdEntry" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnIndexToIdTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry, ['docsl2vpnidx', 'docsl2vpnindextoidid'], name, value)




    class DocsL2vpnCmTable(Entity):
        """
        This table describes L2VPN per\-CM information that 
        is in common with all L2VPNs for the CM, regardless 
        of forwarding mode.
        
        .. attribute:: docsl2vpncmentry
        
        	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
        	**type**\: list of  		 :py:class:`DocsL2vpnCmEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnCmTable.DocsL2vpnCmEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnCmTable, self).__init__()

            self.yang_name = "docsL2vpnCmTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnCmEntry", ("docsl2vpncmentry", DOCSL2VPNMIB.DocsL2vpnCmTable.DocsL2vpnCmEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpncmentry = YList(self)
            self._segment_path = lambda: "docsL2vpnCmTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnCmTable, [], name, value)


        class DocsL2vpnCmEntry(Entity):
            """
            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.
            
            .. attribute:: docsifcmtscmstatusindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`docsifcmtscmstatusindex <ydk.models.cisco_ios_xe.DOCS_IF_MIB.DOCSIFMIB.DocsIfCmtsCmStatusTable.DocsIfCmtsCmStatusEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmcompliantcapability
            
            	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)
            	**type**\: bool
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmdutfilteringcapability
            
            	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)
            	**type**\: bool
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmdutcmim
            
            	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
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmdhcpsnooping
            
            	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
            	**type**\:  :py:class:`DocsL2vpnIfList <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DocsL2vpnIfList>`
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnCmTable.DocsL2vpnCmEntry, self).__init__()

                self.yang_name = "docsL2vpnCmEntry"
                self.yang_parent_name = "docsL2vpnCmTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsifcmtscmstatusindex']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsifcmtscmstatusindex', (YLeaf(YType.str, 'docsIfCmtsCmStatusIndex'), ['int'])),
                    ('docsl2vpncmcompliantcapability', (YLeaf(YType.boolean, 'docsL2vpnCmCompliantCapability'), ['bool'])),
                    ('docsl2vpncmdutfilteringcapability', (YLeaf(YType.boolean, 'docsL2vpnCmDutFilteringCapability'), ['bool'])),
                    ('docsl2vpncmdutcmim', (YLeaf(YType.str, 'docsL2vpnCmDutCMIM'), ['str'])),
                    ('docsl2vpncmdhcpsnooping', (YLeaf(YType.bits, 'docsL2vpnCmDhcpSnooping'), ['Bits'])),
                ])
                self.docsifcmtscmstatusindex = None
                self.docsl2vpncmcompliantcapability = None
                self.docsl2vpncmdutfilteringcapability = None
                self.docsl2vpncmdutcmim = None
                self.docsl2vpncmdhcpsnooping = Bits()
                self._segment_path = lambda: "docsL2vpnCmEntry" + "[docsIfCmtsCmStatusIndex='" + str(self.docsifcmtscmstatusindex) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnCmTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnCmTable.DocsL2vpnCmEntry, ['docsifcmtscmstatusindex', 'docsl2vpncmcompliantcapability', 'docsl2vpncmdutfilteringcapability', 'docsl2vpncmdutcmim', 'docsl2vpncmdhcpsnooping'], name, value)




    class DocsL2vpnVpnCmTable(Entity):
        """
        This table describes the operation of L2VPN forwarding 
        on each CM.
        
        .. attribute:: docsl2vpnvpncmentry
        
        	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
        	**type**\: list of  		 :py:class:`DocsL2vpnVpnCmEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnVpnCmTable.DocsL2vpnVpnCmEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnVpnCmTable, self).__init__()

            self.yang_name = "docsL2vpnVpnCmTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnVpnCmEntry", ("docsl2vpnvpncmentry", DOCSL2VPNMIB.DocsL2vpnVpnCmTable.DocsL2vpnVpnCmEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnvpncmentry = YList(self)
            self._segment_path = lambda: "docsL2vpnVpnCmTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnVpnCmTable, [], name, value)


        class DocsL2vpnVpnCmEntry(Entity):
            """
            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.
            
            .. attribute:: docsl2vpnidx  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`docsl2vpnidx <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
            
            	**config**\: False
            
            .. attribute:: docsifcmtscmstatusindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`docsifcmtscmstatusindex <ydk.models.cisco_ios_xe.DOCS_IF_MIB.DOCSIFMIB.DocsIfCmtsCmStatusTable.DocsIfCmtsCmStatusEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmcmim
            
            	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
            	**type**\:  :py:class:`DocsL2vpnIfList <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DocsL2vpnIfList>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmindividualsaid
            
            	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
            	**type**\: int
            
            	**range:** 0..16383
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmvendorspecific
            
            	This object encodes the concatenation of all Vendor   Specific Subtype encodings that appeared in any   registration per\-CM L2VPN Encoding associated with this   entry
            	**type**\: str
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnVpnCmTable.DocsL2vpnVpnCmEntry, self).__init__()

                self.yang_name = "docsL2vpnVpnCmEntry"
                self.yang_parent_name = "docsL2vpnVpnCmTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsl2vpnidx','docsifcmtscmstatusindex']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsl2vpnidx', (YLeaf(YType.str, 'docsL2vpnIdx'), ['int'])),
                    ('docsifcmtscmstatusindex', (YLeaf(YType.str, 'docsIfCmtsCmStatusIndex'), ['int'])),
                    ('docsl2vpnvpncmcmim', (YLeaf(YType.bits, 'docsL2vpnVpnCmCMIM'), ['Bits'])),
                    ('docsl2vpnvpncmindividualsaid', (YLeaf(YType.int32, 'docsL2vpnVpnCmIndividualSAId'), ['int'])),
                    ('docsl2vpnvpncmvendorspecific', (YLeaf(YType.str, 'docsL2vpnVpnCmVendorSpecific'), ['str'])),
                ])
                self.docsl2vpnidx = None
                self.docsifcmtscmstatusindex = None
                self.docsl2vpnvpncmcmim = Bits()
                self.docsl2vpnvpncmindividualsaid = None
                self.docsl2vpnvpncmvendorspecific = None
                self._segment_path = lambda: "docsL2vpnVpnCmEntry" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']" + "[docsIfCmtsCmStatusIndex='" + str(self.docsifcmtscmstatusindex) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnVpnCmTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnVpnCmTable.DocsL2vpnVpnCmEntry, ['docsl2vpnidx', 'docsifcmtscmstatusindex', 'docsl2vpnvpncmcmim', 'docsl2vpnvpncmindividualsaid', 'docsl2vpnvpncmvendorspecific'], name, value)




    class DocsL2vpnVpnCmStatsTable(Entity):
        """
        This table contains statistics for forwarding of  
        packets to and from a CM on each VPN.
        
        .. attribute:: docsl2vpnvpncmstatsentry
        
        	An entry is indexed by VPN ID and Cable Modem Index
        	**type**\: list of  		 :py:class:`DocsL2vpnVpnCmStatsEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable.DocsL2vpnVpnCmStatsEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable, self).__init__()

            self.yang_name = "docsL2vpnVpnCmStatsTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnVpnCmStatsEntry", ("docsl2vpnvpncmstatsentry", DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable.DocsL2vpnVpnCmStatsEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnvpncmstatsentry = YList(self)
            self._segment_path = lambda: "docsL2vpnVpnCmStatsTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable, [], name, value)


        class DocsL2vpnVpnCmStatsEntry(Entity):
            """
            An entry is indexed by VPN ID and Cable Modem Index.
            
            .. attribute:: docsl2vpnidx  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`docsl2vpnidx <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
            
            	**config**\: False
            
            .. attribute:: docsifcmtscmstatusindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`docsifcmtscmstatusindex <ydk.models.cisco_ios_xe.DOCS_IF_MIB.DOCSIFMIB.DocsIfCmtsCmStatusTable.DocsIfCmtsCmStatusEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmstatsupstreampkts
            
            	The number of L2vpn\-forwarded packets received  from this instance's Cable Modem on  this instance's L2VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmstatsupstreambytes
            
            	The number of L2vpn\-forwarded bytes received  from this instance's Cable Modem on  this instance's L2VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmstatsupstreamdiscards
            
            	The number of L2\-forwarded packets   discarded from this instance's   Cable Modem on this instance's VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmstatsdownstreampkts
            
            	The number of L2\-forwarded packets  transmitted to this instance's  Cable Modem on this instance's VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmstatsdownstreambytes
            
            	The number of L2\-forwarded bytes  transmitted to this instance's  Cable Modem on this instance's VPN
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmstatsdownstreamdiscards
            
            	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
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable.DocsL2vpnVpnCmStatsEntry, self).__init__()

                self.yang_name = "docsL2vpnVpnCmStatsEntry"
                self.yang_parent_name = "docsL2vpnVpnCmStatsTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsl2vpnidx','docsifcmtscmstatusindex']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsl2vpnidx', (YLeaf(YType.str, 'docsL2vpnIdx'), ['int'])),
                    ('docsifcmtscmstatusindex', (YLeaf(YType.str, 'docsIfCmtsCmStatusIndex'), ['int'])),
                    ('docsl2vpnvpncmstatsupstreampkts', (YLeaf(YType.uint32, 'docsL2vpnVpnCmStatsUpstreamPkts'), ['int'])),
                    ('docsl2vpnvpncmstatsupstreambytes', (YLeaf(YType.uint32, 'docsL2vpnVpnCmStatsUpstreamBytes'), ['int'])),
                    ('docsl2vpnvpncmstatsupstreamdiscards', (YLeaf(YType.uint32, 'docsL2vpnVpnCmStatsUpstreamDiscards'), ['int'])),
                    ('docsl2vpnvpncmstatsdownstreampkts', (YLeaf(YType.uint32, 'docsL2vpnVpnCmStatsDownstreamPkts'), ['int'])),
                    ('docsl2vpnvpncmstatsdownstreambytes', (YLeaf(YType.uint32, 'docsL2vpnVpnCmStatsDownstreamBytes'), ['int'])),
                    ('docsl2vpnvpncmstatsdownstreamdiscards', (YLeaf(YType.uint32, 'docsL2vpnVpnCmStatsDownstreamDiscards'), ['int'])),
                ])
                self.docsl2vpnidx = None
                self.docsifcmtscmstatusindex = None
                self.docsl2vpnvpncmstatsupstreampkts = None
                self.docsl2vpnvpncmstatsupstreambytes = None
                self.docsl2vpnvpncmstatsupstreamdiscards = None
                self.docsl2vpnvpncmstatsdownstreampkts = None
                self.docsl2vpnvpncmstatsdownstreambytes = None
                self.docsl2vpnvpncmstatsdownstreamdiscards = None
                self._segment_path = lambda: "docsL2vpnVpnCmStatsEntry" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']" + "[docsIfCmtsCmStatusIndex='" + str(self.docsifcmtscmstatusindex) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnVpnCmStatsTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnVpnCmStatsTable.DocsL2vpnVpnCmStatsEntry, ['docsl2vpnidx', 'docsifcmtscmstatusindex', 'docsl2vpnvpncmstatsupstreampkts', 'docsl2vpnvpncmstatsupstreambytes', 'docsl2vpnvpncmstatsupstreamdiscards', 'docsl2vpnvpncmstatsdownstreampkts', 'docsl2vpnvpncmstatsdownstreambytes', 'docsl2vpnvpncmstatsdownstreamdiscards'], name, value)




    class DocsL2vpnPortStatusTable(Entity):
        """
        This table displays summary information for the 
        run\-time state of each VPN that is currently operating  
        on each bridge port.
        
        .. attribute:: docsl2vpnportstatusentry
        
        	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
        	**type**\: list of  		 :py:class:`DocsL2vpnPortStatusEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnPortStatusTable.DocsL2vpnPortStatusEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnPortStatusTable, self).__init__()

            self.yang_name = "docsL2vpnPortStatusTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnPortStatusEntry", ("docsl2vpnportstatusentry", DOCSL2VPNMIB.DocsL2vpnPortStatusTable.DocsL2vpnPortStatusEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnportstatusentry = YList(self)
            self._segment_path = lambda: "docsL2vpnPortStatusTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnPortStatusTable, [], name, value)


        class DocsL2vpnPortStatusEntry(Entity):
            """
            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.
            
            .. attribute:: dot1dbaseport  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..65535
            
            	**refers to**\:  :py:class:`dot1dbaseport <ydk.models.cisco_ios_xe.BRIDGE_MIB.BRIDGEMIB.Dot1dBasePortTable.Dot1dBasePortEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnidx  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`docsl2vpnidx <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnportstatusgroupsaid
            
            	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'
            	**type**\: int
            
            	**range:** 0..16383
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnPortStatusTable.DocsL2vpnPortStatusEntry, self).__init__()

                self.yang_name = "docsL2vpnPortStatusEntry"
                self.yang_parent_name = "docsL2vpnPortStatusTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['dot1dbaseport','docsl2vpnidx']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('dot1dbaseport', (YLeaf(YType.str, 'dot1dBasePort'), ['int'])),
                    ('docsl2vpnidx', (YLeaf(YType.str, 'docsL2vpnIdx'), ['int'])),
                    ('docsl2vpnportstatusgroupsaid', (YLeaf(YType.int32, 'docsL2vpnPortStatusGroupSAId'), ['int'])),
                ])
                self.dot1dbaseport = None
                self.docsl2vpnidx = None
                self.docsl2vpnportstatusgroupsaid = None
                self._segment_path = lambda: "docsL2vpnPortStatusEntry" + "[dot1dBasePort='" + str(self.dot1dbaseport) + "']" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnPortStatusTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnPortStatusTable.DocsL2vpnPortStatusEntry, ['dot1dbaseport', 'docsl2vpnidx', 'docsl2vpnportstatusgroupsaid'], name, value)




    class DocsL2vpnSfStatusTable(Entity):
        """
        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.
        
        .. attribute:: docsl2vpnsfstatusentry
        
        	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)
        	**type**\: list of  		 :py:class:`DocsL2vpnSfStatusEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnSfStatusTable.DocsL2vpnSfStatusEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnSfStatusTable, self).__init__()

            self.yang_name = "docsL2vpnSfStatusTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnSfStatusEntry", ("docsl2vpnsfstatusentry", DOCSL2VPNMIB.DocsL2vpnSfStatusTable.DocsL2vpnSfStatusEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnsfstatusentry = YList(self)
            self._segment_path = lambda: "docsL2vpnSfStatusTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnSfStatusTable, [], name, value)


        class DocsL2vpnSfStatusEntry(Entity):
            """
            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).
            
            .. attribute:: ifindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`ifindex <ydk.models.cisco_ios_xe.IF_MIB.IFMIB.IfTable.IfEntry>`
            
            	**config**\: False
            
            .. attribute:: docsqosserviceflowid  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..4294967295
            
            	**refers to**\:  :py:class:`docsqosserviceflowid <ydk.models.cisco_ios_xe.DOCS_QOS_MIB.DOCSQOSMIB.DocsQosServiceFlowTable.DocsQosServiceFlowEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnsfstatusl2vpnid
            
            	This object represents the value of the L2VPN Identifier  subtype of a per\-SF L2VPN Encoding
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpnsfstatusingressuserpriority
            
            	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
            	**type**\: int
            
            	**range:** 0..7
            
            	**config**\: False
            
            .. attribute:: docsl2vpnsfstatusvendorspecific
            
            	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
            	**type**\: str
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnSfStatusTable.DocsL2vpnSfStatusEntry, self).__init__()

                self.yang_name = "docsL2vpnSfStatusEntry"
                self.yang_parent_name = "docsL2vpnSfStatusTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['ifindex','docsqosserviceflowid']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('ifindex', (YLeaf(YType.str, 'ifIndex'), ['int'])),
                    ('docsqosserviceflowid', (YLeaf(YType.str, 'docsQosServiceFlowId'), ['int'])),
                    ('docsl2vpnsfstatusl2vpnid', (YLeaf(YType.str, 'docsL2vpnSfStatusL2vpnId'), ['str'])),
                    ('docsl2vpnsfstatusingressuserpriority', (YLeaf(YType.uint32, 'docsL2vpnSfStatusIngressUserPriority'), ['int'])),
                    ('docsl2vpnsfstatusvendorspecific', (YLeaf(YType.str, 'docsL2vpnSfStatusVendorSpecific'), ['str'])),
                ])
                self.ifindex = None
                self.docsqosserviceflowid = None
                self.docsl2vpnsfstatusl2vpnid = None
                self.docsl2vpnsfstatusingressuserpriority = None
                self.docsl2vpnsfstatusvendorspecific = None
                self._segment_path = lambda: "docsL2vpnSfStatusEntry" + "[ifIndex='" + str(self.ifindex) + "']" + "[docsQosServiceFlowId='" + str(self.docsqosserviceflowid) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnSfStatusTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnSfStatusTable.DocsL2vpnSfStatusEntry, ['ifindex', 'docsqosserviceflowid', 'docsl2vpnsfstatusl2vpnid', 'docsl2vpnsfstatusingressuserpriority', 'docsl2vpnsfstatusvendorspecific'], name, value)




    class DocsL2vpnPktClassTable(Entity):
        """
        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.
        
        .. attribute:: docsl2vpnpktclassentry
        
        	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)
        	**type**\: list of  		 :py:class:`DocsL2vpnPktClassEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnPktClassTable.DocsL2vpnPktClassEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnPktClassTable, self).__init__()

            self.yang_name = "docsL2vpnPktClassTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnPktClassEntry", ("docsl2vpnpktclassentry", DOCSL2VPNMIB.DocsL2vpnPktClassTable.DocsL2vpnPktClassEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnpktclassentry = YList(self)
            self._segment_path = lambda: "docsL2vpnPktClassTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnPktClassTable, [], name, value)


        class DocsL2vpnPktClassEntry(Entity):
            """
            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).
            
            .. attribute:: ifindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`ifindex <ydk.models.cisco_ios_xe.IF_MIB.IFMIB.IfTable.IfEntry>`
            
            	**config**\: False
            
            .. attribute:: docsqosserviceflowid  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..4294967295
            
            	**refers to**\:  :py:class:`docsqosserviceflowid <ydk.models.cisco_ios_xe.DOCS_QOS_MIB.DOCSQOSMIB.DocsQosServiceFlowTable.DocsQosServiceFlowEntry>`
            
            	**config**\: False
            
            .. attribute:: docsqospktclassid  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..65535
            
            	**refers to**\:  :py:class:`docsqospktclassid <ydk.models.cisco_ios_xe.DOCS_QOS_MIB.DOCSQOSMIB.DocsQosPktClassTable.DocsQosPktClassEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnpktclassl2vpnid
            
            	The locally assigned L2VPN index corresponding to the VPN  Identifier subtype of a Downstream Classifier L2VPN   Encoding
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpnpktclassuserprirangelow
            
            	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
            	**type**\: int
            
            	**range:** 0..7
            
            	**config**\: False
            
            .. attribute:: docsl2vpnpktclassuserprirangehigh
            
            	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
            	**type**\: int
            
            	**range:** 0..7
            
            	**config**\: False
            
            .. attribute:: docsl2vpnpktclasscmim
            
            	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
            	**type**\:  :py:class:`DocsL2vpnIfList <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DocsL2vpnIfList>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnpktclassvendorspecific
            
            	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
            	**type**\: str
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnPktClassTable.DocsL2vpnPktClassEntry, self).__init__()

                self.yang_name = "docsL2vpnPktClassEntry"
                self.yang_parent_name = "docsL2vpnPktClassTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['ifindex','docsqosserviceflowid','docsqospktclassid']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('ifindex', (YLeaf(YType.str, 'ifIndex'), ['int'])),
                    ('docsqosserviceflowid', (YLeaf(YType.str, 'docsQosServiceFlowId'), ['int'])),
                    ('docsqospktclassid', (YLeaf(YType.str, 'docsQosPktClassId'), ['int'])),
                    ('docsl2vpnpktclassl2vpnid', (YLeaf(YType.str, 'docsL2vpnPktClassL2vpnId'), ['str'])),
                    ('docsl2vpnpktclassuserprirangelow', (YLeaf(YType.uint32, 'docsL2vpnPktClassUserPriRangeLow'), ['int'])),
                    ('docsl2vpnpktclassuserprirangehigh', (YLeaf(YType.uint32, 'docsL2vpnPktClassUserPriRangeHigh'), ['int'])),
                    ('docsl2vpnpktclasscmim', (YLeaf(YType.bits, 'docsL2vpnPktClassCMIM'), ['Bits'])),
                    ('docsl2vpnpktclassvendorspecific', (YLeaf(YType.str, 'docsL2vpnPktClassVendorSpecific'), ['str'])),
                ])
                self.ifindex = None
                self.docsqosserviceflowid = None
                self.docsqospktclassid = None
                self.docsl2vpnpktclassl2vpnid = None
                self.docsl2vpnpktclassuserprirangelow = None
                self.docsl2vpnpktclassuserprirangehigh = None
                self.docsl2vpnpktclasscmim = Bits()
                self.docsl2vpnpktclassvendorspecific = None
                self._segment_path = lambda: "docsL2vpnPktClassEntry" + "[ifIndex='" + str(self.ifindex) + "']" + "[docsQosServiceFlowId='" + str(self.docsqosserviceflowid) + "']" + "[docsQosPktClassId='" + str(self.docsqospktclassid) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnPktClassTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnPktClassTable.DocsL2vpnPktClassEntry, ['ifindex', 'docsqosserviceflowid', 'docsqospktclassid', 'docsl2vpnpktclassl2vpnid', 'docsl2vpnpktclassuserprirangelow', 'docsl2vpnpktclassuserprirangehigh', 'docsl2vpnpktclasscmim', 'docsl2vpnpktclassvendorspecific'], name, value)




    class DocsL2vpnCmNsiTable(Entity):
        """
        This table describes the NSI configuration for a single 
        CM when operating in point\-to\-point forwarding mode for an 
        L2VPN.
        
        .. attribute:: docsl2vpncmnsientry
        
        	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
        	**type**\: list of  		 :py:class:`DocsL2vpnCmNsiEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnCmNsiTable.DocsL2vpnCmNsiEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnCmNsiTable, self).__init__()

            self.yang_name = "docsL2vpnCmNsiTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnCmNsiEntry", ("docsl2vpncmnsientry", DOCSL2VPNMIB.DocsL2vpnCmNsiTable.DocsL2vpnCmNsiEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpncmnsientry = YList(self)
            self._segment_path = lambda: "docsL2vpnCmNsiTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnCmNsiTable, [], name, value)


        class DocsL2vpnCmNsiEntry(Entity):
            """
            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.
            
            .. attribute:: docsl2vpnidx  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`docsl2vpnidx <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
            
            	**config**\: False
            
            .. attribute:: docsifcmtscmstatusindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`docsifcmtscmstatusindex <ydk.models.cisco_ios_xe.DOCS_IF_MIB.DOCSIFMIB.DocsIfCmtsCmStatusTable.DocsIfCmtsCmStatusEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmnsiencapsubtype
            
            	The General Encapsulation Information (GEI) subtype of the  Network System Interface (NSI) encapsulation configured  for the CM
            	**type**\:  :py:class:`DocsNsiEncapSubtype <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DocsNsiEncapSubtype>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmnsiencapvalue
            
            	The encapsulation value for L2VPN forwarded packets on NSI  ports
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmnsiagi
            
            	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
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmnsisaii
            
            	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
            	**type**\: str
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmnsitaii
            
            	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
            	**type**\: str
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnCmNsiTable.DocsL2vpnCmNsiEntry, self).__init__()

                self.yang_name = "docsL2vpnCmNsiEntry"
                self.yang_parent_name = "docsL2vpnCmNsiTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsl2vpnidx','docsifcmtscmstatusindex']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsl2vpnidx', (YLeaf(YType.str, 'docsL2vpnIdx'), ['int'])),
                    ('docsifcmtscmstatusindex', (YLeaf(YType.str, 'docsIfCmtsCmStatusIndex'), ['int'])),
                    ('docsl2vpncmnsiencapsubtype', (YLeaf(YType.enumeration, 'docsL2vpnCmNsiEncapSubtype'), [('ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB', 'DocsNsiEncapSubtype', '')])),
                    ('docsl2vpncmnsiencapvalue', (YLeaf(YType.str, 'docsL2vpnCmNsiEncapValue'), ['str'])),
                    ('docsl2vpncmnsiagi', (YLeaf(YType.str, 'docsL2vpnCmNsiAGI'), ['str'])),
                    ('docsl2vpncmnsisaii', (YLeaf(YType.str, 'docsL2vpnCmNsiSAII'), ['str'])),
                    ('docsl2vpncmnsitaii', (YLeaf(YType.str, 'docsL2vpnCmNsiTAII'), ['str'])),
                ])
                self.docsl2vpnidx = None
                self.docsifcmtscmstatusindex = None
                self.docsl2vpncmnsiencapsubtype = None
                self.docsl2vpncmnsiencapvalue = None
                self.docsl2vpncmnsiagi = None
                self.docsl2vpncmnsisaii = None
                self.docsl2vpncmnsitaii = None
                self._segment_path = lambda: "docsL2vpnCmNsiEntry" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']" + "[docsIfCmtsCmStatusIndex='" + str(self.docsifcmtscmstatusindex) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnCmNsiTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnCmNsiTable.DocsL2vpnCmNsiEntry, ['docsl2vpnidx', 'docsifcmtscmstatusindex', 'docsl2vpncmnsiencapsubtype', 'docsl2vpncmnsiencapvalue', 'docsl2vpncmnsiagi', 'docsl2vpncmnsisaii', 'docsl2vpncmnsitaii'], name, value)




    class DocsL2vpnCmVpnCpeTable(Entity):
        """
        This table is a list of CPEs, indexed by the VPNs on a  
        Cable Modem.
        
        .. attribute:: docsl2vpncmvpncpeentry
        
        	This table is a list of CPEs, indexed by the VPNs on a   Cable Modem
        	**type**\: list of  		 :py:class:`DocsL2vpnCmVpnCpeEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable.DocsL2vpnCmVpnCpeEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable, self).__init__()

            self.yang_name = "docsL2vpnCmVpnCpeTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnCmVpnCpeEntry", ("docsl2vpncmvpncpeentry", DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable.DocsL2vpnCmVpnCpeEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpncmvpncpeentry = YList(self)
            self._segment_path = lambda: "docsL2vpnCmVpnCpeTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable, [], name, value)


        class DocsL2vpnCmVpnCpeEntry(Entity):
            """
            This table is a list of CPEs, indexed by the VPNs on a  
            Cable Modem.
            
            .. attribute:: docsifcmtscmstatusindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`docsifcmtscmstatusindex <ydk.models.cisco_ios_xe.DOCS_IF_MIB.DOCSIFMIB.DocsIfCmtsCmStatusTable.DocsIfCmtsCmStatusEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnidx  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`docsl2vpnidx <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpncmvpncpemacaddress  (key)
            
            	The Customer Premise Equipment (CPE) Mac Address  that is attached to this instances Cable Modem  and bridging on this instance's VPN Id
            	**type**\: str
            
            	**pattern:** [0\-9a\-fA\-F]{2}(\:[0\-9a\-fA\-F]{2}){5}
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable.DocsL2vpnCmVpnCpeEntry, self).__init__()

                self.yang_name = "docsL2vpnCmVpnCpeEntry"
                self.yang_parent_name = "docsL2vpnCmVpnCpeTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsifcmtscmstatusindex','docsl2vpnidx','docsl2vpncmvpncpemacaddress']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsifcmtscmstatusindex', (YLeaf(YType.str, 'docsIfCmtsCmStatusIndex'), ['int'])),
                    ('docsl2vpnidx', (YLeaf(YType.str, 'docsL2vpnIdx'), ['int'])),
                    ('docsl2vpncmvpncpemacaddress', (YLeaf(YType.str, 'docsL2vpnCmVpnCpeMacAddress'), ['str'])),
                ])
                self.docsifcmtscmstatusindex = None
                self.docsl2vpnidx = None
                self.docsl2vpncmvpncpemacaddress = None
                self._segment_path = lambda: "docsL2vpnCmVpnCpeEntry" + "[docsIfCmtsCmStatusIndex='" + str(self.docsifcmtscmstatusindex) + "']" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']" + "[docsL2vpnCmVpnCpeMacAddress='" + str(self.docsl2vpncmvpncpemacaddress) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnCmVpnCpeTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnCmVpnCpeTable.DocsL2vpnCmVpnCpeEntry, ['docsifcmtscmstatusindex', 'docsl2vpnidx', 'docsl2vpncmvpncpemacaddress'], name, value)




    class DocsL2vpnVpnCmCpeTable(Entity):
        """
        This table contains a list of bridging CPEs, indexed by 
        L2VPN Index and the corresponding CMs on that VPN.
        
        .. attribute:: docsl2vpnvpncmcpeentry
        
        	This table contains a list of bridging CPEs, indexed by  VPN and the corresponding CMs on that VPN
        	**type**\: list of  		 :py:class:`DocsL2vpnVpnCmCpeEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable.DocsL2vpnVpnCmCpeEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable, self).__init__()

            self.yang_name = "docsL2vpnVpnCmCpeTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnVpnCmCpeEntry", ("docsl2vpnvpncmcpeentry", DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable.DocsL2vpnVpnCmCpeEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpnvpncmcpeentry = YList(self)
            self._segment_path = lambda: "docsL2vpnVpnCmCpeTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable, [], name, value)


        class DocsL2vpnVpnCmCpeEntry(Entity):
            """
            This table contains a list of bridging CPEs, indexed by 
            VPN and the corresponding CMs on that VPN.
            
            .. attribute:: docsl2vpnidx  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`docsl2vpnidx <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnIndexToIdTable.DocsL2vpnIndexToIdEntry>`
            
            	**config**\: False
            
            .. attribute:: docsifcmtscmstatusindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 1..2147483647
            
            	**refers to**\:  :py:class:`docsifcmtscmstatusindex <ydk.models.cisco_ios_xe.DOCS_IF_MIB.DOCSIFMIB.DocsIfCmtsCmStatusTable.DocsIfCmtsCmStatusEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpnvpncmcpemacaddress  (key)
            
            	The Customer Premise Equipment (CPE) Mac Address  that is attached to this instances Cable Modem  and bridging on this instance's L2vpn Index
            	**type**\: str
            
            	**pattern:** [0\-9a\-fA\-F]{2}(\:[0\-9a\-fA\-F]{2}){5}
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable.DocsL2vpnVpnCmCpeEntry, self).__init__()

                self.yang_name = "docsL2vpnVpnCmCpeEntry"
                self.yang_parent_name = "docsL2vpnVpnCmCpeTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['docsl2vpnidx','docsifcmtscmstatusindex','docsl2vpnvpncmcpemacaddress']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('docsl2vpnidx', (YLeaf(YType.str, 'docsL2vpnIdx'), ['int'])),
                    ('docsifcmtscmstatusindex', (YLeaf(YType.str, 'docsIfCmtsCmStatusIndex'), ['int'])),
                    ('docsl2vpnvpncmcpemacaddress', (YLeaf(YType.str, 'docsL2vpnVpnCmCpeMacAddress'), ['str'])),
                ])
                self.docsl2vpnidx = None
                self.docsifcmtscmstatusindex = None
                self.docsl2vpnvpncmcpemacaddress = None
                self._segment_path = lambda: "docsL2vpnVpnCmCpeEntry" + "[docsL2vpnIdx='" + str(self.docsl2vpnidx) + "']" + "[docsIfCmtsCmStatusIndex='" + str(self.docsifcmtscmstatusindex) + "']" + "[docsL2vpnVpnCmCpeMacAddress='" + str(self.docsl2vpnvpncmcpemacaddress) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnVpnCmCpeTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnVpnCmCpeTable.DocsL2vpnVpnCmCpeEntry, ['docsl2vpnidx', 'docsifcmtscmstatusindex', 'docsl2vpnvpncmcpemacaddress'], name, value)




    class DocsL2vpnDot1qTpFdbExtTable(Entity):
        """
        This table contains packet counters for  
        Unicast MAC Addresses within a VPN.
        
        .. attribute:: docsl2vpndot1qtpfdbextentry
        
        	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
        	**type**\: list of  		 :py:class:`DocsL2vpnDot1qTpFdbExtEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable.DocsL2vpnDot1qTpFdbExtEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable, self).__init__()

            self.yang_name = "docsL2vpnDot1qTpFdbExtTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnDot1qTpFdbExtEntry", ("docsl2vpndot1qtpfdbextentry", DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable.DocsL2vpnDot1qTpFdbExtEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpndot1qtpfdbextentry = YList(self)
            self._segment_path = lambda: "docsL2vpnDot1qTpFdbExtTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable, [], name, value)


        class DocsL2vpnDot1qTpFdbExtEntry(Entity):
            """
            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.
            
            .. attribute:: dot1qfdbid  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`dot1qfdbid <ydk.models.cisco_ios_xe.Q_BRIDGE_MIB.QBRIDGEMIB.Dot1qFdbTable.Dot1qFdbEntry>`
            
            	**config**\: False
            
            .. attribute:: dot1qtpfdbaddress  (key)
            
            	
            	**type**\: str
            
            	**pattern:** [0\-9a\-fA\-F]{2}(\:[0\-9a\-fA\-F]{2}){5}
            
            	**refers to**\:  :py:class:`dot1qtpfdbaddress <ydk.models.cisco_ios_xe.Q_BRIDGE_MIB.QBRIDGEMIB.Dot1qTpFdbTable.Dot1qTpFdbEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpndot1qtpfdbexttransmitpkts
            
            	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
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpndot1qtpfdbextreceivepkts
            
            	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
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable.DocsL2vpnDot1qTpFdbExtEntry, self).__init__()

                self.yang_name = "docsL2vpnDot1qTpFdbExtEntry"
                self.yang_parent_name = "docsL2vpnDot1qTpFdbExtTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['dot1qfdbid','dot1qtpfdbaddress']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('dot1qfdbid', (YLeaf(YType.str, 'dot1qFdbId'), ['int'])),
                    ('dot1qtpfdbaddress', (YLeaf(YType.str, 'dot1qTpFdbAddress'), ['str'])),
                    ('docsl2vpndot1qtpfdbexttransmitpkts', (YLeaf(YType.uint32, 'docsL2vpnDot1qTpFdbExtTransmitPkts'), ['int'])),
                    ('docsl2vpndot1qtpfdbextreceivepkts', (YLeaf(YType.uint32, 'docsL2vpnDot1qTpFdbExtReceivePkts'), ['int'])),
                ])
                self.dot1qfdbid = None
                self.dot1qtpfdbaddress = None
                self.docsl2vpndot1qtpfdbexttransmitpkts = None
                self.docsl2vpndot1qtpfdbextreceivepkts = None
                self._segment_path = lambda: "docsL2vpnDot1qTpFdbExtEntry" + "[dot1qFdbId='" + str(self.dot1qfdbid) + "']" + "[dot1qTpFdbAddress='" + str(self.dot1qtpfdbaddress) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnDot1qTpFdbExtTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnDot1qTpFdbExtTable.DocsL2vpnDot1qTpFdbExtEntry, ['dot1qfdbid', 'dot1qtpfdbaddress', 'docsl2vpndot1qtpfdbexttransmitpkts', 'docsl2vpndot1qtpfdbextreceivepkts'], name, value)




    class DocsL2vpnDot1qTpGroupExtTable(Entity):
        """
        This table contains packet counters for  
        Multicast MAC Addresses within a VPN.
        
        .. attribute:: docsl2vpndot1qtpgroupextentry
        
        	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
        	**type**\: list of  		 :py:class:`DocsL2vpnDot1qTpGroupExtEntry <ydk.models.cisco_ios_xe.DOCS_L2VPN_MIB.DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable.DocsL2vpnDot1qTpGroupExtEntry>`
        
        	**config**\: False
        
        

        """

        _prefix = 'DOCS-L2VPN-MIB'
        _revision = '2006-03-28'

        def __init__(self):
            super(DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable, self).__init__()

            self.yang_name = "docsL2vpnDot1qTpGroupExtTable"
            self.yang_parent_name = "DOCS-L2VPN-MIB"
            self.is_top_level_class = False
            self.has_list_ancestor = False
            self.ylist_key_names = []
            self._child_classes = OrderedDict([("docsL2vpnDot1qTpGroupExtEntry", ("docsl2vpndot1qtpgroupextentry", DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable.DocsL2vpnDot1qTpGroupExtEntry))])
            self._leafs = OrderedDict()

            self.docsl2vpndot1qtpgroupextentry = YList(self)
            self._segment_path = lambda: "docsL2vpnDot1qTpGroupExtTable"
            self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/%s" % self._segment_path()
            self._is_frozen = True

        def __setattr__(self, name, value):
            self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable, [], name, value)


        class DocsL2vpnDot1qTpGroupExtEntry(Entity):
            """
            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.
            
            .. attribute:: dot1qvlanindex  (key)
            
            	
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**refers to**\:  :py:class:`dot1qvlanindex <ydk.models.cisco_ios_xe.Q_BRIDGE_MIB.QBRIDGEMIB.Dot1qVlanCurrentTable.Dot1qVlanCurrentEntry>`
            
            	**config**\: False
            
            .. attribute:: dot1qtpgroupaddress  (key)
            
            	
            	**type**\: str
            
            	**pattern:** [0\-9a\-fA\-F]{2}(\:[0\-9a\-fA\-F]{2}){5}
            
            	**refers to**\:  :py:class:`dot1qtpgroupaddress <ydk.models.cisco_ios_xe.Q_BRIDGE_MIB.QBRIDGEMIB.Dot1qTpGroupTable.Dot1qTpGroupEntry>`
            
            	**config**\: False
            
            .. attribute:: docsl2vpndot1qtpgroupexttransmitpkts
            
            	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
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            .. attribute:: docsl2vpndot1qtpgroupextreceivepkts
            
            	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
            	**type**\: int
            
            	**range:** 0..4294967295
            
            	**config**\: False
            
            

            """

            _prefix = 'DOCS-L2VPN-MIB'
            _revision = '2006-03-28'

            def __init__(self):
                super(DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable.DocsL2vpnDot1qTpGroupExtEntry, self).__init__()

                self.yang_name = "docsL2vpnDot1qTpGroupExtEntry"
                self.yang_parent_name = "docsL2vpnDot1qTpGroupExtTable"
                self.is_top_level_class = False
                self.has_list_ancestor = False
                self.ylist_key_names = ['dot1qvlanindex','dot1qtpgroupaddress']
                self._child_classes = OrderedDict([])
                self._leafs = OrderedDict([
                    ('dot1qvlanindex', (YLeaf(YType.str, 'dot1qVlanIndex'), ['int'])),
                    ('dot1qtpgroupaddress', (YLeaf(YType.str, 'dot1qTpGroupAddress'), ['str'])),
                    ('docsl2vpndot1qtpgroupexttransmitpkts', (YLeaf(YType.uint32, 'docsL2vpnDot1qTpGroupExtTransmitPkts'), ['int'])),
                    ('docsl2vpndot1qtpgroupextreceivepkts', (YLeaf(YType.uint32, 'docsL2vpnDot1qTpGroupExtReceivePkts'), ['int'])),
                ])
                self.dot1qvlanindex = None
                self.dot1qtpgroupaddress = None
                self.docsl2vpndot1qtpgroupexttransmitpkts = None
                self.docsl2vpndot1qtpgroupextreceivepkts = None
                self._segment_path = lambda: "docsL2vpnDot1qTpGroupExtEntry" + "[dot1qVlanIndex='" + str(self.dot1qvlanindex) + "']" + "[dot1qTpGroupAddress='" + str(self.dot1qtpgroupaddress) + "']"
                self._absolute_path = lambda: "DOCS-L2VPN-MIB:DOCS-L2VPN-MIB/docsL2vpnDot1qTpGroupExtTable/%s" % self._segment_path()
                self._is_frozen = True

            def __setattr__(self, name, value):
                self._perform_setattr(DOCSL2VPNMIB.DocsL2vpnDot1qTpGroupExtTable.DocsL2vpnDot1qTpGroupExtEntry, ['dot1qvlanindex', 'dot1qtpgroupaddress', 'docsl2vpndot1qtpgroupexttransmitpkts', 'docsl2vpndot1qtpgroupextreceivepkts'], name, value)



    def clone_ptr(self):
        self._top_entity = DOCSL2VPNMIB()
        return self._top_entity



