事象について
FabricPath 環境にて VPC+ と FEX (Nexus2000) を利用すると、特定条件を満たした場合に Unknown Unicast (MAC Table で未学習の宛先へのUnicast Frame) が Flooding されない事象がございます。
本挙動はNexus5500の設計上の制限となりますが、以下に事象として登録されております。ソフトウェアの実装に起因した挙動ではございません。
CSCud25862 VPC+ Unknown ucast is not flooded out of fex
事象が発生する構成
- Nexus 5500 で VPC+ を構成
- VPC+ に FEX が接続されている
Nexus7000 で VPC+ を組んでいる場合は事象は発生いたしません。また、Nexus5500 配下に L2/L3 Switch が接続されている場合も、その配下のホストに対して事象は発生いたしません (事象自体は L2/L3 Switch の有無によらず FEX のみで発生しますが、参考のために図に Switch も記載しています)。
事象が発生する条件
- 転送元の FabricPath Switch(図ではNexus7000)が宛先のMACアドレスを学習済み
- 宛先のホストはNexus5500配下のFEXの先にいる
- VPC+ を構成するNexus5500は宛先のMACアドレスを学習していない
- VPC+ を構成する2台の Nexus5500 のうちの特定の片方を通過する
上記の条件をみたす場合にFEXより先のホスト群にパケットが Flood されません。L2/L3 Switch の先には Flood されます。
上記の図において 「Nexus7000 が学習済みであり、Nexus5500 が未学習である」というケースが発生することはあまりないので通常は問題となりません。ただ、様々な原因で Nexus5500 側で FEX 配下の MAC Entry が消失すると事象が発生する可能性があります。
MAC 学習の状態で事象発生の有無を条件分けをすると以下のようになります。
- N7K, N5K ともに学習済み: 事象は発生しない
- N7Kは学習済み、N5Kは未学習: 事象が発生する可能性がある
- N7Kは未学習、N5Kは学習済み: 事象は発生しない
- N7K, N5K ともに未学習: 事象は発生しない
Work Around
Nexus5500 側で未学習であり、Nexus7000 側で学習済みという状態でなければ事象が発生いたしません。そのため、
- Nexus 5500 側の MAC TABLE の AGE を伸ばす
- Nexus 5500 側で FEX 配下の MAC を Static で学習させる
というあたりが WorkAround となります。
また、事象が発生してしまった場合は Nexus7000 側で clear mac をして頂くことで事象を消すことができます。もしくは Nexus5500 にエントリを作るためにホスト側から Nexus5500 を越えていく通信をしても事象が解決いたします。
なお、上記の MAC AGE に関連して、以下のエンハンスメントもございます。CSCud25862 に併せてご確認いただけますでしょうか。
CSCtx03643 Nexus 5500: Increase MAC aging timer to be more than ARP aging timer