lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #39145] IGMP membership report for 224.0.0.1


From: Michel van de Wetering
Subject: [lwip-devel] [bug #39145] IGMP membership report for 224.0.0.1
Date: Mon, 03 Jun 2013 12:29:37 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36

URL:
  <http://savannah.nongnu.org/bugs/?39145>

                 Summary: IGMP membership report for 224.0.0.1
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: mvdwetering
            Submitted on: Mon 03 Jun 2013 12:29:36 PM GMT
                Category: IPv4
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: 1.4.0

    _______________________________________________________

Details:

We got reports from users of our product that there were issues with IGMP
membership reports that we are sending. The only group we join is
"239.255.255.250" for UPnP broadcasts, but additional membership reports are
generated for 224.0.0.1 (the all systems group). The problematic membership
reports are the ones to 224.0.0.1. These membership reports are automatically
generated by lwIP.

This is a problem because the router that our system is connected to has a bug
with the handling of the membership report for 224.0.0.1 which effectively
breaks the all systems group for the router.

According to the RFC2236 (IGMPv2) sending the membership report for the
allsystems group is invalid.
>The all-systems group (address 224.0.0.1) is handled as a 
>special case. The host starts in Idle Member state for that 
>group on every interface, never transitions to another state, 
>and never sends a report for that group. 

The reason why the reports are sent is because in the igmp_report_groups
function all groups are added. The grouplist also contains the allsystems
group. So this causes the membership reports to be sent.

We are using lwIP 1.4.0, but I checked the code and there are no changes in
that part of the code so it will also be in 1.4.1.

I made the following change to avoid the membership reports for the allsystems
group (also in attached patch). In igmp.c / igmp_report_groups() replace:
if (group->netif == netif) {
by:
if ((group->netif == netif) && (!(ip_addr_cmp(&(group->group_address),
&allsystems)))) {

I am not sure if this completely covers the statement from the RFC2236 that it
never should transition to another state. But at least the membership reports
for 224.0.0.1 are not sent anymore and it seems to have no negative impact.





    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Mon 03 Jun 2013 12:29:36 PM GMT  Name: igmp_allsystems_report.patch 
Size: 742B   By: mvdwetering

<http://savannah.nongnu.org/bugs/download.php?file_id=28232>

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?39145>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]