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/ Thanks! Alan On 04/02/2010 18:04, Alan Maguire wrote: > webrev: > > http://zhadum.east.sun.com/export/ws/amaguire/nwam1-bugs/webrev/ > > bug: > > http://defect.opensolaris.org/bz/show_bug.cgi?id=14367 > > Thanks! > > Alan > _______________________________________________ > nwam-dev mailing list > nwam-dev at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/nwam-dev
