Mis-cabling Protocol (MCP)

スポンサーリンク
スポンサーリンク

NOTE

L2 ループを防止するためにLLDP とかで検知できない(?)ような誤接続を検知するためのプロトコル。

デフォルト無効なのでグローバル設定で有効にする。有効にすると全てのインタフェースで有効になり、インタフェース個別に無効にするにはInterface policy の一つとしてDisabled/Enabled を指定する。機能の性質上、有効にすることが推奨されるが、Service Graph でL1 PBR をする時には無効にする必要がある。

※ L1 PBR は同じVLAN を使うことが条件だが、MCP は同じVLAN のポート同士を接続すると検知してしまう

 

それぞれどのパターンなら2つのポートを接続して検知・ErrDisable になるかを確認してみた。検知したのは1、3、5。

  1. 同一BD, 同一EPG, 同一VLAN
  2. 同一BD, 同一EPG, 異なるVLAN
  3. 同一BD, 異なるEPG, 同一VLAN
  4. 同一BD, 異なるEPG, 異なるVLAN
  5. 異なるBD, 異なるEPG, 同一VLAN
  6. 異なるBD, 異なるEPG, 異なるVLAN

※ 2つのポートはそれぞれ別Leaf
※ Static Port でMode Trunk 設定

 

一言で言ってしまうと同じVLAN であれば検知する。ただ、L2 ループ防止ならBD 分けてるのに検知になるのは釈然としないが、同一VLAN で制御フレーム(宛先MAC 01:00:0c:cd:cd:ce)を受信したら検知という仕組みなのだろう。ついでに言うと、VLAN Pool に紐づけるDomain を分けたとしても、同じVLAN ID であれば検知する。

 

検知すると以下のようにステートが変わる。手動回復の場合はNavigation ペインのアイコンを右クリックで一度、Disabledにして再度、Enabledにする。一定時間経過後に自動で回復させるError Disabled Recovery Policy があるのでそれを使うのも良し。

 

 

CONFIGURATION

Version 4.2(3l)

Fabric > Access Policies > Policies > Global > MCP Instance Policy default
 - Admin State (Enabled) 
 - Controls (Checked) 
 - その他任意

全てのポートで有効にする場合、上記でOK。個々に止める場合はInterface Policy に追加して適用する。

Fabric > Access Policies > Policies > Interface > MCP Interface
デフォルトで用意されている default を使うか、自身で右クリックから作成
 - Admin State (Disabled)

Error Disabled Recovery Policy で一定時間経過後に回復させたい場合は

Fabric > Access Policies > Policies > Global > Error Disabled Recovery Policy
 - Error disable recovery interval (任意の秒数) 
 - Events (Loop indication by MCP をTrue に変更) 

 

コメント