Subject: Re: DHCP client, integration with ifconfig, etc.
To: Bill Sommerfeld <sommerfeld@orchard.medford.ma.us>
From: Matt Thomas <thomas@lkg.dec.com>
List: tech-net
Date: 02/09/1997 19:10:24
At 06:27 PM 2/9/97 -0500, Bill Sommerfeld wrote:
>   It turns out that when you're mobile, some daemons don't behave
>   properly, so another thing this script might do is to shut down
>   some daemons and restart them when the IP address changes.
>
>An idea which has occurred to me was to add a new signal,
>SIGIFCH, analogous to SIGWINCH, which is delivered to user
>processes expressing interest in it when the "local address set" of a
>system changes.

For IPv6 I've been thinking this idea for quite awhile.  I want 
to include such a mechanism into the IPv6 Advanced API RFC I'm 
coauthoring with Richard Stevens.

One method is to use a signal, possibly one of p1003.1b (realtime)
signals.  setsockopt(fd, IPPROTO_IPV6, IPV6_SIGADDRCH, &signo, sizeof(signo))
which would the signal in signo to be delivered to the owner of the
socket (via fcntl).

I'm not happy with that though because I believe signals are evil.  It
does have the advantage of requiring little infrastucture changes.

Another is a socket with an exception condition via select/poll.  Though
a setsockopt would be needed to enable this and to clear the condition.

Another is the return of a new errno, EADDREXPIRED, on bound sockets to an
expired address.

Any one have any preferences?
-- 
Matt Thomas                      Internet:   matt@lkg.dec.com
UNIX Networking                  WWW URL:    http://ftp.digital.com/%7Ethomas/
Digital Equipment Corporation    Disclaimer: This message reflects my own
Littleton, MA                                warped views, etc.