Tue 22 May 2007 07:03:37 AM UTC, comment #12:
Good, handling the good initialization for igmp when you add a network interface at any time will be another task...
|
Tue 22 May 2007 07:01:33 AM UTC, comment #11:
Ok, but we can clos this bug, can't we? I think the fact that igmp only works with interfaces that are added in the tcpip_init_done callback (or before) is worth another bug entry!
|
Wed 16 May 2007 02:21:14 PM UTC, comment #10:
Yes, the same idea of snmp call from netif_add by example...
|
Wed 16 May 2007 02:19:42 PM UTC, comment #9:
>but there is something to improve to handle problem explain in comment #6...
Like a call into igmp.c from netif.c if a netif is set up/down?
|
Wed 16 May 2007 02:16:25 PM UTC, comment #8:
Ok, the original problem is fixed, but there is something to improve to handle problem explain in comment #6...
|
Fri 11 May 2007 05:01:05 PM UTC, comment #7:
Take your time, it's not that important. I just wanted to know what you were talking about ;-)
|
Fri 11 May 2007 04:36:31 PM UTC, comment #6:
>Isn't what you're saying a general problem when adding a netif after igmp_init? (in other words not related to NO_SYS setting?)
Yes, you're right. But if I "split" igmp_init to put one part in tcpip_init, and one on the beginning of tcpip_thread (the igmp timer), some init like the macfilter won't be done if the netif is add with "netifapi_netif_add", or during "tcpip_init_done". That's why I think I have to fix both in the same time.... In my case, it's not a problem, but check in like this could "broke" lwIP for some users...
But it's not a big work. Perhaps this evenning ?
|
Fri 11 May 2007 04:23:43 PM UTC, comment #5:
I don't think I understand what you're saying. All I would do is move the call to sys_timeout() from igmp.c into tcpip.c so that igmp_tick() can simply be called from a main loop if using lwIP without tcpip_thread.
Isn't what you're saying a general problem when adding a netif after igmp_init? (in other words not related to NO_SYS setting?)
|
Fri 11 May 2007 09:12:57 AM UTC, comment #4:
Due to the fact we can now add/remove interfaces at any time, a clean patch is not so simple. I study that...
|
Mon 07 May 2007 11:02:48 AM UTC, comment #3:
> If you prefer, I can do it myself.
Sure, go ahead! I don't have that much time at the moment, anyway, so it would take some time until I do it...
|
Mon 07 May 2007 10:59:41 AM UTC, comment #2:
Yes, of course, you can, and I will test it Wednesday. I wanted to let the igmp.c file with the less chnages as possible (from the Steve Reynolds code).
But now, we can integrate it like the others ones. If you prefer, I can do it myself.
|
Mon 07 May 2007 09:21:23 AM UTC, comment #1:
Frédéric,
as it was you who introduced igmp, I ask you: may I change the IGMP timer initialization to be in tcpip_thread like all other timers and move the call to igmp_init() into tcpip_init()?
|
Fri 04 May 2007 09:50:46 PM UTC, original submission:
Because it uses sys_timeout() directly, igmp_tick() will not work with NO_SYS=1 since for this, sys_timeout() is defined to nothing.
I propose to just remove the sys_timeout() call from igmp_tick() and instead including a comment that this function has to be called every x milliseconds.
Then, I would create a wrapper function in tcpip.c for those who use netconn or socket API and create the timer in tcpip_init() (like for all the other timers). This way, one can call igmp_init() from anyywhere (e.g. initialization before OS starts), also, which resembles the init scheme for the other modules.
|