configd System Configuration Daemon

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

  1. Maintains data reflecting the desired and current state of the system,
  2. Provides notifications to applications when this data changes, and
  3. 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.

-b Don't actually load any bundles.
-t bundle-path Loads only the bundle specified by bundle-path.
-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 verbose . Displays debugging information about bundles as they are being loaded.
-V bundleID verbose for bundleID.

BUNDLES

configuration agents (or bundles) hosted by configd are used to establish and maintain the network configuration.
    Including:
  1. KernelEventMonitor monitoring kernel events and conveying changes to the network state (e.g. link status) to other configuration agents and interested applications.
  2. InterfaceNamer provides a name to each of the system's network interfaces, queries the IOKit Registry for a list of network devices attached to the system and gives them BSD style names such as "en0".
  3. IPConfiguration establishes and maintains IPv4 addresses, may be have been manually specified in the network preferences or acquired using DHCP (or BOOTP).
  4. IP6Configuration establishing and maintaining IPv6 addresses on the system.
  5. IPMonitor establishes and maintains the primary network service, the default route, the active DNS configuration, and the active network proxies
  6. LinkConfiguration establishes and maintains the media type, media options, and MTU for ethernet interfaces.
  7. PreferencesMonitor conveys the network configuration preferences specified by the administrator to the configuration agents (IPv4, IPv6, ...).
  8. PPPController establishes and maintains PPP connections on the system.

FILES

Directory of configd bundles /System/Library/SystemConfiguration/
drwxr-xr-x  3 root  wheel  102 Jan 16  2014 ApplicationFirewallStartup.bundle/
EAPOLController.bundle/
IPConfiguration.bundle/
IPMonitor.bundle/
InterfaceNamer.bundle/
KernelEventMonitor.bundle/
LinkConfiguration.bundle/
Logger.bundle/

revised for readaility DGG
BuildMachineOSBuild 13F1701
    CFBundleDevelopmentRegion "English"
    CFBundleExecutable "Logger"
    CFBundleIdentifier "com.apple.SystemConfiguration.Logger"
    CFBundleInfoDictionaryVersion "6.0"
    CFBundleName "com.apple.SystemConfiguration.Logger"
    CFBundlePackageType "BNDL"
    CFBundleShortVersionString "1.13.1"
    CFBundleSignature "????"
    CFBundleVersion "1.13.1"
    DTCompiler "com.apple.compilers.llvm.clang.1_0"
    DTPlatformBuild "5A2053"
    DTPlatformVersion "GM"
    DTSDKBuild "13F1701"
    DTSDKName ""
    DTXcode "0501"
    DTXcodeBuild "5A2053"

    Enabled =F
    LOG_ALL =F
    LOG_IO_SYSTEMPOWER_EVENTS =T
    LOG_IO_WAKEUUID_EVENTS =F
    LOG_NETWORK_INFORMATION =T
    LOG_NETWORK_KERNEL_EVENTS =T
    LOG_NOTIFY_DNS_CONFIGURATION =T
    LOG_NOTIFY_NETWORK_CHANGE =T
    LOG_NOTIFY_SMB_CONFIGURATION =T
    LOG_NOTIFY_UTMPX_CHANGE =F
    LOG_SC_BTMM_CONFIGURATION =T
    LOG_SC_CONSOLEUSER =T
    LOG_SC_DIRECTORYSERVICES_SEARCHPOLICY =T
    LOG_SC_NETWORKCHANGE =F
    LOG_SC_PRIMARYSERVICE =T
    LOG_SC_REACHABILITY =F
    LOG_SC_REACHABILITY_HOSTS "mail.me.com" 
    Requires "com.apple.SystemConfiguration.SCNetworkReachability" 
    Verbose =F
PPPController.bundle/ PreferencesMonitor.bundle/ PrinterNotifications.bundle/ SCNetworkReachability.bundle/
Default directory for system configuration persistent store files. /Library/Preferences/SystemConfiguration/
System configuration .../preferences.plist
Network interface --> BSD interface mappings .../NetworkInterfaces.plist
Virtual network interface (VLAN) configuration .../VirtualNetworkInterfaces.plist

errors

Messages are sent to the system log daemon by syslog(3) The syslog facility used is LOG_DAEMON
If -d 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 .
sigTERM initiates a "graceful" shutdown

See also

scutil(8), scselect(8)

As of 01/06/12 the bundles (in /System/Library/SystemConfiguration ) are: Apple80211Monitor, ApplicationFirewall, Bluetooth, EAPOLController, IPConfiguration, IPMonitor, InterfaceNamer, KernelEventMonitor, LinkConfiguration, Logger, NetworkIdentification, PPPController, PreferencesMonitor, PrinterNotifications, wwanConfig

As of 10/03/11 the bundles were: Apple80211Monitor, Bluetooth, EAPOLController, IPConfiguration, Logger, PrinterNotifications, PPPController, wwanConfig

Sample Info.plist

syslog (i.e. /var/log/06_info.log) contains many :

Jan  6 12:54:45 smackerPro configd[15]: hostname (prefs) = smackerPro
Jan  6 12:57:15 smackerPro configd[15]: hostname (prefs) = smackerPro

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

Mac OS X June 18, 2009