Bug 196088 - net-misc/dhcpcd-3.1.6 changes baselayout behavior
Bug#: 196088 Product:  Gentoo Linux Version: 2006.1 Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: uberlord@gentoo.org Reported By: tsm@accesscomm.ca
Component: Applications
URL: 
Summary: net-misc/dhcpcd-3.1.6 changes baselayout behavior
Keywords:  
Status Whiteboard: 
Opened: 2007-10-16 19:52 0000
Description:   Opened: 2007-10-16 19:52 0000
dhcpcd-3.1 now ships with zeroconf support. I don't think this should be
enabled by default as it changes prior behaviour, for instance, breaking
failovers.  See http://forums.gentoo.org/viewtopic-t-594062.html for the
problems this can cause.

Please supply a USE flag to control this or at least a warning in the ebuild.

PLEASE DO NOT MARK AS DUPE WITHOUT DUE CONSIDERATION.  I was asked by the main
baselayout dev to submit this bug, and my previous one.

Reproducible: Always

Steps to Reproduce:
1. In /etc/conf.d/net :
config_eth0=( "dhcp" )
fallback_wan=( "192.168.0.2/24" )
fallback_route_wan=( "default via 192.168.0.1" )

2. Disconnect network cable from eth0

3. /etc/init.d/net.eth0 restart
Actual Results:  
dhcpcd does not return error, preventing the failover from working.  Instead it
sets the interface to a random address in the 169.x.y.z range.

When the option:

dhcpcd_eth0="-L"

is present in /etc/conf.d/net, failovers behave as they did with dhcpcd 2.x.

Expected Results:  
I expected the failovers to work as they did with dhcpcd 2.x, since no notice
was given of the changed behavior.

Portage 2.1.2.12 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r4,
2.6.19-gentoo-r5mec i686)
=================================================================
System uname: 2.6.19-gentoo-r5mec i686 Pentium II (Deschutes)
Gentoo Base System release 1.12.9
Timestamp of tree: Tue, 11 Sep 2007 17:00:02 +0000
app-shells/bash:     3.2_p17
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php5/ext-active/
/etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync-excludes"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl acpi alsa apache2 arts berkdb bitmap-fonts bzip2 cairo cdr cli
cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam
firefox fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg
kde kerberos ldap logrotate mad midi mikmod mp3 mpeg mudflap ncurses nls nptl
nptlonly ogg opengl openmp oss pam pcre pdf perl png pppd python qt3 qt3support
qt4 quicktime readline reflection sdl session spell spl ssl svg sysfs tcpd tiff
truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xml xorg xv
zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci
emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0
intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file
hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route
share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev"
KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001
mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix
dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon
rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l
vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS,
LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY

------- Comment #1 From Roy Marples (RETIRED) 2007-10-17 09:47:49 0000 -------
To be fair, you should be using netplug or ifplugd to manage your network cable
being in or out :)

I've added a zeroconf USE flag to the 3.1.6-r1 ebuild which controls this
behaviour now, with a nice warning as well.