Linux虚拟交换机中的组播帧

我有一个网络拓扑,其中“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地址,那么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虚拟交换机不会将它泛洪到所有端口(除了框架来自的端口).为什么会这样?我希望交换机像广播帧一样处理多播帧.

最佳答案
为了能够转发组播以太网帧,需要在/ sys / devices / virtual / net /< br_name> / bridge / multicast_snooping下禁用组播侦听.

转载注明原文:Linux虚拟交换机中的组播帧 - 代码日志