Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#43045 - [unbound] [linux-lts] unbound 1.5.0 on linux-lts 3.14.25-1 - FAIL to start

Attached to Project: Community Packages
Opened by cgm999 (cgm999) - Monday, 08 December 2014, 10:39 GMT
Last edited by Gaetan Bisson (vesath) - Thursday, 11 December 2014, 18:28 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Andreas Radke (AndyRTR)
Gaetan Bisson (vesath)
Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
unbound 1.5.0 on linux-lts 3.14.25-1 - FAIL to start - due to missing IP_MTU_DISCOVER option in LTS 3.14.X (tested 3.14.25 / 3.14.26) kernel


Additional info:
* package version(s)
[root@silver cgm]# uname -r
3.14.25-1-lts
[root@silver cgm]# uname -m
x86_64
unbound version 1.5.0-1


[root@silver cgm]# strace -Ff unbound
[...]
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(3, SOL_IP, IP_MTU_DISCOVER, [5], 4) = -1 EINVAL (Invalid argument)
write(2, "[1418021432] unbound[1689:0] err"..., 115[1418021432] unbound[1689:0] error: setsockopt(..., IP_MTU_DISCOVER,
IP_PMTUDISC_OMIT...) failed: Invalid argument) = 115
close(3) = 0
unbound[1689:0] fatal error: could not open ports
exit_group(1) = ?

it seems option 5(seems to be IP_PMTUDISC_OMIT) for IP_MTU_DISCOVER is not implemented. in 3.14 ?
/usr/lib/modules/3.14.25-1-lts/build/include/uapi/linux/in.h:
/* IP_MTU_DISCOVER values */
#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
#define IP_PMTUDISC_WANT 1 /* Use per route hints */
#define IP_PMTUDISC_DO 2 /* Always DF */
#define IP_PMTUDISC_PROBE 3 /* Ignore dst pmtu */
/* Always use interface mtu (ignores dst pmtu) but don't set DF flag.
* Also incoming ICMP frag_needed notifications will be ignored on
* this socket to prevent accepting spoofed ones.
*/
#define IP_PMTUDISC_INTERFACE 4

#define IP_MULTICAST_IF 32
#define IP_MULTICAST_TTL 33


This task depends upon

Closed by  Gaetan Bisson (vesath)
Thursday, 11 December 2014, 18:28 GMT
Reason for closing:  Fixed
Additional comments about closing:  unbound-1.5.1-2 in [community]
Comment by cgm999 (cgm999) - Monday, 08 December 2014, 12:47 GMT
In unbound-1.5.0/services/listen_dnsport.c :

# if defined(IP_PMTUDISC_OMIT)
int action = IP_PMTUDISC_OMIT;
# else
int action = IP_PMTUDISC_DONT;
# endif

If unbound is recompiled using LTS headers then I would guess is going to work for kern lts also.

# pacman -Qo /usr/include/linux/
/usr/include/linux is owned by linux-api-headers 3.16.2-1

Or it could try to first setsockopt using the new option(IP_PMTUDISC_OMIT) then failback to using (IP_PMTUDISC_DONT).
Comment by cgm999 (cgm999) - Wednesday, 10 December 2014, 05:57 GMT Comment by Gaetan Bisson (vesath) - Wednesday, 10 December 2014, 08:30 GMT
Perhaps a decision on how to handle different run-time and compile-time kernels should be taken in Arch Linux, not just upstream.
Though personally I must say I'm not interested in handling the feature-gap between linux and linux-lts.
Comment by Remi Gacogne (rgacogne) - Wednesday, 10 December 2014, 10:35 GMT
I just added a very simple patch to the upstream report, you may be interested in trying it.
Comment by cgm999 (cgm999) - Thursday, 11 December 2014, 10:59 GMT
Remi, patch seems to work fine for me , tested in both kernels versions
Comment by Gaetan Bisson (vesath) - Thursday, 11 December 2014, 18:21 GMT
Thanks!

Loading...