Reference

configd(8)

System Configuration Daemon

NAME

configd – System Configuration Daemon

SYNOPSIS

configd [-bdv] [-B bundleID] [-V bundleID] [-t bundle-path]

DESCRIPTION

The configd daemon is responsible for many configuration aspects of the local system. configd maintains data reflecting the desired and current state of the system, provides notifications to applications when this data changes, and hosts a number of configuration agents in the form of loadable bundles.

Each configuration agent is responsible for a well-defined aspect of configuration management. The agents look to one or more input sources (preferences, low-level kernel events, configd notifications, etc) and, through a set of policy modules, interacts with the system to establish the desired operational configuration.

Access to the data maintained by configd is via the SystemConfiguration.framework SCDynamicStore APIs.

OPTIONS

The command line options are as follows:

-b

Don't actually load any bundles.

-B bundleID

Prevents the loading of the bundle with the specified bundleID.

-d

Run configd in the foreground without forking. This is useful for debugging.

-v

Puts configd into verbose mode. Displays debugging information about bundles as they are being loaded.

-V bundleID

Turns verbose mode on for the bundle with the specified bundleID.

-t bundle-path

Loads only the bundle specified by bundle-path.

BUNDLES

At the present time, the majority of the configuration agents (or bundles) hosted by configd are used to establish and maintain the network configuration. These agents include:

KernelEventMonitor

This bundle is responsible for monitoring kernel events and conveying changes to the network state (e.g. link status) to other configuration agents and interested applications.

InterfaceNamer

This bundle provides a name to each of the system's network interfaces. The bundle queries the IOKit Registry for a list of network devices attached to the system and gives them BSD style names such as "en0".

IPConfiguration

This agent is responsible for establishing and maintaining IPv4 and IPv6 addresses on the system. These addresses may be manually specified in the network preferences or acquired using DHCP (or BOOTP), DHCPv6, and RTADV.

IPMonitor

This agent is responsible for establishing and maintaining the primary network service, the default route, the active DNS configuration, and the active network proxies on the system.

LinkConfiguration

This agent is responsible for establishing and maintaining the media type, media options, and MTU for ethernet interfaces.

PreferencesMonitor

This agent is responsible for conveying the network configuration preferences specified by the administrator to the various configuration agents (IPv4, IPv6, ...).

PPPController

This agent is responsible for establishing and maintaining PPP connections on the system.

FILES

/System/Library/SystemConfiguration/

Directory of configd bundles

/Library/Preferences/SystemConfiguration/

Default directory for system configuration persistent store files.

.../preferences.plist

Network configuration and computer/host names

.../NetworkInterfaces.plist

Network interface --> BSD interface mappings

ERRORS

Log messages generated by configd and any configuration agents will are sent to the system log daemon by syslog(3). The syslog facility used is LOG_DAEMON. If the -d option is specified, log messages with written to stdout (or stderr if the priority is greater than LOG_NOTICE).

SIGNALS

configd was designed to run without any intervention but if you insist on sending a signal to the daemon then the following are available:

SIGHUP

This signal, typically used to tell a daemon to reload its configuration, is ignored (there is no configuration).

SIGTERM

This signal initiates a "graceful" shutdown of the daemon.

SEE ALSO

scutil(8), scselect(8)

HISTORY

The configd daemon appeared in Mac OS X Public Beta.

NOTES

Unless started with the -d option, configd will register with launchd(8) such that the daemon will be restarted in the event of a crash. This registration will be removed during "graceful" shutdowns of the daemon.

This daemon and its current behavior may change without notice. Do not rely on its existence or its behavior. Consider it an unsupported command.

History