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.

Reply via email to