public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: Florian Weimer <fw@deneb.enyo.de>
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH] Linux: Implement opensock using Netlink sockets
Date: Mon, 18 Jun 2018 17:17:00 -0000	[thread overview]
Message-ID: <ee5a4c2d-4ccd-21ee-a915-0900b5cae764@linaro.org> (raw)
In-Reply-To: <87a7rsuim7.fsf@mid.deneb.enyo.de>



On 18/06/2018 14:09, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>>> 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
>>
>> Indeed, so I think we will need the fallback options (maybe we can restrict
>> to some options).
> 
> The real question is whether it is important to avoid module loading.
> If we could just try
> 
> AF_NETLINK
> AF_UNIX
> AF_INET
> AF_INET6
> 
> in this order, irrespective of the module load status, the code would
> already be much, much simpler.
> 

I think it should cover the expected kernel support (it would be unusual to
use the getifaddr functions with a kernel without tcpip support).

The issues is we will need to ensure the returned socket works with
SIOCGIFNAME (maybe by issuing a ioctl to make it sure).

  reply	other threads:[~2018-06-18 17:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-18 10:50 Florian Weimer
2018-06-18 13:57 ` Adhemerval Zanella
2018-06-18 14:25   ` Florian Weimer
2018-06-18 17:09     ` Adhemerval Zanella
2018-06-18 17:11       ` Florian Weimer
2018-06-18 17:17         ` Adhemerval Zanella [this message]
2018-06-18 17:28           ` Florian Weimer
2018-06-18 16:47 ` Ben Hutchings
2018-06-18 17:13   ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee5a4c2d-4ccd-21ee-a915-0900b5cae764@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=fw@deneb.enyo.de \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).