http://bugzilla.novell.com/show_bug.cgi?id=617795 http://bugzilla.novell.com/show_bug.cgi?id=617795#c11 Jiri Bohac <jbohac@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEEDINFO InfoProvider| |mt@novell.com --- Comment #11 from Jiri Bohac <jbohac@novell.com> 2010-07-01 21:40:44 UTC --- Thanks. The /var/log/messages show something very strange: Jun 27 16:41:21 linux-lpd0 dhclient: Internet Systems Consortium DHCP Client 4.1.1-P1 Jun 27 16:41:21 linux-lpd0 dhclient: Copyright 2004-2010 Internet Systems Consortium. Jun 27 16:41:21 linux-lpd0 dhclient: All rights reserved. Jun 27 16:41:21 linux-lpd0 dhclient: For info, please visit https://www.isc.org/software/dhcp/ Jun 27 16:41:21 linux-lpd0 dhclient: Jun 27 16:41:22 linux-lpd0 dhclient: socket: Address family not supported by protocol - make sure Jun 27 16:41:22 linux-lpd0 dhclient: CONFIG_PACKET (Packet socket) and CONFIG_FILTER Jun 27 16:41:22 linux-lpd0 dhclient: (Socket Filtering) are enabled in your kernel Jun 27 16:41:22 linux-lpd0 dhclient: configuration! Jun 27 16:41:22 linux-lpd0 dhclient: Jun 27 16:41:22 linux-lpd0 dhclient: If you did not get this software from ftp.isc.org, please Jun 27 16:41:22 linux-lpd0 dhclient: get the latest from ftp.isc.org and install that before Jun 27 16:41:22 linux-lpd0 dhclient: requesting help. Jun 27 16:41:22 linux-lpd0 dhclient: Jun 27 16:41:22 linux-lpd0 dhclient: If you did get this software from ftp.isc.org and have not Jun 27 16:41:22 linux-lpd0 dhclient: yet read the README, please read it before requesting help. Jun 27 16:41:22 linux-lpd0 dhclient: If you intend to request help from the dhcp-server@isc.org Jun 27 16:41:22 linux-lpd0 dhclient: mailing list, please read the section on the README about Jun 27 16:41:22 linux-lpd0 dhclient: submitting bug reports and requests for help. Jun 27 16:41:22 linux-lpd0 dhclient: Jun 27 16:41:22 linux-lpd0 dhclient: Please do not under any circumstances send requests for Jun 27 16:41:22 linux-lpd0 dhclient: help directly to the authors of this software - please Jun 27 16:41:22 linux-lpd0 dhclient: send them to the appropriate mailing list as described in Jun 27 16:41:22 linux-lpd0 dhclient: the README file. Jun 27 16:41:22 linux-lpd0 dhclient: Jun 27 16:41:22 linux-lpd0 dhclient: exiting. Jun 27 16:41:22 linux-lpd0 kernel: [ 31.626418] NET: Registered protocol family 17 dhclient calls socket(AF_PACKET, ...). The socket(2) syscall in the kernel requests the net-pf-17 module, because AF_PACKET is not yet registered. This loads the af_packet module, which results in the "NET: Registered protocol amily 17" message. Yet, dhclient thinks the module is not loaded and exits. On booots where dhclient succeeds, the "NET: Registered protocol amily 17" message is printed right after dhclient starts: Jun 27 20:41:41 linux-lpd0 dhclient: Internet Systems Consortium DHCP Client 4.1.1-P1 Jun 27 20:41:41 linux-lpd0 dhclient: Copyright 2004-2010 Internet Systems Consortium. Jun 27 20:41:41 linux-lpd0 dhclient: All rights reserved. Jun 27 20:41:41 linux-lpd0 dhclient: For info, please visit https://www.isc.org/software/dhcp/ Jun 27 20:41:41 linux-lpd0 dhclient: Jun 27 20:41:44 linux-lpd0 kernel: [ 37.807997] NET: Registered protocol family 17 Jun 27 20:41:44 linux-lpd0 dhclient: Listening on LPF/eth0/00:16:d3:5c:b7:89 Jun 27 20:41:44 linux-lpd0 dhclient: Sending on LPF/eth0/00:16:d3:5c:b7:89 Jun 27 20:41:44 linux-lpd0 dhclient: Sending on Socket/fallback Jun 27 20:41:45 linux-lpd0 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 Jun 27 20:41:45 linux-lpd0 dhclient: DHCPOFFER from 192.168.0.254 I tried to reproduce this locally, but I could not. It would be helpful to find out why exactly dhclient exits. In common/lfp.c, inside the if_register_lpf() function: - first socket() is called: if ((sock = socket(PF_PACKET, SOCK_PACKET, htons((short)ETH_P_ALL))) < 0) { if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || errno == EAFNOSUPPORT || errno == EINVAL) { log_error ("socket: %m - make sure"); log_error ("CONFIG_PACKET (Packet socket) %s", "and CONFIG_FILTER"); log_error ("(Socket Filtering) are enabled %s", "in your kernel"); log_fatal ("configuration!"); } log_fatal ("Open a socket for LPF: %m"); } And then bind(), unfortunately the error message has been copy&pasted and we don't know which one fails: if (bind (sock, &sa, sizeof sa)) { if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || errno == EAFNOSUPPORT || errno == EINVAL) { log_error ("socket: %m - make sure"); log_error ("CONFIG_PACKET (Packet socket) %s", "and CONFIG_FILTER"); log_error ("(Socket Filtering) are enabled %s", "in your kernel"); log_fatal ("configuration!"); } log_fatal ("Bind socket to interface: %m"); } Marius is the maintainer of dhcp... Marius, can you have a look? Perhaps build a debug dhcp package where: 1) the error message for bind() says bind: and not socket: 2) the value of errno is printed in both messages 3) the values of info->ifp and the command-line argumets are printed so we know which interface dhclient was trying to bind to and what the options were ... I really have no clue what could be wrong here. Perhaps dhclient screws up and passes something invalid to socket()/bind() and then thinks the failure means PF_PACKET is not registered? Perhaps, the request_module() in the kernel might be broken and does not wait for modprobe to finish? I really don't see how having IPv6 disabled fixes the problem. ifup seems to use dhcpcd instead of dhclient and that one seems to work. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.