「Dell PE860」がLinux仮想スイッチを実行するネットワークトポロジがありますbr0
。
「IBM ThinkCentre」からブロードキャストアドレスにイーサネットフレームを送信すると、
17:10:23.569021 00:a1:ff:01:02:05 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 34: 127.0.0.1 > 127.0.0.1: ip-proto-0 0
..これで、両方の仮想マシンでこのフレームを見ることができます。br0
MACアドレステーブルから不明なMACアドレスにEthernetフレームを送信してbr0
も正常に動作し、フレームが着信するすべてのポート(eth1
この例では)にフレームをフラッディングします。ただし、「IBM ThinkCentre」からマルチキャストフレームを送信する場合:
17:17:05.513283 00:a1:ff:01:02:05 > 01:33:44:55:66:77, ethertype IPv4 (0x0800), length 34: 127.0.0.1 > 127.0.0.1: ip-proto-0 0
..これにより、Linux仮想スイッチは何らかの理由ですべてのポート(フレームが出たポートを除く)にフラッディングしません。なぜこれが起こるのですか?私はスイッチがブロードキャストフレームを処理するのと同じ方法でマルチキャストフレームを処理したいと思います。
ベストアンサー1
マルチキャストイーサネットフレーム転送を有効にするには、以下でマルチキャストリスニングを無効にする必要があります/sys/devices/virtual/net/<br_name>/bridge/multicast_snooping
。