lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #28798] IGMP "Max Response Time" processing bug


From: Stephane Lesage
Subject: [lwip-devel] [bug #28798] IGMP "Max Response Time" processing bug
Date: Wed, 03 Feb 2010 10:32:08 +0000
User-agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

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

                 Summary: IGMP "Max Response Time" processing bug
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: slesage
            Submitted on: mer 03 fév 2010 11:32:08 CET
                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: CVS Head

    _______________________________________________________

Details:

Hi,

I think I found a bug in IGMP input query processing.

My device does a leave, then join again on the same group.
The switch issues a group-specific query with 1s timeout.
Lwip reports ok after 0.5s.
The switch issues another group-specific query with 1s timeout.
Before lwip responds, the switch issues a general query with 10s time-out.
Then the switch issues other group-specific queries because there's no
response of lwip, and the multicast stream is interrupted.
5s after the general query, lwip answers and the multicast stream is back.

What happens here is that the general query resets the 
group timer to 5s.
And according to RFC 2236, it should not, because the new max response time
is greater than the current group timer.

In paragraph 3:
"If a timer for the group is already running, it is reset to the random value
only if the requested Max Response Time is less than the remaining value of
the running timer"

The bug is the comparaison in function igmp_delaying_member(),
which should be "maxresp < group->timer" instead of "maxresp >
group->timer".










    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  Message posté via/par Savannah
  http://savannah.nongnu.org/





reply via email to

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