>>>>> On Sun, 15 Jul 2001 16:50:36 -0400 (EDT),
>>>>> Garrett Wollman <[EMAIL PROTECTED]> said:
>> Current if_addmulti() calls MALLOC() with M_WAITOK. However,
>> if_addmulti() can be called from in_addmulti() with splnet(). It
>> may lead kernel panic.
> This is not a problem (or should not be). It is permissible to sleep
> while some interrupts are blocked; it is just not (in 4-stable)
> permissible to sleep in interrupt context. The PR that I sent a few
> days ago was an example of one such circumstance. Is it really the
> case that in6_addmulti() can be invoked in interrupt context,
Yes, it is. in6_update_ifa() can be called under an interrupt
context, as you pointed out, and it calls in6_joingroup(), which then
> and if
> so, why?
When a new unicast address is configured, the configuring node must be
join the solicited-node multicast group corresponding to the unicast
address. Since the autoconfiguration procedure runs under an
interrupt context, the joining routine also runs under the context.
Communication Platform Lab.
Corporate R&D Center, Toshiba Corp.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message