lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #20503] IGMP Improvement


From: Frédéric Bernon
Subject: [lwip-devel] [bug #20503] IGMP Improvement
Date: Tue, 17 Jul 2007 09:09:38 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4

Update of bug #20503 (project lwip):

             Assigned to:                    None => fbernon                

    _______________________________________________________

Follow-up Comment #2:

Some of the changes can be done for 1.3.0, since there are bugs fix, or
coding styles. I will check in them in a first step. For the others, they
need more tests. I hope to find time for them in the end of the week, or next
week... I take this bug (I can test it, of course, if there is no
objection)...

>NOTES: This only implements "host" function

ok

>Interface should be up before joining groups

ok. About one of the last change for link up/down, I think we also have to
resend reports when the link change to "up"

>Removed igmp_init() from tcpip_thread() function and force users to call
after netif_add() [Perhas there is a better solution]

I will look your change, since some init are need to be done in "the good
order" (but which one ? :) )

>Reworked igmp.c to allow for different group list per interface. [This
required adding a igmp_group_list to the netif structure (netif.h).]

ok (but need to study that)

>Reworked igmp.c so debug reporting was formatted like other lwip files. [I
hope don't offended anyone.]

ok (will be check in for 1.3.0)

>Reworked igmp.c so all function names all begin with "igmp".

ok (will be check in for 1.3.0)

>netif_add() now initializes igmp_mac_filter to NULL [as well as the new
field igmp_group_list.]

ok (just have to see if it's done at the "good" time (before low_level_init).
The netif change is not attached. The last you post on the mailing list is
good?

>igmp_joingroup() now checks to make sure you only add multicast addresses to
the list.

ok (will be check in for 1.3.0) since it was a bug

>Added group_state member DEAD_MEMBER to separate groups that are being
initialized to those that are stale. [This allow correct building of hash key
as we may not deleting records]

ok (but need to study that)

>Removed igmp_mac_filter() to allrouters group. [I don't think this needed in
V2]

Not ok, since, like we have talk on the mailing list, some switchs/routers
doesn't use 224.0.0.1, but 224.0.0.2. I suppose it's due to a problem in
their RFC interpretation, but on the field, we have to accept both to receive
query messages. My experience with industrial switchs/routers using IGMP is
this is a "component" not always very well implemented, where the field
sometimes a better "rule" than the RFC (always in draft for memory). Since
let receive 224.0.0.2 packets is not a big problem, I think we have to let
receive


>In igmp_input(), changed igmp_lookup_group() to igmp_lookfor_group. [If it's
not for us, we don't want it!]

ok, this is a bug for me (to fix in 1.3.0)

>igmp_leavegroup() can now delete memory used by the group.
Use LWIP_IGMP_FREE_GROUPS to enable this feature

If there is a problem with memory (and there is one in IGMP), I'm in flavor
to fix it without any options. Of course, it depend of the way to do it. I
would like to use memp rather than mem to allocate igmp_group structs.


    _______________________________________________________

Reply to this item at:

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

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





reply via email to

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