On (05/19/10 22:37), Erik Nordmark wrote:
> 
>  This looks identical to the case when vnic0 was configured locally in the 
>  ngz (that is what "static" means). Hence the NGZ admin have no reason to 
>  believe it isn't possible to do a ipadm delete-addr vnic0/_a.
> 
>  But either such a delete fails, or after a reboot the address magically 
>  reappers; either of which would be a surprise to the ngz admin since the 
>  addresses are marked as "static".
> 
>  These addresses provided and enforced by the GZ are provided by an external 
>  entity (the GZ) the same way as the addresses in a dhcp or addrconf address 
>  object are provided by an external entity (the dhcp server and stateless 
>  addrconf config on the routers, respectively. Thus I think it makes sense to 
>  label them as a different type of address object to make this clear to the 
>  ngz admin
> 
>  I don't know what a good name would be - we used "from_gz" when we talked 
>  about this on the phone.
> 
>  That way the ngz admin will see something like
>      vnic0/_a          from_gz  ok           11.1.1.1/24
>      vnic0/_b          from_gz  ok           12.2.3.4/16
>  hence have visibility into the origin of these addresses. (Perhaps all 
>  addresses can be part of the same vnic0/_a address object, just like 
>  addrconf address objects contain multiple addresses, but that is a detail.)

If all we want is to keep the origin clear, that can be done by simply
setting an address flag (IFF_FROM_GZ) on addresses added by ipmgmtd, and
using that to print output in show-addr. But we discussed some more complex
issues on the phone, specifically the ability for the NGZ to persistently
set interface/address properties on the from_gz interface/addresses, 
the ability to not have these  things recreated on each reboot, and
the ability to recover from_gz information at any time after boot
using ipadm if, for example, vnic0 above got accidentally deleted. 

As we discussed on the phone, one solution for the anticipated
life-cycles for the "from_gz" address objects in ipkg excl-IP zones
would be

  - on the first boot, set up vnic0 and and the from_gz addresses
    persistently as far as ipadm is concerned,
  - on subsequent boots the numeric values of address and mask for
    from_gz objects are obtained from the nvlists set up by zoneadmd
    in the kernel, everything else (for the interface and address) is
    obtained from the persistent store
  - the administrator can delete the interface/addresses associated
    with the from_gz object at any time. The from_gz object, like dhcp
    or addrconf, would map to several addresses, so address operations
    would have to apply to all the addresses.  That would necessarily
    mean that the addrobj name would have to be the same for all the
    addresses
  - to recreate the from_gz interface after its been deleted, we'd need 
    a new
       # ipadm create-addr -T from_gz vnic0/gzaddrs
  - once an administrator has deleted the from_gz object that was handed
    down from the GZ, it will never be recreated.

In contrast, the current proposal creates all the addrobjs (and the interface)
in the NGZ temporarily, so individual addresses (and address objects) can
be selectively modified/deleted temporarily at any time, and while the
administrator can delete/recreate the same address (object)
persistently, on the next reboot the GZ information will win.

The latter model is possibly simpler, though it admittedly allows the 
NGZ less flexibility (esp in setting interface properties
persistently), and, short of restarting ipmgmtd, doesn't allow
the administrator to recover an accidentally deleted the "from_gz"
interface in a graceful way.

Thoughts?

--Sowmini
_______________________________________________
opensolaris-arc mailing list
opensolaris-arc@opensolaris.org

Reply via email to