[lug] dhcpcd lease issue
John Hernandez
John.Hernandez at noaa.gov
Wed Aug 21 13:11:48 MDT 2002
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Chuck, since this is a PCMCIA card (right?) it might be helpful if you
have access to another brand of PCMCIA NIC. This could eliminate (or
implicate) hardware/driver issues.
- -John
Chuck Wiechman wrote:
| Hmm very interesting. Running the fuser command now it is there, so
| it looks like your are on to something here. Here is the output you
asked
| for. I will have to work on the strace stuff later.
|
| Should I just set this up for pump and call it good, or do you think I
| have something else really hosed here?
|
| Thanks for your help!
|
|
|
|
| /sbin/fuser -v -u -n tcp "68" -n udp "68"
|
| USER PID ACCESS COMMAND
|
68/udp root 950 f.... dhcpcd
|
|
|
|>on the no-longer-valid-no-longer-listening socket, this might happen as
|>a side-effect.
|>
|>In other words, it might just be a symptom of earlier loss of listening
|>to the socket. If
|> /sbin/fuser -v -u -n tcp "68" -n udp "68"
|>...does not show dhcpcd listening, you *cannot* succeed, nor can you
|>treat an old and no-longer-listening socket with the same ioctl,
|>pretending it is still valid.
|>
|>What is in your
|> /etc/sysconfig/network-scripts/eth0-cfg?
|
|
| more ifcfg-eth0
| DEVICE=eth0
| BOOTPROTO=dhcp
| ONBOOT=yes
|
|
|
|>What is the output in /var/log/messages after running
|> "/etc/rc.d/init.d/network restart"?
|
|
| Aug 21 12:17:00 merlin network: Shutting down interface eth0: succeeded
| Aug 21 12:17:01 merlin network: Shutting down loopback interface:
succeeded
| Aug 21 12:17:01 merlin sysctl: net.ipv4.ip_forward = 0
| Aug 21 12:17:01 merlin sysctl: net.ipv4.conf.default.rp_filter = 1
| Aug 21 12:17:01 merlin sysctl: kernel.sysrq = 0
| Aug 21 12:17:01 merlin sysctl: kernel.core_uses_pid = 1
| Aug 21 12:17:01 merlin network: Setting network parameters: succeeded
| Aug 21 12:17:01 merlin network: Bringing up loopback interface:
succeeded
| Aug 21 12:17:01 merlin ifup: Determining IP information for eth0...
| Aug 21 12:17:01 merlin kernel: xircom cardbus adaptor found,
registering as eth0, using irq 11
| Aug 21 12:17:01 merlin ifup: done.
| Aug 21 12:17:02 merlin network: Bringing up interface eth0: succeeded
|
|
| eth0 Link encap:Ethernet HWaddr 00:10:A4:E0:43:DF
| inet addr:10.1.1.54 Bcast:10.1.1.255 Mask:255.255.255.0
| UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
| RX packets:5348 errors:0 dropped:0 overruns:0 frame:0
| TX packets:631 errors:0 dropped:0 overruns:0 carrier:0
| collisions:0 txqueuelen:100
| RX bytes:1582787 (1.5 Mb) TX bytes:130868 (127.8 Kb)
| Interrupt:11 Base address:0x4000
|
|
| /sbin/fuser -v -u -n tcp "68" -n udp "68"
|
| USER PID ACCESS COMMAND
|
68/udp root 3356 f.... dhcpcd
|
| ps -ef | grep dhcp
| root 3356 1 0 12:17 ? 00:00:00 /sbin/dhcpcd -n eth0
|
|
|
|>You could temporarily do something that will give lots of output, but
|>you only care about the last page or so of output. The system call
|>tracer "strace" can be output to another terminal or console, and you
|>can thus see the last page of output. Here is a demonstration of what I
|>am getting at. Assume you have a console tty2, the 2nd console login for
|>non-graphical logins. Regardless of whether anything is logged in there,
|>do this as root from another window or console:
|> echo "testing this" > /dev/tty2
|>
|>You will see this message on tty2, though it won't actually do anything.
|>Sort of how wall works. If you use strace on your dhcp client, and
|>redirect stderr to /dev/tty2, it will also do this, but with debugging
|>information on system calls. You are only interested in the last page of
|>data, and you could even filter through with a case-insensitive filter
|>for "ioctl" (assumes bash shell syntax for redirecting stderr to stdout):
|> strace TheProgram 2>&1 | \
|> awk -v IGNORECASE=1 '/(SIO|ioctl|[=] [-])/,/[)]' > \
|> /dev/tty2
|>
|>(the above is a case insensitive filter for "sio", "ioctl", or lines
|>ending with "= -", because negative return values are failure...though
|>not all failures are significant)
|>
|>To see how it works try this sample (set for console 2):
|>strace echo "SIO and ioctl" 2>&1 | \
|>awk -v IGNORECASE=1 '/(SIO|ioctl|[=] [-])/,/[)]/' \
|> > /dev/tty2
|>
|>If you go to console 2, you will see something similar to this:
|>execve("/bin/echo", ["echo", "SIO and ioctl"], [/* 38 vars */]) = 0
|>open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
|>directory)
|>write(1, "SIO and ioctl\n", 14SIO and ioctl
|>) = 14
|>
|>
|>With the above strace filter, more information is possibly available to
|>figure out why it dies. A convenient way to do all of the above might be
|>to create a bash script called dhcpcd, that runs the real dhcpcd,
|>passing along all arguments, and running it under strace. The real
|>dhcpcd can be moved somewhere else, or renamed (e.g., dhcpc-original),
|>with the script knowing what the new name/location is. Then it won't
|>matter who/what calls /sbin/dhcpcd, it will go to the console named, in
|>filtered form.
|>
|>D. Stimits, stimits AT attbi.com
|>
|>
|>
|>>
|>>Aug 21 10:00:56 merlin dhcpcd[950]: dhcpStop: ioctl SIOCSIFFLAGS:
|>>Inappropriate ioctl for device
|>>
|>>*** it has changed from 10.1.1.53 to .54
|>>
|>>eth0 Link encap:Ethernet HWaddr 00:10:A4:E0:43:DF
|>> inet addr:10.1.1.54 Bcast:10.1.1.255 Mask:255.255.255.0
|>> UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
|>> RX packets:4354 errors:0 dropped:0 overruns:0 frame:0
|>> TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
|>> collisions:0 txqueuelen:100
|>> RX bytes:1490307 (1.4 Mb) TX bytes:11616 (11.3 Kb)
|>> Interrupt:11 Base address:0x4000
|>>
|>>
|>>>From the dhcp server (notice that the .53 lease started this
morning when
|>>I booted the computer.
|>>
|>>Aug 21 10:06:03 firewall dhcpd: DHCPDISCOVER from 00:10:a4:e0:43:df
via eth0
|>>Aug 21 10:06:03 firewall dhcpd: Abandoning IP address 10.1.1.53:
pinged before offer
|>>Aug 21 10:06:03 firewall dhcpd: DHCPDISCOVER from 00:10:a4:e0:43:df
via eth0
|>>Aug 21 10:06:04 firewall dhcpd: DHCPOFFER on 10.1.1.50 to
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:04 firewall dhcpd: DHCPDISCOVER from 00:10:a4:e0:43:df
via eth0
|>>Aug 21 10:06:05 firewall dhcpd: DHCPOFFER on 10.1.1.54 to
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:05 firewall dhcpd: DHCPREQUEST for 10.1.1.54 from
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:05 firewall dhcpd: DHCPACK on 10.1.1.54 to
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:05 firewall dhcpd: DHCPREQUEST for 10.1.1.54 from
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:05 firewall dhcpd: DHCPACK on 10.1.1.54 to
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:06 firewall dhcpd: DHCPREQUEST for 10.1.1.54 from
00:10:a4:e0:43:df via eth0
|>>Aug 21 10:06:06 firewall dhcpd: DHCPACK on 10.1.1.54 to
00:10:a4:e0:43:df via eth0
|>>
|>>
|>>
|>>lease 10.1.1.53 {
|>> starts 3 2002/08/21 16:06:03;
|>> ends 3 2002/08/21 16:06:03;
|>> abandoned;
|>>
|>>lease 10.1.1.54 {
|>> starts 3 2002/08/21 16:06:06;
|>> ends 3 2002/08/21 20:06:06;
|>> hardware ethernet 00:10:a4:e0:43:df;
|>> uid 01:00:01:02:79:2d:87;
|>>}
|>>
|>>
|>>
|>>
|>>
|>>
|>>On Tue, 20 Aug 2002, Chuck Wiechman wrote:
|>>
|>>
|>>
|>>>That could be an issue, but in this case I was pulling the ethernet
cable
|>>>out trying to reproduce the issue. That is why the packet count was so
|>>>low.
|>>>
|>>>I will keep watching to see if it flapps, that might be the problem...
|>>>
|>>>Thanks.
|>>>
|>>>
|>>>
|>>>On Tue, 20 Aug 2002, John Hernandez wrote:
|>>>
|>>>
|>>>
|>>>>The packet counters seem suspiciously low for an interface that's been
|>>>>up for the last few hours. Are you sure it's not flapping?
|>>>
|>_______________________________________________
|>Web Page: http://lug.boulder.co.us
|>Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
|>Join us on IRC: lug.boulder.co.us port=6667 channel=#colug
|>
|
|
| _______________________________________________
| Web Page: http://lug.boulder.co.us
| Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
| Join us on IRC: lug.boulder.co.us port=6667 channel=#colug
- --
~ - John Hernandez - Network Engineer - 303-497-6392 -
~ | National Oceanic and Atmospheric Administration |
~ | Mailstop R/OM62. 325 Broadway, Boulder, CO 80305 |
~ ----------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAj1j5fQACgkQB1Kl6VhqfiPnhACdEmfxVv45n166qE5bw6sU+/hZ
2ugAn2CGCfMDJ9HbAyNmMSBkdozhKcOM
=JgRt
-----END PGP SIGNATURE-----
More information about the LUG
mailing list