Bug #4603
closedntpd tries to bind to a link-local address
100%
Description
Under oi_151a9, the NTP daemon tries periodically to bind to a link-local IPv6 address, logging these errors:
Feb 15 13:53:02 ati ntpd[345]: [ID 702911 daemon.error] bind(55) AF_INET6 fe80::ca60:ff:fe12:a83c%26%26#123 flags 0x11 failed: Cannot assign requested address
Feb 15 13:53:02 ati ntpd[345]: [ID 702911 daemon.error] unable to create socket on rge0 (4395) for fe80::ca60:ff:fe12:a83c%26#123
It should ignore that address. I understand that this bug has been fixed for Linux in the ntpd source, but probably not for Solaris-based systems.
Files
Updated by Ken Mays over 8 years ago
- Due date set to 2015-03-16
- Category set to 10
- Assignee set to OI Userland
- Estimated time set to 4.00 h
- Tags changed from needs-triage to ntp
Are you using this package?: service/network/ntp@4.2.7.411,5.11-0.151.1.8.1:20140120T135446Z
Updated by Gary Mills over 8 years ago
No, I'm using 4.2.5.200,5.11-0.151.1.9:20140117T203248Z from the OI repository. Where did you find the newer one?
Does that fix the problem?
Updated by Gary Mills over 8 years ago
It seems to have gone backwards. I swear I saw 4.2.7p411on oi_151a9, but now it's back to 4.2.5p200 .
Updated by Gary Mills over 8 years ago
Okay, I see now why I was misled. The NTP package in oi_151a9 is labelled incorrectly. It looks like an older version:
$ pkg info ntp
Name: service/network/ntp
Summary: Network Time Protocol Daemon v4
Description: Network Time Protocol v4, NTP Daemon and Utilities (4.2.5)
Category: System/Services
State: Installed
Publisher: openindiana.org
Version: 4.2.5.200
Build Release: 5.11
Branch: 0.151.1.9
Packaging Date: 17 January, 2014 08:32:48 PM
Size: 3.91 MB
FMRI: pkg://openindiana.org/service/network/ntp@4.2.5.200,5.11-0.151.1.9:20140117T203248Z
but actually is the newer version:
$ /usr/lib/inet/ntpd -? 2>&1 | head
ntpd - NTP daemon program - Ver. 4.2.7p411
Usage: ntpd [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\
[ <server1> ... <serverN> ]
...
So, the real problem is still that ntpd version 4.2.7p411 tries to bind to a link-local address. It does this frequently, resulting in many errors like this one:Feb 21 15:41:34 ati ntpd[345]: [ID 702911 daemon.error] bind(55) AF_INET6 fe80::ca60:ff:fe12:a83c%26%26#123 flags 0x11 failed: Cannot assign requested address
Feb 21 15:41:34 ati ntpd[345]: [ID 702911 daemon.error] unable to create socket on rge0 (6159) for fe80::ca60:ff:fe12:a83c%26#123
Updated by Gary Mills over 8 years ago
I found the solution. The Makefile.sfw in usr/src/cmd/ntpd contains this line:
CONFIGURE_OPTIONS += --disable-getifaddrs
Just delete that line, and the error messages all disappear, once you rebuild and reinstall. The ntpd daemon binds to all addresses, both IPv4 and IPv6, and responds to `ntpq' on all of them. It also keeps time correctly.