Description of problem: When multicast IP traffic is sent to a multicast group address which is in the 224.0.0.X range, the multicast traffic should be always be flooded, even when IGMP snooping is enabled (mcast_snoop=true in the other_config column from a LS). See the RFC session 2.1.2: " 2) Packets with a destination IP (DIP) address in the 224.0.0.X range which are not IGMP must be forwarded on all ports. " Currently, OVN is not honoring this and the multicast traffic is only being sent to the clients subscribed to the multicast group. [0] https://tools.ietf.org/html/rfc4541 (See section 2.1.2) Version-Release number of selected component (if applicable): 2.12 How reproducible: 100% Steps to Reproduce: 1. Enable igmp snooping in the OVN logical switch (other_config={mcast_snoop=true}) 2. Start two VMs, one that is listening to the 224.0.0.X group and the other one that is not. 3. Send multicast IP traffic on that 224.0.0.X group. U will notice that VM not subscribed is not seeing the traffic (sudo tcpdump -i any -s0 -vv host 224.0.0.X -vvneA -s0) Actual results: Multicast traffic not flooded when sending traffic to a multicast group in the 224.0.0.X range. Expected results: Multicast traffic flooded when sending traffic to a multicast group in the 224.0.0.X range. Additional info:
Patch posted upstream: https://patchwork.ozlabs.org/patch/1237967/
HI, Dumitru Ceara , I can't reproduce it ,can you tell me what version can I use to reproduce it?
(In reply to ying xu from comment #6) > HI, Dumitru Ceara , > I can't reproduce it ,can you tell me what version can I use to reproduce it? Hi Ying Xu, The bug is present in OVN 2.12 FDP 20.B, e.g., ovn2.12-2.12.0-27.el8fdp.x86_64. The most important thing is to make sure that one of the hosts at step #2 in the description sends an IGMP join for group 224.0.0.X. The traffic will then be forwarded only to that host instead of all hosts connected to the logical switch. Regards, Dumitru
reproduced on version : # rpm -qa|grep ovn ovn2.12-host-2.12.0-19.el8fdp.x86_64 ovn2.12-central-2.12.0-19.el8fdp.x86_64 ovn2.12-2.12.0-19.el8fdp.x86_64 # ovn-nbctl show switch 3ebcbf79-86ea-4f95-9a0a-a1116c416529 (ls) port vm2 addresses: ["00:00:00:00:00:02"] port vm3 addresses: ["00:00:00:00:00:03"] port vm1 addresses: ["00:00:00:00:00:01"] server: ip netns exec vm1 tcpdump -U -i any -nn -v & client: ip netns exec vm3 join_group -f 4 -g 224.0.0.5 -i vm3 & ip netns exec vm2 ping 224.0.0.5 -c 3 and vm1 can't capture the packets. verified on version: # rpm -qa|grep ovn ovn2.12-host-2.12.0-36.el8fdp.x86_64 ovn2.12-central-2.12.0-36.el8fdp.x86_64 ovn2.12-2.12.0-36.el8fdp.x86_64 vm1: tcpdump -r broadcast.pcap -vv -n|grep "42.42.42.2 > 224.0.0.5: ICMP echo request"' reading from file broadcast.pcap, link-type LINUX_SLL (Linux cooked) 42.42.42.2 > 224.0.0.5: ICMP echo request, id 32329, seq 1, length 64 42.42.42.2 > 224.0.0.5: ICMP echo request, id 32329, seq 2, length 64 42.42.42.2 > 224.0.0.5: ICMP echo request, id 32329, seq 3, length 64 vm3: tcpdump -r vm3.pcap -nn -v |grep "ICMP echo request" reading from file vm3.pcap, link-type EN10MB (Ethernet) 42.42.42.2 > 224.0.0.5: ICMP echo request, id 32329, seq 1, length 64 42.42.42.2 > 224.0.0.5: ICMP echo request, id 32329, seq 2, length 64 42.42.42.2 > 224.0.0.5: ICMP echo request, id 32329, seq 3, length 64
ovn2.12 has been superceded by ovn2.13.