Mailing List Archive

[SOLVED] Re: Multicast corosync packets and default route
Daniel Dehennin <daniel.dehennin@baby-gnu.org> writes:

> Daniel Dehennin <daniel.dehennin@baby-gnu.org> writes:
>
>> Hello,
>>
>
> [...]
>
>> I only manage to have my VM as corosync member like others when default
>> the route is on the same interface as my multicast traffic.

[...]


Using tcpdump I found the difference between single card VM and multicard VM.

When using multiple cards, I need to force the IGMP version since my
physical switches does not support IGMPv3.

It looks like the kernel uses IGMPv3 to register any local IP addresses
to the multicast group.


Single card VM:

No. Time Source Destination Protocol Info
2 0.000985 192.168.231.110 226.94.1.1 IGMPv2 Membership Report group 226.94.1.1

Frame 2: 46 bytes on wire (368 bits), 46 bytes captured (368 bits)
Ethernet II, Src: RealtekU_03:6d:2d (52:54:00:03:6d:2d), Dst: IPv4mcast_5e:01:01 (01:00:5e:5e:01:01)
Internet Protocol Version 4, Src: 192.168.231.110 (192.168.231.110), Dst: 226.94.1.1 (226.94.1.1)
Internet Group Management Protocol
[IGMP Version: 2]
Type: Membership Report (0x16)
Max Resp Time: 0,0 sec (0x00)
Header checksum: 0x06a0 [correct]
Multicast Address: 226.94.1.1 (226.94.1.1)

Multicard VM:

No. Time Source Destination Protocol Info
2 0.004419 192.168.231.111 224.0.0.22 IGMPv3 Membership Report / Join group 226.94.1.1 for any sources

Frame 2: 54 bytes on wire (432 bits), 54 bytes captured (432 bits)
Ethernet II, Src: RealtekU_dc:b6:92 (52:54:00:dc:b6:92), Dst: IPv4mcast_16 (01:00:5e:00:00:16)
Internet Protocol Version 4, Src: 192.168.231.111 (192.168.231.111), Dst: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
[IGMP Version: 3]
Type: Membership Report (0x22)
Header checksum: 0xf69e [correct]
Num Group Records: 1
Group Record : 226.94.1.1 Change To Exclude Mode
Record Type: Change To Exclude Mode (4)
Aux Data Len: 0
Num Src: 0
Multicast Address: 226.94.1.1 (226.94.1.1)

So I force the IGMP version for all interfaces with the following:

sysctl -w net.ipv4.conf.all.force_igmp_version=2

Now my dual card VM is part of the ring:

root@nebula3:~# corosync-quorumtool
Quorum information
------------------
Date: Fri Nov 7 16:32:34 2014
Quorum provider: corosync_votequorum
Nodes: 5
Node ID: 1084811080
Ring ID: 20624
Quorate: Yes

Votequorum information
----------------------
Expected votes: 5
Highest expected: 5
Total votes: 5
Quorum: 3
Flags: Quorate WaitForAll LastManStanding

Membership information
----------------------
Nodeid Votes Name
1084811078 1 nebula1.eole.lan
1084811079 1 nebula2.eole.lan
1084811080 1 nebula3.eole.lan (local)
1084811118 1 quorum.eole.lan
1084811119 1 one-frontend.eole.lan

--
Daniel Dehennin
Récupérer ma clef GPG: gpg --recv-keys 0xCC1E9E5B7A6FE2DF
Fingerprint: 3E69 014E 5C23 50E8 9ED6 2AAD CC1E 9E5B 7A6F E2DF