dhclient Can't set SO_REUSEPORT option on dhcp socket: Protocol not available

Bug #1184099 reported by ruff on 2013-05-25
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
isc-dhcp (Ubuntu)
High
Unassigned

Bug Description

In ubuntu saucy x86_64 dhclient for IPv6 is broken for lowlatency kernel from raring

Holen: 1 http://mirror.switch.ch/ftp/mirror/ubuntu/ saucy/main isc-dhcp-client amd64 4.2.4-6ubuntu2 [782 kB]
isc-dhcp-client (4.2.4-6ubuntu2) wird eingerichtet ...
# dhclient -6 -d -v --no-pid -lf /var/lib/dhcp/dhclient6.wlan0.leases -cf /etc/dhcp/dhclient.conf wlan0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Can't set SO_REUSEPORT option on dhcp socket: Protocol not available
unmap(0x7f44fde4e000, 4096) = 0
socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 5
setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(5, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
setsockopt(5, SOL_SOCKET, 0xf /* SO_??? */, [1], 4) = -1 ENOPROTOOPT (Protocol not available)
sendto(3, "<27>May 25 10:58:15 dhclient: Ca"..., 98, MSG_NOSIGNAL, NULL, 0) = 98
write(2, "Can't set SO_REUSEPORT option on"..., 68Can't set SO_REUSEPORT option on dhcp socket: Protocol not available) = 68
write(2, "\n", 1
) = 1
exit_group(1) = ?
version 4.2.4-5ubuntu2 from raring working fine
Per strace otput problem is in setting SO_REUSEPORT to socket. This option is not applied to ipv4 socket though

socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 6
setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(6, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
sendto(3, "<30>May 25 11:08:14 dhclient: Se"..., 58, MSG_NOSIGNAL, NULL, 0) = 58

This option is not covered by POSIX
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_10_16
even though introduced to linux kernel in v 3.9 while ll kernel used on the system is still 3.8
Linux box.ruff.mobi 3.8.0-22-lowlatency #15-Ubuntu SMP PREEMPT Sat May 18 20:09:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Workaround would be to downgrade isc-dhcp or move to kernel 3.9
Not sure if reuseport is so vital to dhclient package - it was working fine without it.

ruff (rufferson) on 2013-05-25
description: updated
ruff (rufferson) on 2013-05-28
Changed in isc-dhcp (Ubuntu):
status: New → Confirmed

Please don't confirm your own bugs!

Changed in isc-dhcp (Ubuntu):
status: Confirmed → New
importance: Undecided → High
Sean F. Lawlor (slawlor) wrote :

This also effects the isc-dhcp-server for which I'm seeing the same error trying to share out ipv6 subnet information. isc-dhcp-server6 fails to start with

<xxxx>@<xxxx>:/etc/init.d# dhcpd -d -f -6 --no-pid -lf "/var/lib/dhcp/dhcpd6.leases" -cf "/etc/dhcp/dhcpd6.conf" "eth0"
Internet Systems Consortium DHCP Server 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.
Can't set SO_REUSEPORT option on dhcp socket: Protocol not available

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers