summaryrefslogtreecommitdiff
path: root/src/network/networkd-manager.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-05-18 03:01:58 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-06-08 06:33:27 +0900
commitfb3aec45a0de7f71aa6418bd4f9d5f314efb4eb5 (patch)
treec3132d478fe8c80ffb8fd334c820d5274eae2b2f /src/network/networkd-manager.c
parentab486ef4ebc98f4902fdf1233675841b67ab572a (diff)
downloadsystemd-fb3aec45a0de7f71aa6418bd4f9d5f314efb4eb5.tar.gz
network: make manager_find_uplink() uses stored route information
networkd already has all information about routes. It is not necessary to re-read them by using local_gateways(). This also makes manager_find_uplink() take family.
Diffstat (limited to 'src/network/networkd-manager.c')
-rw-r--r--src/network/networkd-manager.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
index d4b4043211..60e6d6f369 100644
--- a/src/network/networkd-manager.c
+++ b/src/network/networkd-manager.c
@@ -719,43 +719,6 @@ int manager_enumerate(Manager *m) {
return 0;
}
-Link* manager_find_uplink(Manager *m, Link *exclude) {
- _cleanup_free_ struct local_address *gateways = NULL;
- int n;
-
- assert(m);
-
- /* Looks for a suitable "uplink", via black magic: an
- * interface that is up and where the default route with the
- * highest priority points to. */
-
- n = local_gateways(m->rtnl, 0, AF_UNSPEC, &gateways);
- if (n < 0) {
- log_warning_errno(n, "Failed to determine list of default gateways: %m");
- return NULL;
- }
-
- for (int i = 0; i < n; i++) {
- Link *link;
-
- link = hashmap_get(m->links, INT_TO_PTR(gateways[i].ifindex));
- if (!link) {
- log_debug("Weird, found a gateway for a link we don't know. Ignoring.");
- continue;
- }
-
- if (link == exclude)
- continue;
-
- if (link->operstate < LINK_OPERSTATE_ROUTABLE)
- continue;
-
- return link;
- }
-
- return NULL;
-}
-
static int set_hostname_handler(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
const sd_bus_error *e;
int r;