summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-07-19 01:37:22 +0200
committerTom Gundersen <teg@jklm.no>2014-07-21 13:32:27 +0200
commit653912918f594ebbca46806b302ef6b477402575 (patch)
tree1f997e695a8a6493c9d9bc6dac9d14fa59edc6ff
parent0e8415f2e5c42e87ca3b7a96138675f64696cb7a (diff)
sd-network: drop get_ifindices
People should use rtnl for this, and then only query sd-network by the ifindices it finds.
-rw-r--r--TODO1
-rw-r--r--src/network/sd-network.c58
-rw-r--r--src/systemd/sd-network.h4
3 files changed, 0 insertions, 63 deletions
diff --git a/TODO b/TODO
index bfa06def49..4a1313d419 100644
--- a/TODO
+++ b/TODO
@@ -29,7 +29,6 @@ Features:
releases (probably not even a directory in /run for it)
- the order between ipv6 and ipv4 dns servers probably matters,
hence the current DNS apis won't suffice
- - sd_network_get_ifindices() sounds redundant, rtnetlink can do that too
* resolved:
- IDN (?)
diff --git a/src/network/sd-network.c b/src/network/sd-network.c
index 0844e58686..91d6275056 100644
--- a/src/network/sd-network.c
+++ b/src/network/sd-network.c
@@ -206,64 +206,6 @@ _public_ int sd_network_dhcp_use_ntp(int ifindex) {
return network_get_boolean("DHCP_USE_NTP", ifindex);
}
-_public_ int sd_network_get_ifindices(int **ifindices) {
- _cleanup_closedir_ DIR *d;
- int r = 0;
- unsigned n = 0;
- _cleanup_free_ int *l = NULL;
-
- d = opendir("/run/systemd/netif/links/");
- if (!d)
- return -errno;
-
- for (;;) {
- struct dirent *de;
- int k;
- int ifindex;
-
- errno = 0;
- de = readdir(d);
- if (!de && errno != 0)
- return -errno;
-
- if (!de)
- break;
-
- dirent_ensure_type(d, de);
-
- if (!dirent_is_file(de))
- continue;
-
- k = safe_atoi(de->d_name, &ifindex);
- if (k < 0)
- continue;
-
- if (ifindices) {
- if ((unsigned) r >= n) {
- int *t;
-
- n = MAX(16, 2*r);
- t = realloc(l, sizeof(int) * n);
- if (!t)
- return -ENOMEM;
-
- l = t;
- }
-
- assert((unsigned) r < n);
- l[r++] = ifindex;
- } else
- r++;
- }
-
- if (ifindices) {
- *ifindices = l;
- l = NULL;
- }
-
- return r;
-}
-
static inline int MONITOR_TO_FD(sd_network_monitor *m) {
return (int) (unsigned long) m - 1;
}
diff --git a/src/systemd/sd-network.h b/src/systemd/sd-network.h
index 0f32c448f8..e4547057f1 100644
--- a/src/systemd/sd-network.h
+++ b/src/systemd/sd-network.h
@@ -88,10 +88,6 @@ int sd_network_get_dns(int ifindex, struct in_addr **addr);
/* Get IPv6 DNS entries statically configured for the link */
int sd_network_get_dns6(int ifindex, struct in6_addr **addr);
-/* Get all network interfaces' indices, and store them in *indices. Returns
- * the number of indices. If indices is NULL, only returns the number of indices. */
-int sd_network_get_ifindices(int **ifindices);
-
/* Monitor object */
typedef struct sd_network_monitor sd_network_monitor;