Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 187753 - net-misc/dhcpcd problem with multiple ip on same interface
Summary: net-misc/dhcpcd problem with multiple ip on same interface
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Roy Marples (RETIRED)
URL:
Whiteboard:
Keywords:
: 188028 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-08-04 20:12 UTC by Renan T. Inácio
Modified: 2007-08-09 16:39 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Work with ARP floods (dhcpcd-arp.patch,3.19 KB, patch)
2007-08-06 12:12 UTC, Roy Marples (RETIRED)
Details | Diff
Debug output for dhcpcd-3.1.3 (dhcpcd-3.1.3-and-2.0.5-debug.txt,2.15 KB, text/plain)
2007-08-06 23:30 UTC, Renan T. Inácio
Details
Work with ARP floods (dhcpcd-arp.patch,4.08 KB, patch)
2007-08-07 08:42 UTC, Roy Marples (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Renan T. Inácio 2007-08-04 20:12:05 UTC
dhcpcd versions 2.x all worked fine, including 2.0.5-r1
but the versions 3.0.x didnt, altough 3.1.3 does but takes a long time to get an address
here goes the logs for each version:



2.0.5-r1:

 *   Bringing up eth0
 *     192.x.x.x
 *     dhcp
 *       Running dhcpcd ...
 *       eth0 received address 192.x.x.x/24

Aug  4 16:32:01 amd3000 dhcpcd[25772]: MAC address = xx:xx:xx:xx:xx:xx
Aug  4 16:32:02 amd3000 dhcpcd[25772]: verified 189.x.x.x address is not in use
Aug  4 16:32:02 amd3000 dhcpcd[25772]: your IP address = 189.x.x.x

Note that it said it received 192 before, but it actually received 189 as syslog says, all works fine.



3.0.16-r1:

 *   Bringing up eth0
 *     192.x.x.x
 *     dhcp
 *       Running dhcpcd ...
Error, eth0:1: ioctl SIOCSIFFLAGS: Cannot assign requested address

Aug  4 16:28:59 amd3000 dhcpcd[19728]: eth0:1: dhcpcd 3.0.16 starting
Aug  4 16:28:59 amd3000 dhcpcd[19728]: eth0:1: ioctl SIOCSIFFLAGS: Cannot assign requested address

Not much to say, just doesn't work.



3.1.3:

 *   Bringing up eth0
 *     192.x.x.x
 *     dhcp
 *       Running dhcpcd ...
 *       eth0 received address 192.x.x.x/24

Aug  4 16:35:00 amd3000 dhcpcd[29316]: eth0:1: dhcpcd 3.1.3 starting
Aug  4 16:35:00 amd3000 dhcpcd[29316]: eth0:1: hardware address = xx:xx:xx:xx:xx:xx
Aug  4 16:35:00 amd3000 dhcpcd[29316]: eth0:1: DUID = xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Aug  4 16:35:00 amd3000 dhcpcd[29316]: eth0:1: broadcasting for a lease
Aug  4 16:35:00 amd3000 dhcpcd[29316]: eth0:1: offered 189.x.x.x from 200.x.x.x
Aug  4 16:35:00 amd3000 dhcpcd[29316]: eth0:1: checking 189.x.x.x is available on attached networks
Aug  4 16:36:52 amd3000 dhcpcd[29316]: eth0:1: leased 189.x.x.x for 14336 seconds
Aug  4 16:36:52 amd3000 dhcpcd[29316]: eth0:1: adding IP address 189.x.x.x/20
Aug  4 16:36:52 amd3000 dhcpcd[29316]: eth0:1: adding default route via 189.x.x.x metric 0

The "checking" step took 2 minutes. I tried restarting again to see if it wasn't bad luck, but actually it took 4 minutes, so I believe there's something wrong with 3.1 (since 3.0 was completly wrong)
Note that in the init script it says that acquired the previous IP, like version 2.x, but also works.



Here is /etc/conf.d/net:
modules=("ifconfig")
config_eth0=(
                "192.x.x.x netmask 255.255.255.0 broadcast 255.255.255.255"
                "dhcp"
)
dhcpcd_eth0=( "-R eth0:1" )

Reproducible: Always

Steps to Reproduce:




Portage 2.1.2.11 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.5-r4, 2.6.20-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.20-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System release 1.12.9
Timestamp of tree: Fri, 03 Aug 2007 02:30:01 +0000
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=k8 -O2 -pipe "
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://www.las.ic.unicamp.br/pub/gentoo/"
LANG="pt_BR.UTF-8"
LC_ALL="pt_BR.UTF-8"
LINGUAS="pt_BR"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS=" --timeout=5000 "
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"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/portage/local/layman/pro-audio /usr/portage/local/layman/xeffects /usr/local/overlay /usr/portage/local/layman/xeffects /usr/portage/local/layman/pro-audio"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac aalib acl acpi alsa amd64 apache2 arts asf audiofile avi beagle berkdb bitmap-fonts bzip2 cairo cdr cdrw cegui chm cli cracklib crypt css ctype cups curl dbus device-mapper dga dia dri dssi dts dvd dvdr dvdread dvdrw eds emboss encode esd evo exif fam fastcgi ffmpeg fftw firefox flac fontconfig fortran freeimage ftp gcj gd gdbm geoip ggi gif glade glib glx gnome gnutls gpm graphviz gs gstreamer gtk hal hdri howl iconv imagemagick inkjar ipod ipv6 isdnlog jack java jingle jpeg jpeg2k jungle kde kerberos ladspa lame latex ldap libcaca libg++ libnotify libsamplerate libvisual lm_sensors lzo mad matrox midi mikmod mjpeg mmx mmxext mng mono mp2 mp3 mp4 mpeg mplayer msn mudflap musepack musicbrainz mysql mysqli nautilus ncurses nfs nls nptl nptlonly nvidia ogg openal openexr opengl openmp oss pam patch-loader pcre pdf perl php physfs plotutils png pnm portaudio posix pppd python qt qt3 qt3support qt4 quicktime readline reflection rtc ruby samba sdl session sndfile sourceview speex spell spl srt sse sse2 ssl subversion svg tcpd theora threads tiff timidity truetype truetype-fonts type1-fonts unicode v4l v4l2 valgrind vcd vorbis wavpack wmf x264 xcb xine xls xml xmlrpc xorg xpm xscreensaver xulrunner xv xvid xvmc zip zlib" ALSA_CARDS="intel8x0 bt87x" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pt_BR" LIRC_DEVICES="pixelview_pro" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Roy Marples (RETIRED) gentoo-dev 2007-08-06 12:12:30 UTC
Created attachment 127060 [details, diff]
Work with ARP floods

It looks like it's because of an ARP flood. Try this patch.

If it fails, add -d to your dhcpcd options and attach the debugging output. Thanks.
Comment 2 Renan T. Inácio 2007-08-06 23:30:15 UTC
Created attachment 127128 [details]
Debug output for dhcpcd-3.1.3

The attachment contains the debug output for 3.1.3 (without patch) and 2.0.5-r1
Output of patched 3.1.3 is the same, except it hangs on "sendind arp probe #1" and uses 100% cpu

And something related that may help: tcpdump indeed shows a lot of "arp who-has" queries in the network, dozens per second.
Comment 3 Roy Marples (RETIRED) gentoo-dev 2007-08-07 08:42:15 UTC
Created attachment 127143 [details, diff]
Work with ARP floods

This one shouldn't hang - sorry about that.

If it still fails for you then I'll see if I can setup an ARP flood somehow.
Comment 4 Roy Marples (RETIRED) gentoo-dev 2007-08-08 03:22:11 UTC
*** Bug 188028 has been marked as a duplicate of this bug. ***
Comment 5 Renan T. Inácio 2007-08-08 21:49:47 UTC
This last patch works fine, thanks.
Comment 6 Renan T. Inácio 2007-08-08 23:06:29 UTC
Just another little problem, I don't know if I should open a new bug.
This computer connects to the internet (with dhcpcd), and forward this connection (with NAT) to the others. Using dhcpcd-3.1.3 (already patched), they cannot connect to some sites on the web, while this computer can.
In the tcpdump, there are repeating packets like the following when the other computers cannot connect:

19:34:23.845469 IP target.website.address > my.isp.address.1483: . 1:1461(1460) ack 103 win 5840
19:34:23.845887 IP my.isp.address > target.website.address: ICMP my.isp.address unreachable - need to frag (mtu 576), length 556

I noticed that it could be related to MTU, and in fact, it may be the problem, since when using dhcpcd-3.1.3, ifconfig shows that it is set to 576, while with dhcpcd-2.0.5, it is set to 1500.
Comment 7 Roy Marples (RETIRED) gentoo-dev 2007-08-09 06:38:11 UTC
Your DHCP server is requesting that the interface has an MTU of this then. I recommend fixing the setting on the DHCP server if possible.

Alteratively, you can use the -M option to ignore this with dhcpcd.
Comment 8 Roy Marples (RETIRED) gentoo-dev 2007-08-09 16:39:39 UTC
Fixed in 3.1.4, thanks