On 05/02/2010 17:53, Michael Hunter wrote:
> On Fri, 05 Feb 2010 16:53:02 +0000
> Alan Maguire<Alan.Maguire at Sun.COM>  wrote:
>
>    
>> I've had to make a few changes here as a result
>> of additional testing. Firstly, we need to be a
>> bit more discerning about when we send events
>> to listeners. This is particularly true in this
>> case since the original webrev would have
>> resulted in us sending out online/up OBJECT_STATE
>> events even though we were in maintenance
>> state. To deal with this I've added a boolean
>> "event_send" field to the nwamd_event_t, and
>> if an invalid state transition is attempted,
>> or processing of an event fails (e.g. we get an
>> IF_STATE event for an object we don't manage),
>> we set event_send to false so the GUI won't
>> get such messages. Secondly, it turns out
>> we can also get ICFG_DAD_FOUND from
>> icfg_set_flags(), so I've modified add_ip_addres()
>> to take this into account.
>>
>> Finally in testing I can't get v6 DAD working.
>> If I add a static duplicate v6 address I see
>> the "duplicate address detected" log message
>> from IP along with the RTM_CHGADDRs for the
>> address, but nwamd doesn't get back ICFG_DAD_FOUND
>> in this case. I'll keep looking at this, but my
>> feeling is that it might make sense to push
>> ahead with these changes and file a separate
>> v6 bug for further investigation post-integration.
>>
>> Updated webrev:
>>
>> http://zhadum.east.sun.com/export/ws/amaguire/nwam1-bugs/webrev/
>>      
> Overall: some of these are a little scary in the error cases we don't
> handle.
>
> You can't do much about that in this bug fix but you might actually
> change this flag via an accessor function so we can hook these changes
> when debugging?
Good idea - I've added nwamd_event_do_not_send() which
will log the fact we cancel event delivery. Webrev updated.
Thanks!

Alan

Reply via email to