http://defect.opensolaris.org/bz/show_bug.cgi?id=10707
amaguire <alan.maguire at sun.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ACCEPTED |FIXINPROGRESS
--- Comment #1 from amaguire <alan.maguire at sun.com> 2009-08-15 20:36:42 UTC
---
(In reply to comment #0)
> there are a few issues in the code where we attempt to transition IP address
> configuration state on refresh of nwamd. The code attempts to make the minimal
> set of changes, removing addresses that were in the old IP NCU but not in the
> new, adding new addresses, leaving existing addresses alone, and avoiding
> unplumbing at all costs. There are a few flaws in the handling here:
>
> 1) if we add addresses a,b and remove a, this fails since we use
> icfg_remove_ipaddr(), assuming that the address to be removed is a logical
> interface.
> 2) if we go from dhcp+static to static, the static address will be on the
> logical interface and the physical interface is unused.
>
> We should probably adopt the following approach to simplify things: a refresh
> of an online IP NCU should enqueue a down state event followed by
> anoffline*/reinit. The down event will unplumb and anything depending on the
> IP
> NCU state will go offline. The reinit will then reapply the associated
> addresses. This removes the complexity of the current approach, and also has
> the nice property that any objects that depend on IP NCU state will go offline
> until addresses have been reconfigured.
One wrinkle here - the online*/down event triggers an offline/down state
change, so to ensure that the reinit isn't sandwiched between the online*/down
and offline/down and lost, we should enqueue a timed set state event.
--
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.