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
