Bug 1791815
| Summary: | [RFE][OVN] Enable querier for multicast (IGMP) in OVN | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Lucas Alvares Gomes <lmartins> |
| Component: | openstack-neutron | Assignee: | OSP Team <rhos-maint> |
| Status: | CLOSED DEFERRED | QA Contact: | Eran Kuris <ekuris> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 17.0 (Wallaby) | CC: | chrisw, gurpsing, hakhande, jlibosva, mtomaska, rsafrono, scohen, skaplons |
| Target Milestone: | ga | Keywords: | FutureFeature, Triaged |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-10-12 15:49:28 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1575512, 1791787 | ||
| Bug Blocks: | |||
|
Description
Lucas Alvares Gomes
2020-01-16 14:09:47 UTC
I tested igmp snooping basic scenario on RHOS-16.1-RHEL-8-20201110.n.1 (python3-networking-ovn-7.3.1-1.20200902233413.el8ost.noarch, ovn2.13-20.09.0-2.el8fdp.x86_64) with querier enabled and configured as specified in the description.
IGMP snooping worked reliable. See some details below.
Tested with VMs on the external network. Configured querier as follows:
ovn-nbctl set Logical_Switch 620f6ceb-23d4-4cd8-b356-6ce614e46f18 other_config:mcast_eth_src=fa:16:3e:c4:31:a1
ovn-nbctl set Logical_Switch 620f6ceb-23d4-4cd8-b356-6ce614e46f18 other_config:mcast_ip4_src=10.0.0.210
After this I've seen queries each 150 seconds (half of the idle_timeout, see below) as expected.
Clients were responding to the requests and were able to remain subscribed for a long time (note: without querier clients subscription was expiring automatically after idle_timeout of 300 seconds)
[heat-admin@controller-0 ~]$ ovn-nbctl show
switch 620f6ceb-23d4-4cd8-b356-6ce614e46f18 (neutron-2cd400a5-7ae4-430c-97d2-67a800d3821c) (aka nova)
port provnet-0177dc61-3610-40f0-ab87-80c53e51b9f9
type: localnet
addresses: ["unknown"]
port bce25bd5-d29f-4683-9d0f-4f41d559b644
type: localport
addresses: ["fa:16:3e:c4:31:a1 10.0.0.210"]
port 015ae70e-c931-40e4-bc02-65c734c9ccb1
addresses: ["fa:16:3e:d3:12:12 10.0.0.240 2620:52:0:13b8::1000:53"]
port 38794e02-d68d-46f4-a6d0-01ffc3b23a32
addresses: ["fa:16:3e:ff:19:05 10.0.0.219 2620:52:0:13b8::1000:95"]
port 22c23731-1562-496b-a178-6ea7f6411f3d
addresses: ["fa:16:3e:ba:ae:15 10.0.0.217 2620:52:0:13b8::1000:48"]
port 50e05fb0-5d96-43f1-bb9c-8aa83772a637
addresses: ["fa:16:3e:30:5a:f3 10.0.0.241 2620:52:0:13b8::1000:68"]
[heat-admin@controller-0 ~]$ ovn-nbctl list logical_switch
_uuid : 620f6ceb-23d4-4cd8-b356-6ce614e46f18
acls : []
dns_records : []
external_ids : {"neutron:mtu"="1500", "neutron:network_name"=nova, "neutron:revision_number"="4"}
forwarding_groups : []
load_balancer : []
name : neutron-2cd400a5-7ae4-430c-97d2-67a800d3821c
other_config : {mcast_eth_src="fa:16:3e:c4:31:a1", mcast_flood_unregistered="false", mcast_ip4_src="10.0.0.210", mcast_snoop="true"}
ports : [3d7b766f-1cd7-4024-8c69-f281c3baff4a, 50dc46c1-5f6b-4381-bf50-239d4c0d58eb, 73a32d4f-7abc-4c11-9fd3-d0c78b4840e4, 8d818d45-ddbe-49bd-8235-abf6c3365635, 9d333c4b-7972-4a31-bf50-628f6c835778, c7cae370-6fb4-4a47-a5b7-5358926402f1]
qos_rules : []
[heat-admin@controller-0 ~]$ ovn-sbctl list ip_multicast
_uuid : 3ce47104-3805-4aee-81fa-268b05bbe7d3
datapath : 01eabea6-a967-41ec-ad6f-32c2a037c063
enabled : true
eth_src : "fa:16:3e:c4:31:a1"
idle_timeout : 300
ip4_src : "10.0.0.210"
ip6_src : ""
querier : true
query_interval : 150
query_max_resp : 1
seq_no : 0
table_size : 2048
A small addition to the previous comment. I also had to configure the following: ovn-nbctl set Logical_Switch 620f6ceb-23d4-4cd8-b356-6ce614e46f18 other_config:mcast_flood_unregistered="false" In order to workaround the BZ https://bugzilla.redhat.com/show_bug.cgi?id=1898052 |