Bug 2028981 - [RFE] Support multicasting (static forwarding) in OVN interconnection
Summary: [RFE] Support multicasting (static forwarding) in OVN interconnection
Keywords:
Status: VERIFIED
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: OVN
Version: FDP 21.K
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
: FDP 22.C
Assignee: Dumitru Ceara
QA Contact: ying xu
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-12-03 21:49 UTC by Numan Siddique
Modified: 2023-07-13 07:25 UTC (History)
4 users (show)

Fixed In Version: ovn22.03-22.03.0-7.el8fdp
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FD-1681 0 None None None 2021-12-03 21:53:57 UTC

Description Numan Siddique 2021-12-03 21:49:54 UTC
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:

Comment 2 Dumitru Ceara 2022-01-19 13:41:01 UTC
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=*

Comment 3 Dumitru Ceara 2022-01-20 11:53:35 UTC
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.

Comment 4 Dumitru Ceara 2022-04-11 08:29:22 UTC
Feature available in ovn22.03-22.03.0-7.el8fdp

Comment 5 Dumitru Ceara 2022-04-11 08:33:10 UTC
Upstream commit: https://github.com/ovn-org/ovn/commit/974618c61de8a451f1ecd6515e2e2414f6d4c04f

Comment 9 ying xu 2022-04-20 03:18:11 UTC
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


Note You need to log in before you can comment on or make changes to this bug.