Hi Darren,

Comments inline.

Darren J Moffat wrote:
> James Carlson wrote:
>> I'm sponsoring this fast-track request for Jack Meng.  The timer is
>> set to 10/24/2008.
>>
>> Background
>>
>>   By default, dhcpagent "canonizes" interfaces under its control on
>>   receipt of SIGTERM.  This means that it will reset the IP address
>>   back to 0.0.0.0 during shutdown.  This happens regardless of whether
>>   dhcpagent is configured to release or drop leases.
>
> I'm sure this was considered but why bother with the reset to 0.0.0.0 
> on shutdown at all ?  What does it achieve ? 
dhcpagent canonizes all interfaces upon receiving SIGTERM, which usually 
happends during shutdown/reboot/halt (kill(-1, SIGTERM)) to stop all 
processes. It makes sense in the view of DHCP protocol and harmless for 
most (if not all) userland processes as they usually have SMF 
dependencies. But this behavior hurts kernel elements (iSCSI, NFS..) 
which are based on TCP/IP stack and supposed to still work after 
'kill(-1, SIGTERM)', e.g., to synchronize file system.
> If that wasn't done would there be any need for this special knowlege 
> of iSCSI (and NFS) both of which seem very "icky" but if needs must.
I think NO, no special knowledge needed if the configuration of the if 
doesn't change at all during shutdown.
>   What breaks if dhcpagent does not reset back to 0.0.0.0 on shutdown 
> ?  Could it still send the DHCP release to the DHCP server but not 
> reset the interface ?
It is a solution, but violating the protocol more severely.
>
>
> When is dhcpagent going to call the new ioctl ?  What are the 
> responses it gets back and what circumstances ? 
The proposal is to let dhcpagent to call the ioctl in its handler of 
SIGTERM. The response is either True or False indicating if there're 
active iSCSI sessions configured.
> What if we have a "mixed" boot environment where one size of the 
> mirror in the ZFS root pool is local disk and the other is iSCSI ?  
> Does that count as being ISCSI_IS_ACTIVE?
> What if there are no "boot" pools/filesystems under iSCSI but there 
> are other active iSCSI devices ?
Yes, these circumstances stand for 'iSCSI active' as there're active 
iSCSI session and the system may have iSCSI disks in use (root partition 
or zpool or..).
>
> Is this only if there is an an iSCSI initiator active, what about 
> targets ? [ Though I wouldn't expect those machines to be iSCSI boot ].
>
Current iSCSI target on Solaris in a service in userland, it addressed 
this issue well with SMF dependency, and also it is not supposed to 
still work after 'kill(-1, SIGTERM)'.

Best regards,
Jack

Reply via email to