Description of problem: MLDv2 code uses wrong ICMP type, and in consequence, multicast receiving does not work because the routers ignore the wrong type. This has since then been fixed in the later kernel releases, but apparently not in RHEL. Version-Release number of selected component (if applicable): kernel-2.4.21-32.EL How reproducible: 1) run 'tcpdump -n -vvv -s0 icmp6' 2) start a v6 multicast application, for example 'ttcp -r ff1e::1' 3) observe that the ff1e::1 group shows in 'netstat -g -n' but the generated MLDv2 report uses a bogus ICMP type #206, instead of #143 (http://www.iana.org/assignments/icmpv6-parameters) Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Created attachment 114561 [details] Trivial patch to fix the problem.
Minor correction: the MLD report doesn't show with 'tcpdump icmp6' because there's a hop-by-hop option; you must use 'tcpdump -XXXX ip6' instead.
Additional observation after running with locally patched kernel for a while: the MLDv2 implementation is severely broken, it doesn't seem to refresh the MLD memberships, so the router forgets about the MLD reports for applications which run for more than 5 minutes. Thus, it might be beneficial to update the whole MLDv2 code from a newer 2.4 kernel, which is hopefully works a lot better, but just fixing the ICMP type helps a bit as well.
Any progress on this....?
This bug is filed against RHEL 3, which is in maintenance phase. During the maintenance phase, only security errata and select mission critical bug fixes will be released for enterprise products. Since this bug does not meet that criteria, it is now being closed. For more information of the RHEL errata support policy, please visit: http://www.redhat.com/security/updates/errata/ If you feel this bug is indeed mission critical, please contact your support representative. You may be asked to provide detailed information on how this bug is affecting you.