mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Szabolcs Nagy <nsz@port70.net>
To: musl@lists.openwall.com
Subject: Re: if_nameindex/getifaddrs and dhcpcd issue
Date: Tue, 8 Apr 2014 14:54:38 +0200	[thread overview]
Message-ID: <20140408125438.GN3034@port70.net> (raw)
In-Reply-To: <CAK4o1WxCFnwV1911QDh7ZHEd4hey7txGtUBv=AVG5KH5nHGu7w@mail.gmail.com>

* Justin Cormack <justin@specialbusservice.com> [2014-04-08 11:07:47 +0100]:
> I am not sure that it is appropriate that a netlink implementation,
> which is the only way to do the enumeration correctly in the potential
> absense of /proc, should go into Musl. I would be more inclined to

one could just try all the numbers.. this "works" even at boot time :)
(and there is /sys/class/net/*/ifindex but that does not help libc)


#include <net/if.h>
#include <stdlib.h>
#include <errno.h>
#define N 256
struct if_nameindex *if_nameindex()
{
	struct if_nameindex *p = malloc(N*sizeof*p + N*IF_NAMESIZE);
	if (!p) errno = ENOBUFS;
	else {
		char (*name)[IF_NAMESIZE] = (void*)(p+N);
		int i,j;
		for (i=1,j=0; i<N; i++)
			if (if_indextoname(i, name[j])) {
				p[j].if_name = name[j];
				p[j].if_index = i;
				j++;
			}
		p[j].if_name = 0;
		p[j].if_index = 0;
	}
	return p;
}

> However I can see no reason why dhcp on a specified interface needs to
> enumerate interfaces at all, and it only needs to read ipv4 addresses,
> unless it is implementing dhcp6 too, maybe it does now. Again dhcp6
> needs netlink, the Musl ipv6 parts for getifaddrs already use /proc
> which is definitely unreliable for early boot config in a distro in my
> view.

if ipv6 things require netlink anyway then probably musl does not have
much choice..


  parent reply	other threads:[~2014-04-08 12:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-08  9:11 Natanael Copa
2014-04-08 10:07 ` Justin Cormack
2014-04-08 12:25   ` Timo Teras
2014-04-08 14:23     ` Natanael Copa
2014-04-08 15:45     ` Rich Felker
2014-04-08 16:08       ` Timo Teras
2014-04-08 16:19         ` Justin Cormack
2014-04-08 22:41           ` Rich Felker
2014-04-09  7:17             ` u-igbb
2014-04-09 22:20               ` Rich Felker
2014-04-09 22:32                 ` Justin Cormack
2014-04-10  7:40                 ` u-igbb
2014-04-10  7:52                   ` Rich Felker
2014-04-09 14:02         ` Timo Teras
2014-04-10  0:55           ` Rich Felker
2014-04-09  7:55       ` Natanael Copa
2014-04-08 12:54   ` Szabolcs Nagy [this message]
2014-04-08 13:42   ` Rich Felker
2014-04-08 14:16     ` Justin Cormack
2014-04-08 15:38       ` Rich Felker
2014-04-09  7:13         ` Natanael Copa
2014-04-09 22:18           ` Rich Felker
2014-04-08 21:16     ` Natanael Copa
2014-04-08 21:30       ` Justin Cormack
2014-04-08 22:59         ` Rich Felker
2014-04-08 14:27   ` Natanael Copa

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=20140408125438.GN3034@port70.net \
    --to=nsz@port70.net \
    --cc=musl@lists.openwall.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).