Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

joinc(8)							     joinc(8)


  joinc	- Daemon for DHCP client configuration


  /usr/sbin/joinc [-f] [-dn] [-ln]


  -dn Sets debug level to n. If	debug is turned	on, log	messages are also

  -f  Runs in the foreground instead of	as a daemon process.

  -ln Enables warning (n > 0) and log (n > 1) messages.	If n is	not expli-
      citly given, the value one is assumed (warnings are turned on).


  The joinc daemon implements the client half of the Dynamic Host Configura-
  tion Protocol	(DHCP) with hardware extensions.

  (JOIN	is a trademark of Competitive Automation.)

  The DHCP protocol, among other things, permits a client to establish an
  endpoint for communication with a network by delivering an IP	address	for
  each of the client's network interfaces, and a "lease" on that address. The
  lease	specifies the interval for which the address remains valid: it may be
  infinite or of fixed duration. If it appears that the	client wishes to con-
  tinue	using the IP address after its expiration, the DHCP protocol must
  negotiate an extension. For this reason the DHCP client code must run	as a
  daemon, only terminating when	the client powers down.

  Communication	with the joinc daemon is effected through the agency of	an
  auxiliary program called dhcpconf.  The joinc	daemon may be invoked as a
  user process (requiring root privileges), but	this is	not necessary as the
  dhcpconf program will	start it implicitly.

  When started,	joinc reads its	startup	file, /etc/join/client.pcy and either
  proceeds to act on the instruction(s)	passed to it by	the dhcpconf program,
  or enters a passive state while awaiting a new command. When joinc receives
  a command to configure an interface the DHCP protocol	starts.	If successful
  the interface	is configured. The configuration received is stored in the
  interface.dhc	file located (by default) under	the /etc/join directory.  The
  client daemon	sleeps until it	needs to renew the lease, which	happens	well
  before the lease expires.  Upon wakeup, if the interface is found to be
  down or has a	different IP address, joinc considers that the interface is
  no longer under its control and drops	it from	future consideration, until
  an explicit request arrives from dhcpconf. If	the lease cannot be renewed,
  joinc	takes down the interface when it expires as required by	the DHCP pro-
  tocol.  See RFC 1541 for details.

  The DHCP protocol also acts as a mechanism to	configure other	information
  needed by the	client such as name domain and router addresses. The joinc
  daemon does not configure this information but acts as a database which may
  be interrogated by other programs, particularly by dhcpconf. This approach
  is more flexible in that it allows third party software access to the	data
  through a published API, and allows system administrators to control client
  configuration	by customizing startup scripts to permit various aspects of
  the client and its software to be customized in a specific order.  On
  clients with a single	interface this is straightforward; clients with	mul-
  tiple	interfaces may present difficulties because some information arriving
  on different interfaces may need to be merged, or may	be inconsistent.
  Furthermore, the configuration of the	interfaces is asynchronous; requests
  may arrive while some	or all of the interfaces are still unconfigured.  The
  joinc	daemon resolves	these problems as follows. When	a request for a	glo-
  bal parameter	arrives, joinc searches	all interfaces that were successfully
  configured, and returns to the requester the name of the first one it	find
  to contain the pertinent data. The client program may	then access the	data
  by an	API which reads	the appropriate	interface.dhc file. If no interfaces
  are successfully configured when the request is received, or if the none of
  those	which are configured have the data, the	request	fails. The dhcpconf
  program allows this behavior to be overridden	by insisting that the global
  data sought be associated with a particular interface. See dhcpconf(8) for

  The joinc daemon writes informational	and error messages in four

      Errors are severe, usually unrecoverable,	events due to resource
      exhaustion and other unexpected failure of system	calls. An error	is
      also generated if	the client's lease on an IP address is in danger of

      Warnings are less	severe,	and in most cases describe unusual or
      incorrect	datagrams received from	clients, or requests for service that
      cannot be	provided.

  Informational	Messages
      Informational messages provide a readable	transcription of (correct)
      actions performed	by the server on behalf	of client hosts.

  Debug	Messages
      Debug messages may be generated at various levels	of verbosity from
      zero (not	at all)	through	nine, as controlled by the -d option.

  Warning, informational, and debug messages are discarded. Errors are writ-
  ten to /dev/console and are sent to the system logger	syslog(3) at priority
  LOG_ERR and with a facility identifier LOG_DAEMON. If	warnings are enabled
  they also are	written	to the system console and syslog with the same facil-
  ity, but at priority LOG_WARNING. The	creation and disposition of messages
  is controlled	by the -f, -d, and -l command line options, and	the JOINLOG
  environment variable.	  When present,	JOINLOG	names a	file to	which mes-
  sages	are sent in preference to the system console. Note that	until the
  root file system is mounted read-write no ordinary file can be used for
  this purpose.


  A cluster member should never	be a DHCP client. It should always use static

  If a cluster is to support a DHCP server, there can be only one DHCP server
  for all the cluster members using a common database with failover.

  The joinc daemon can configure clients with two or more interfaces giving
  each an IP address. However, each interface so configured must be on a dif-
  ferent physical network and subnet.


  Upon receipt of SIGUSR1 signals, the joinc daemon dumps the contents of its
  scheduling table and the status of each interface under its control.


  By default, the joinc	daemon expects to read its policy file and read	and
  write	its configuration databases in the /etc/join directory.	The JOINCON-
  FIG environment variable may be used to select a different directory.

      Contains parameters that govern the behavior of joinc, and general pol-
      icies concerning network administration.

      Contains the configuration for interface.	 The existence of this file
      does not imply that the configuration is correct,	since the lease	may
      have expired.


  Commands: dhcpconf(8), dhcpparm(8), joind(8),	showdhc(8), shleases(8)

  Files: client.pcy(4)

  RFC 1541