From Jeff Frey:
Within the heart of the Darwin OS is a beautiful piece of OS engineering called the SystemConfiguration framework, which among other things implements:
- Dynamic network configuration: the user can modify parameters on-the-fly and the changes are noted without a restart of the entire OS.
- Location-based configuration sets: the user can create multiple sets of parameters, termed "locations," which may be activated dynamically
- Centrally-defined, XML storage form: all parameters are stored in a central plist file; the multitude of files in /etc need not be modified
The UNIX-esque method of editing text files with strict, non-uniform text formats is thus replaced with a more standardized method of storing and managing the network configuration.
While this sounds wonderful, there was a key piece of software missing from the picture: a program which allowed the user to actually enter the information and parameters! As a result, old-time configuration methods -- editing those text files in /etc -- have proliferated and presented a general air of disarray in the Darwin community when it comes to network setup under the OS.