dhclient conflict between /sbin/devd and /etc/rc.d/netif ?

Robert Jenssen robertjenssen at ozemail.com.au
Sun Feb 10 18:53:39 PST 2008


Hi,

Thanks for the prompt reply. By "owned", I meant that "ps -ajx" 
shows /sbin/devd as the process group leader. For example, at the moment on 
my system:

[root etc]ps -axj | grep devd
root        5727     1  5727  5727    0 Is    ??    0:00.00 /sbin/devd
[root etc]ps -axj | grep dhclient
root        6373     1  5727  5727    0 I     ??    0:00.00 dhclient: ral0
_dhcp       6395     1  6395  6395    0 Ss    ??    0:00.09 dhclient: ral0
[root etc]             

I agree, /sbin/devd calls /etc/rc.d/dhclient which checks for the existence of 
a running dhclient. I find the rc scripts hard to follow but so far as I can 
see /etc/rc.d/netif simply calls "ifconfig dhcp" and doesn't check for a 
running dhclient. Here are the relevant lines in my rc.conf:

rc_debug="YES"
ifconfig_ral0="inet dhcp channel 10 wpa up"
devd_enable="YES"

Here is the output of "/etc/rc.d/netif restart":

[root etc]rc.d/netif restart
rc.d/netif: DEBUG: run_rc_command: doit: network_stop
Stopping network:Stopping wpa_supplicant.
/etc/rc.d/wpa_supplicant: DEBUG: run_rc_command: doit: kill -TERM 6229
/etc/rc.d/dhclient: DEBUG: run_rc_command: doit: dhclient_stop
 lo0 fwip0 fwe0 rl0 ral0 plip0rc.d/netif: DEBUG: The following interfaces were 
not configured:
.
rc.d/netif: DEBUG: run_rc_command: doit: network_start
rc.d/netif: DEBUG: Cloned:
Starting wpa_supplicant.
/etc/rc.d/wpa_supplicant: DEBUG: run_rc_command: 
doit: /usr/sbin/wpa_supplicant  -q -B -i ral0 -c /etc/wpa_supplicant.conf -D 
bsd -P /var/run/wpa_supplicant/ral0.pid
rc.d/netif: DEBUG: checkyesno: synchronous_dhclient is set to YES.
/etc/rc.d/dhclient: DEBUG: run_rc_command: doit: dhclient_start
/etc/rc.d/dhclient: DEBUG: checkyesno: background_dhclient is set to NO.
ral0: no link ............ got link
DHCPREQUEST on ral0 to 255.255.255.255 port 67
DHCPDISCOVER on ral0 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 192.168.0.1
DHCPREQUEST on ral0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.4 -- renewal in 43200 seconds.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
ral0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:xx:....
        inet 192.168.0.4 netmask 0xffffff00 broadcast 192.168.0.255
        media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
        status: associated
        ssid xxxxxxxxxxxx channel 10 (2457 Mhz 11g) bssid 00:xx:.....
        authmode WPA privacy ON deftxkey UNDEF TKIP 3:128-bit txpower 50
        bmiss 7 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
        roam:rssi11g 7 roam:rate11g 5 protmode CTS roaming MANUAL
rc.d/netif: DEBUG: The following interfaces were not configured:  fwip0 fwe0 
rl0 plip0
/etc/rc.d/ipfilter: DEBUG: checkyesno: ipfilter_enable is set to NO.

Now I have four dhclient processes:

[root etc]ps -axj | grep dhclient
root        9824     1  5727  5727    0 S     ??    0:00.00 dhclient: ral0 
[pri
_dhcp       9853     1  9853  9853    0 Ss    ??    0:00.00 dhclient: ral0 
(dhc
_dhcp       9880     1  9880  9880    0 Ss    ??    0:00.00 dhclient: ral0 
(dhc
root        9826     1  9283  1916    0 S     p0    0:00.00 dhclient: ral0 
[pri

It seems that devd has started two new dhclients and netif has started its own 
pair as well. 1916 is the process id of the bash shell I su'ed from to 
start /etc/rc.d/netif.

Best regards,

Rob Jenssen


More information about the freebsd-net mailing list