buglwIP - A Lightweight TCP/IP stack - Bugs: bug #47731, IGMP state transition missing

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #47731: IGMP state transition missing

Submitted by:  Ryan Mullen <rmull>
Submitted on:  Mon 18 Apr 2016 06:44:11 PM UTC  
 
Category: IPv4Severity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: ClosedPlanned Release: None
lwIP version: git head

Fri 30 Sep 2016 07:14:16 AM UTC, comment #1:

I personally do not use IGMP, and I don't know much about it. Can you post a patch for this?

Dirk Ziegelmeier <dziegel>
Project Member
Mon 18 Apr 2016 06:44:11 PM UTC, original submission:

I was browsing the code in core/ipv4/igmp.c and I am a bit confused by the means by which the multicast group state gets set to IGMP_GROUP_IDLE_MEMBER.

For reference, here is the IGMPv2 RFC section that describes the state diagram for an IGMP host: https://tools.ietf.org/html/rfc2236#section-6 (scroll down for an ASCII-art diagram).

The RFC says that state should transition from IGMP_GROUP_DELAYING_MEMBER to IGMP_GROUP_IDLE_MEMBER when the timer expires. However, in igmp.c, we see that igmp_timeout() sends the group report as expected, but does not transition state. In fact, the state variable is only set to IDLE_MEMBER in two places: from igmp_start() which is called once during interface bringup, and when the interface receives a group report while waiting to send its own.

Therefore, the only condition that can cancel the DELAYING_MEMBER state and return to an IDLE_MEMBER state is when a group member receives a group report from some other host belonging to the same group, which is not necessarily going to happen.

Shouldn't the group get set into IGMP_GROUP_IDLE_MEMBER state from igmp_timeout()?

Ryan Mullen <rmull>

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by dziegel (Posted a comment)
  • -unavailable- added by rmull (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 01 Oct 2016 07:28:14 PM UTCdziegelStatusNone=>Fixed
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1