On Mon, 08 Feb 2010 15:40:30 +0000
Alan Maguire <Alan.Maguire at Sun.COM> wrote:

> I've addressed the IPv6 DAD issues in this
> updated webrev. There were a few problems
> which prevented v6 from working. Firstly libinetcfg
> was not using icfg_set_addr() (which checks
> for DAD failure) for added (logical interface)
> addresses. Secondly, we have a workaround
> in nwamd_handle_if_state_event() which we
> use to zero out cached v4 lease addresses,
> but we didn't ensure that it was being
> applied to v4 interfaces only. So IPv6
> DAD (wrongly) fitted the criteria for application
> of this workaround, and as a consequence
> we never got to the point in the code
> where we check flags for IFF_DUPLICATE.
> 
> Updated webrev at:
> 
> http://zhadum.east.sun.com/export/ws/amaguire/nwam1-bugs/webrev/

Looks good.

        Michael

> 
> Alan
> 
> On 07/02/2010 22:39, Alan Maguire wrote:
> > 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
> > _______________________________________________
> > nwam-dev mailing list
> > nwam-dev at opensolaris.org
> > http://mail.opensolaris.org/mailman/listinfo/nwam-dev
> 
> _______________________________________________
> nwam-dev mailing list
> nwam-dev at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/nwam-dev

Reply via email to