What is MCP – MisCabling Protocol:
MisCabling Protocol (MCP) detects loops from external sources (switches or equipment running STP) and will err-disable the interface on which ACI receives its own packet or at least alert the user by displaying a fault (depends on the configuration). Enabling this feature is a best practice, and it should be enabled globally and on all interfaces, regardless of the end device.
* How MCP works:
On every EPG, MCP will send Layer-2 packets with a custom MAC address.
So for a given EPG (EPG-X), if the ACI Fabric receives an MCP packet on any interface, it will take on of these actions:
– put the interface in the error-disabled state
– Notify the user by displaying a fault.
For example: if we have 2 EPGs and both have static binding to Vlan-10. Because BPDUs are only sent over the same EPG, the Loop will not be detected in this case. the BPDU sent from the switches will not be forwarded through the ACI Fabric, which will probably cause a loop.
MCP will prevent the Loop by error disabling the interface connected to Sw-2: When the MCP packet is sent from Leaf-1, it will be received on the interface of Leaf-2. ACI will error disable the interface on Leaf-2 because MCP sent from EPG-1 is coming on EPG-2.
How to configure MCP:
To turn on MPC, navigate on the APIC GUI to:
|Fabric > Access Policies > Policies > Global > MCP Instance Policy default|
By default, this protocol is disabled globally but active on all interfaces, so when enabling it, MCP will be active on all interfaces.
By default, MCP PDUs are sent on the native VLAN. In order to send MCP PDU per VLAN basis, you have to turn on this option (check it):
Controls: Enable MCP PDU per VLAN
So, when an EPG sends an MPC Packet on an interface (tagged or on native VLAN) and the fabric receives that packet on any interface on the same leaf or any other leaf ==> It will disable that interface.
That is it,