source: rtems-libbsd/dhcpcd/README @ 91b858d

55-freebsd-126-freebsd-12
Last change on this file since 91b858d was f2ed769, checked in by Sebastian Huber <sebastian.huber@…>, on 01/30/14 at 12:29:46

DHCPCD(8): Import

Import DHCPCD(8) from:

http://roy.marples.name/projects/dhcpcd/

The upstream sources can be obtained via:

fossil clone http://roy.marples.name/projects/dhcpcd

The imported version is 2014-01-29 19:46:44 [6b209507bb].

  • Property mode set to 100644
File size: 4.2 KB
Line 
1dhcpcd - DHCP client daemon
2Copyright (c) 2006-2014 Roy Marples <roy@marples.name>
3
4
5Installation
6------------
7./configure; make; make install
8man dhcpcd for command line options
9man dhcpcd.conf for configuration options
10man dhcpcd-run-hooks to learn how to hook scripts into dhcpcd events
11
12
13Notes
14-----
15If you're cross compiling you may need set the platform if OS is different
16from the host.
17--target=sparc-sun-netbsd5.0
18
19If you're building for an MMU-less system where fork() does not work, you
20should ./configure --disable-fork.
21This also puts the --no-background flag on and stops the --background flag
22from working.
23
24You can change the default dirs with these knobs.
25For example, to satisfy FHS compliance you would do this:-
26./configure --libexecdir=/lib/dhcpcd dbdir=/var/lib/dhcpcd
27
28We now default to using -std=c99. For 64-bit linux, this always works, but
29for 32-bit linux it requires either gnu99 or a patch to asm/types.h.
30Most distros patch linux headers so this should work fine.
31linux-2.6.24 finally ships with a working 32-bit header.
32If your linux headers are older, or your distro hasn't patched them you can
33set CSTD=gnu99 to work around this.
34
35Some BSD systems do not allow the manipulation of automatically added subnet
36routes. You can find discussion here:
37    http://mail-index.netbsd.org/tech-net/2008/12/03/msg000896.html
38BSD systems where this has been fixed are:
39    NetBSD-5.0
40
41Some BSD systems protect against IPv6 NS/NA messages by ensuring that the
42source address matches an address/prefix on the interface.
43This is an error as the correct check is for on-link prefixes.
44As such, on these systems stateful addressing via DHCPv6 may cause issues
45trying to reach other neighbours.
46BSD systems where this is known to be a problem
47    Occured in NetBSD-5.0, fixed in NetBSD-6.99.29
48    Occured in OpenBSD-4.2, fixed in OpenBSD-5.0
49
50We try and detect how dhcpcd should interact with system services at runtime.
51If we cannot auto-detect how do to this, or it is wrong then
52you can change this by passing shell commands to --serviceexists,
53--servicecmd and optionally --servicestatus to ./configure or overriding
54the service variables in a hook.
55
56Some systems have /dev management systems and some of these like to rename
57interfaces. As this system would listen in the same way as dhcpcd to new
58interface arrivals, dhcpcd needs to listen to the /dev management sytem
59instead of the kernel. However, if the /dev management system breaks, stops
60working, or changes to a new one, dhcpcd should still try and continue to work.
61To facilitate this, dhcpcd allows a plugin to load to instruct dhcpcd when it
62can use an interface. As of the time of writing only udev support is included.
63You can disable this with --without-dev, or without-udev
64
65To shrink dhcpcd you can disable IPv4 or IPv6:
66        --disable-inet
67        --disable-inet6
68
69You can also move the embedded extended configuration from the dhcpcd binary
70to an external file (LIBEXECDIR/dhcpcd-definitions.conf)
71        --disable-embedded
72If dhcpcd cannot load this file at runtime, dhcpcd will work but will not be
73able to decode any DHCP/DHCPv6 options that are not defined by the user
74in /etc/dhcpcd.conf.
75
76To prepare dhcpcd for import into a platform source tree (like NetBSD)
77you can use the make import target to create /tmp/dhcpcd-$version and
78populate it with all the source files and hooks needed.
79In this instance, you may wish to disable some configured tests when
80the binary has to run on older versions which lack support, such as getline.
81./configure --without-getline
82
83
84Hooks
85-----
86Not all the hooks in dhcpcd-hooks are installed by default.
87By default we install 01-test, 02-dump, 10-mtu, 10-wpa_supplicant,
8815-timezone, 20-resolv.conf, 29-lookup-hostname and 30-hostname.
89The default dhcpcd.conf disables the lookup-hostname hook by default.
90The configure program attempts to find hooks for systems you have installed.
91To add more simply
92./configure -with-hook=ntp.conf
93
94
95Compatibility
96-------------
97dhcpcd-5.0 is only fully command line compatible with dhcpcd-4.0
98For compatibility with older versions, use dhcpcd-4.0
99
100
101ChangeLog
102---------
103We no longer supply a ChangeLog.
104However, you're more than welcome to read the commit log at
105http://roy.marples.name/projects/dhcpcd/timeline/
Note: See TracBrowser for help on using the repository browser.