Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1582030

Summary: Multicast does not work in RHVM
Product: Red Hat Enterprise Virtualization Manager Reporter: xiywang
Component: vdsmAssignee: Edward Haas <edwardh>
Status: CLOSED WORKSFORME QA Contact: Meni Yakove <myakove>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: chayang, juzhang, lijin, lsurette, michen, mtessun, srevivo, xiywang, ycui, ykaul
Target Milestone: ---   
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: 2018-05-24 09:55:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
multicast_client.c
none
multicast_server.c none

Description xiywang 2018-05-24 02:32:21 UTC
Created attachment 1440916 [details]
multicast_client.c

Description of problem:
Multicast works well on qemu level.
It also works well on libvirt level with vsdm filter(no-arp-mac-spoofing and
no-arp-ip-spoofing enabled).
However, in rhevm, with the same vsdm filter, multicast doesn't work.

Version-Release number of selected component (if applicable):
Red Hat Virtualization Manager Version: 4.1.10.3-0.1.el7
Host & Guest: RHEL 7.5

How reproducible:
100%

Steps to Reproduce:
1. gcc multicast_server.c in host

2. gcc multicast_client.c in guest

3. run ./a.out in host
# ./a.out
Opening the datagram socket ...OK

4. run ./a.out in client
# ./a.out

Actual results:
in guest:
# ./a.out
Opening the datagram socket ...OK

Which means no packet received in the guest.

Expected results:
# ./a.out
Opening the datagram socket ...OK
Recv 1st message from server:Multicast test message!
Recv 2st message from server:Multicast test message!
Recv 3st message from server:Multicast test message!
Recv 4st message from server:Multicast test message!
Recv 5st message from server:Multicast test message!

Additional info:
The two scripts used for this case is attached.

Comment 1 xiywang 2018-05-24 02:33:20 UTC
Created attachment 1440917 [details]
multicast_server.c

Comment 2 Yaniv Kaul 2018-05-24 04:52:18 UTC
What about guest to guest?

Comment 3 xiywang 2018-05-24 05:42:29 UTC
Guest to guest is also supported.

Comment 4 Yaniv Kaul 2018-05-24 06:32:29 UTC
(In reply to xiywang from comment #3)
> Guest to guest is also supported.

'Supported' == works? So it doesn't work guest to host? That doesn't sound like an issue to me.

We need guest to guest and guest to external host (router, for example) to work.
I assume the host interfaces do NOT have an IP, btw.

Comment 5 xiywang 2018-05-24 07:32:09 UTC
Yes, by 'supported', I mean it works, in qemu level and libvirt level.
But the two guests must be under a same switch. I'm not sure whether the switch support multicast. The test result is, if the two guests are in different switch, the multicast doesn't work.
Guest to external host seems doesn't work currently. But I am not quite sure whether it related to the switch configuration.

Comment 6 Edward Haas 2018-05-24 07:47:57 UTC
(In reply to xiywang from comment #5)
> Yes, by 'supported', I mean it works, in qemu level and libvirt level.
> But the two guests must be under a same switch. I'm not sure whether the
> switch support multicast. The test result is, if the two guests are in
> different switch, the multicast doesn't work.
> Guest to external host seems doesn't work currently. But I am not quite sure
> whether it related to the switch configuration.

Could you please check if this is working between two VM/s on the same host connected to the same network (bridge)?

Comment 7 Martin Tessun 2018-05-24 07:51:46 UTC
So I just did a test in RHV 4.2

- Both clients running on one Host: Pass!

[quote]
[root@mtessun-sap ~]# ./multicast_client 
Opening the datagram socket ...OK
Recv 1st message from server:Multicast test message!
Recv 2st message from server:Multicast test message!
Recv 3st message from server:Multicast test message!
Recv 4st message from server:Multicast test message!
Recv 5st message from server:Multicast test message!
[root@mtessun-sap ~]# 
[/quote]

- Clients running on different hosts: Pass!

[root@mtessun-sap ~]# ./multicast_client 
Opening the datagram socket ...OK
Recv 1st message from server:Multicast test message!
Recv 2st message from server:Multicast test message!
Recv 3st message from server:Multicast test message!
Recv 4st message from server:Multicast test message!
Recv 5st message from server:Multicast test message!
[root@mtessun-sap ~]# 


Test Environment was the Munich SA Lab with 3 Hosts in one Cluster, running RHV 4.2 current.

This is simply guest-2-guest communication. No guest to host (or guest to Bare Metal).

Network is a simple bridge setup as well, no OVS.

Comment 8 Edward Haas 2018-05-24 08:10:15 UTC
This is confirmed from our QE as well. @mburman tests shows it works.
As the VM/s used had RHEL on them, firewalld had to be stopped for this to work.

It will be good if we can check connectivity between VM/s on different hosts.

Comment 9 Edward Haas 2018-05-24 08:52:08 UTC
> It will be good if we can check connectivity between VM/s on different hosts.

I understood from Martin that this was part of his tests, so I guess we can close this BZ.

Comment 10 Franta Kust 2019-05-16 13:08:57 UTC
BZ<2>Jira Resync