diff options
author | Bill Nottingham <notting@redhat.com> | 2010-01-08 17:12:09 -0500 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2010-01-08 17:12:09 -0500 |
commit | 36697b32a0ea243447430d8c72ebfd55bc2736c2 (patch) | |
tree | 44e6bfcbf8506c3fce6bdf697c899ea2cd337ba9 | |
parent | 4bc057e8701b8619557640903fd228bef1e8736f (diff) | |
download | initscripts-36697b32a0ea243447430d8c72ebfd55bc2736c2.tar initscripts-36697b32a0ea243447430d8c72ebfd55bc2736c2.tar.gz initscripts-36697b32a0ea243447430d8c72ebfd55bc2736c2.tar.bz2 initscripts-36697b32a0ea243447430d8c72ebfd55bc2736c2.tar.xz initscripts-36697b32a0ea243447430d8c72ebfd55bc2736c2.zip |
Run '/sbin/dhclient -6' instead of /sbin/dhcp6c (#553017, <dcantrell@redhat.com>)
The ISC software is now used for DHCPv6 support, so run dhclient in
DHCPv6 mode instead of the older /sbin/dhcp6c program. Still honor the
same configuration variables.
-rw-r--r-- | sysconfig.txt | 6 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifdown-eth | 18 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifup-eth | 6 |
3 files changed, 13 insertions, 17 deletions
diff --git a/sysconfig.txt b/sysconfig.txt index 55dd4ca5..44db524c 100644 --- a/sysconfig.txt +++ b/sysconfig.txt @@ -672,11 +672,11 @@ Files in /etc/sysconfig/network-scripts/ IPv6-only option to enable DHCPv6 client: DHCPV6C=yes|no - This will enable the DHCPv6 client, dhcp6c, to be run for the interface. - See man dhcp6c(8) and dhcp6c.conf(5). + This will enable the DHCPv6 features of dhclient to be run for the interface. + See man dhclient(8) and dhclient.conf(5). DHCPV6C_OPTIONS=... This will pass given arguments to the DHCPv6 client. For example, - "-I" option will request network information (e.g., DNS addresses) + "-S" option will request network information (e.g., DNS addresses) only, not IPv6 addresses. Ethernet-only items: diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth index 5e6d7d35..1ca6a6f2 100755 --- a/sysconfig/network-scripts/ifdown-eth +++ b/sysconfig/network-scripts/ifdown-eth @@ -63,28 +63,26 @@ if is_bonding_device ${DEVICE} ; then fi /etc/sysconfig/network-scripts/ifdown-ipv6 ${CONFIG} -if [[ "${DHCPV6C}" = [Yy1]* ]] && [ -f /var/run/dhcp6c_${DEVICE}.pid ]; then - kill $(cat /var/run/dhcp6c_${DEVICE}.pid); - rm -f /var/run/dhcp6c_${DEVICE}.pid; -fi retcode=0 [ -n "$(pidof -x dhclient)" ] && { - if [ -f "/var/run/dhclient-${DEVICE}.pid" ]; then - dhcpid=$(cat /var/run/dhclient-${DEVICE}.pid) + for VER in "" 6 ; do + if [ -f "/var/run/dhclient$VER-${DEVICE}.pid" ]; then + dhcpid=$(cat /var/run/dhclient$VER-${DEVICE}.pid) if [[ "$DHCPRELEASE" = [yY1]* ]]; then - /sbin/dhclient -r -lf /var/lib/dhclient/dhclient-${DEVICE}.leases -pf /var/run/dhclient-${DEVICE}.pid ${DEVICE} >/dev/null 2>&1 + /sbin/dhclient -r -lf /var/lib/dhclient/dhclient$VER-${DEVICE}.leases -pf /var/run/dhclient-${DEVICE}.pid ${DEVICE} >/dev/null 2>&1 retcode=$? else kill $dhcpid >/dev/null 2>&1 retcode=$? - reason=STOP interface=${DEVICE} /sbin/dhclient-script + reason=STOP$VER interface=${DEVICE} /sbin/dhclient-script fi - if [ -f "/var/run/dhclient-${DEVICE}.pid" ]; then - rm -f /var/run/dhclient-${DEVICE}.pid + if [ -f "/var/run/dhclient$VER-${DEVICE}.pid" ]; then + rm -f /var/run/dhclient$VER-${DEVICE}.pid kill $dhcpid >/dev/null 2>&1 fi fi + done } # we can't just delete the configured address because that address # may have been changed in the config file since the device was diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth index 35be659d..2aead689 100755 --- a/sysconfig/network-scripts/ifup-eth +++ b/sysconfig/network-scripts/ifup-eth @@ -305,10 +305,8 @@ fi # IPv6 initialisation? /etc/sysconfig/network-scripts/ifup-ipv6 ${CONFIG} -if [[ "${DHCPV6C}" = [Yy1]* ]] && [ -x /sbin/dhcp6c ]; then - /sbin/dhcp6c ${DHCPV6C_OPTIONS} ${DEVICE} - dhcp6_pid=($(/bin/ps -eo 'pid,args' | /bin/grep "dhcp6c ${DHCPV6C_OPTIONS} ${DEVICE}" | egrep -v grep)) - [ -n "$dhcp6_pid" ] && echo ${dhcp6_pid[0]} > /var/run/dhcp6c_${DEVICE}.pid +if [[ "${DHCPV6C}" = [Yy1]* ]] && [ -x /sbin/dhclient ]; then + /sbin/dhclient -6 ${DHCPV6C_OPTIONS} ${DEVICE} -lf /var/lib/dhclient/dhclient6-${DEVICE}.leases -pf /var/run/dhclient6-${DEVICE}.pid fi if [ "${IPX}" = yes ]; then |