Description of problem: When OVN deployments are interconnected using ovn-ic, multicast traffic doesn't cross the boundary. This feature can be supported. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Not necessarily a full solution but in order to support static IP multicast flooding across IC AZs we need: http://patchwork.ozlabs.org/project/ovn/list/?series=281827&state=*
Bug 2042952 has been opened to implement "dynamic" multicast support (with IGMP/MLD) in OVN-IC deployments. We'll continue to use the current bug to track support for "static" multicast support (with static multicast flooding) in OVN-IC deployments. Updating the title accordingly.
Feature available in ovn22.03-22.03.0-7.el8fdp
Upstream commit: https://github.com/ovn-org/ovn/commit/974618c61de8a451f1ecd6515e2e2414f6d4c04f
verified on version: # rpm -qa|grep ovn ovn22.03-host-22.03.0-9.el8fdp.x86_64 ovn22.03-22.03.0-9.el8fdp.x86_64 ovn22.03-central-22.03.0-9.el8fdp.x86_64 set env as below: az2: # ovn-nbctl show switch cc5a80c8-c520-4942-b9ba-2ec053ea6b52 (ts1) port ts1-lr1 type: remote addresses: ["aa:aa:aa:aa:aa:01 169.254.100.1/24"] port ts1-lr2 type: router router-port: lr2-ts1 switch 8f7f9c2b-4b87-42a5-b2bf-0c469568aec3 (ls2) port ls2-lr2 type: router addresses: ["00:00:00:00:02:00"] router-port: lr2-ls2 port ls2p1 addresses: ["00:00:00:00:02:01 172.16.2.1 172:16:2::1"] port ls2p2 addresses: ["00:00:00:00:02:02 172.16.2.2 172:16:2::2"] router 537c45e9-0e43-4e55-b011-7091c92793cc (lr2) port lr2-ts1 mac: "aa:aa:aa:aa:aa:02" networks: ["169.254.100.2/24"] gateway chassis: [hv1] port lr2-ls2 mac: "00:00:00:00:02:00" networks: ["172.16.2.254/24", "172:16:2::a/64"] az1: # ovn-nbctl show switch f9e7fb44-6310-4280-a71f-59bc4212075a (ls1) port ls1p1 addresses: ["00:00:00:00:01:01 172.16.1.1 172:16:1::1"] port ls1-lr1 type: router router-port: lr1-ls1 port ls1p2 addresses: ["00:00:00:00:01:02 172.16.1.2 172:16:1::2"] switch 4c33b8fd-8f86-459d-be06-2acb556e45d7 (ts1) port ts1-lr1 type: router router-port: lr1-ts1 port ts1-lr2 type: remote addresses: ["aa:aa:aa:aa:aa:02 169.254.100.2/24"] router 20c8fdeb-4325-4681-8f03-36732ea985a3 (lr1) port lr1-ls1 mac: "00:00:00:00:01:00" networks: ["172.16.1.254/24", "172:16:1::a/64"] port lr1-ts1 mac: "aa:aa:aa:aa:aa:01" networks: ["169.254.100.1/24"] gateway chassis: [hv0] on az1: ovn-nbctl set logical_switch ls1 other_config:mcast_snoop="true" other_config:mcast_flood_unregistered="true" ovn-nbctl set logical_router lr1 options:mcast_relay="true" ovn-nbctl set logical_router_port lr1-ls1 options:mcast_flood="true" on az2: ovn-nbctl set logical_switch ls2 other_config:mcast_snoop="true" other_config:mcast_flood_unregistered="true" ovn-nbctl set logical_router lr2 options:mcast_relay="true" ovn-nbctl set logical_router_port lr2-ts1 options:mcast_flood="true" then ,send multicast packets from ls2p1 to ls1p1: #! /usr/bin/python import sys from scapy.all import * def main(): # query sendp(Ether(src="00:00:00:00:02:01", dst="01:00:5e:00:01:44")/IP(src="172.16.2.1", dst="239.0.1.68", proto=17)/('a'*128) , iface="ls2p1") if __name__ == "__main__": main() tcpdump on ls1p1: # ip netns exec ls1p1 tcpdump -i any -nnle 21:19:09.385327 M 00:00:00:00:01:00 ethertype IPv4 (0x0800), length 164: 172.16.2.1.24929 > 239.0.1.68.24929: UDP, bad length 24921 > 120