Dynamic host configuration protocol software
e79843f283
It might happen that the address is already there, in which case we want to update life-times. BZ#1187856#c15 ip addr add = NLM_F_CREATE|NLM_F_EXCL ip addr replace = NLM_F_CREATE|NLM_F_REPLACE ip addr change = NLM_F_REPLACE from linux/netlink.h NLM_F_REPLACE 0x100 /* Override existing */ NLM_F_EXCL 0x200 /* Do not touch, if it exists */ NLM_F_CREATE 0x400 /* Create, if it does not exist */ |
||
---|---|---|
.gitignore | ||
11-dhclient | ||
12-dhcpd | ||
56dhclient | ||
dhclient-script | ||
dhcp-64_bit_lease_parse.patch | ||
dhcp-add_timeout_when_NULL.patch | ||
dhcp-capability.patch | ||
dhcp-client-request-release-bind-iface.patch | ||
dhcp-CLOEXEC.patch | ||
dhcp-default-requested-options.patch | ||
dhcp-dhclient-decline-backoff.patch | ||
dhcp-dhclient-options.patch | ||
dhcp-duidv4.patch | ||
dhcp-errwarn-message.patch | ||
dhcp-failOverPeer.patch | ||
dhcp-garbage-chars.patch | ||
dhcp-getifaddrs.patch | ||
dhcp-gpxe-cid.patch | ||
dhcp-honor-expired.patch | ||
dhcp-improved-xid.patch | ||
dhcp-interval.patch | ||
dhcp-IPoIB-log-id.patch | ||
dhcp-ldapgssapi.patch | ||
dhcp-lpf-ib.patch | ||
dhcp-manpages.patch | ||
dhcp-no-subnet-error2info.patch | ||
dhcp-omapi-leak.patch | ||
dhcp-option97-pxe-client-id.patch | ||
dhcp-paranoia.patch | ||
dhcp-paths.patch | ||
dhcp-PPP.patch | ||
dhcp-release-by-ifup.patch | ||
dhcp-remove-bind.patch | ||
dhcp-remove-dst.patch | ||
dhcp-rfc3442-classless-static-routes.patch | ||
dhcp-sd_notify.patch | ||
dhcp-sendDecline.patch | ||
dhcp-sharedlib.patch | ||
dhcp-stateless-DUID-LLT.patch | ||
dhcp-systemtap.patch | ||
dhcp-unicast-bootp.patch | ||
dhcp-UseMulticast.patch | ||
dhcp.spec | ||
dhcpd6.service | ||
dhcpd.service | ||
dhcrelay.service | ||
README.dhclient.d | ||
sources | ||
tap_all.stp |
The /etc/dhcp/dhclient.d directory allows other packages and system administrators to create application-specific option handlers for dhclient. When dhclient is run, any option listed in the dhcp-options(5) man page can be requested. dhclient-script does not handle every option available because doing so would make the script unmaintainable as the components using those options might change over time. The knowledge of how to handle those options should be under the responsibility of the package maintainer for that component (e.g., NTP options belong in a handler in the ntp package). To make maintenance easier, application specific DHCP options can be handled by creating a script with two functions and placing it in /etc/dhcp/dhclient.d The script must follow a specific form: (1) The script must be named NAME.sh. NAME can be anything, but it makes sense to name it for the service it handles. e.g., ntp.sh (2) The script must provide a NAME_config() function to read the options and do whatever it takes to put those options in place. (3) The script must provide a NAME_restore() function to restore original configuration state when dhclient stops. (4) The script must be 'chmod +x' or dhclient-script will ignore it. The scripts execute in the same environment as dhclient-script. That means all of the functions and variables available to it are available to your NAME.sh script. Things of note: ${SAVEDIR} is where original configuration files are saved. Save your original configuration files here before you take the DHCP provided values and generate new files. Variables set in /etc/sysconfig/network, /etc/sysconfig/networking/network, and /etc/sysconfig/network-scripts/ifcfg-$interface are available to you. See the scripts in /etc/dhcp/dhclient.d for examples. NOTE: Do not use functions defined in /usr/sbin/dhclient-script. Consider dhclient-script a black box. This script may change over time, so the dhclient.d scripts should not be using functions defined in it. -- David Cantrell <dcantrell@redhat.com>