This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 06/18/2018 03:56 PM, Adhemerval Zanella wrote:
On 18/06/2018 07:50, Florian Weimer wrote:inet/tst-inet6_scopeid_pton uses __opensock indirectly, to call ioctl with SIOCGIFINDEX, and it still works after this change. 2018-06-18 Florian Weimer <fweimer@redhat.com> * sysdeps/unix/sysv/linux/opensock.c (__opensock): Unconditionally return a Netlink socket. * sysdeps/unix/sysv/linux/s390/opensock.c: Remove file.Similar to a previous attempt to use AF_NETLINK sockets as default [1], I am seeing some regression on testcases with Linux 4.4.0-116-generic: FAIL: inet/bug-if1 FAIL: inet/test_ifindex FAIL: inet/tst-inet6_scopeid_pton $ ./testrun.sh inet/bug-if1 errno = 95 (Operation not supported), expected 6 (No such device or address) $ strace -f ./testrun.sh inet/bug-if1 --direct [...] socket(AF_NETLINK, SOCK_DGRAM|SOCK_CLOEXEC, NETLINK_ROUTE) = 3 ioctl(3, SIOCGIFNAME, {ifr_index=0}) = -1 EOPNOTSUPP (Operation not supported) [...]
Huh. Any idea why this happens? I don't see how this is possible based on the kernel sources.
Ahh, it's been fixed since then. Netlink sockets were one of the few which did not perform ENOIOCTLCMD fallback. This was changed in kernel 4.6:
commit 025c68186e07afaededa84143f1a22f273cd3f67 Author: David Decotigny <decot@googlers.com> Date: Mon Mar 21 10:15:35 2016 -0700 netlink: add support for NIC driver ioctls By returning -ENOIOCTLCMD, sock_do_ioctl() falls back to calling dev_ioctl(), which provides support for NIC driver ioctls, which includes ethtool support. This is similar to the way ioctls are handled in udp.c or tcp.c. This removes the requirement that ethtool for example be tied to the support of a specific L3 protocol (ethtool uses an AF_INET socket today). It's unfortunate that it took that long to make this change. Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |