assert(m);
assert(ifindex > 0);
- r = hashmap_ensure_allocated(&m->links, NULL, NULL);
+ r = hashmap_ensure_allocated(&m->links, NULL);
if (r < 0)
return r;
- r = hashmap_ensure_allocated(&m->links_by_name,
- string_hash_func, string_compare_func);
+ r = hashmap_ensure_allocated(&m->links_by_name, &string_hash_ops);
if (r < 0)
return r;
}
int link_update_rtnl(Link *l, sd_rtnl_message *m) {
- char *ifname;
+ const char *ifname;
int r;
assert(l);
free(l->operational_state);
l->operational_state = NULL;
- sd_network_get_link_operational_state(l->ifindex, &l->operational_state);
+ sd_network_link_get_operational_state(l->ifindex, &l->operational_state);
free(l->state);
l->state = NULL;
- sd_network_get_link_state(l->ifindex, &l->state);
+ sd_network_link_get_setup_state(l->ifindex, &l->state);
return 0;
}
bool link_relevant(Link *l) {
assert(l);
- /* A link is relevant if it isn't a loopback device and has at
- * least one relevant IP address */
-
if (l->flags & IFF_LOOPBACK)
return false;
-/*
- if (l->operational_state && !STR_IN_SET(l->operational_state, "unknown", "degraded", "routable"))
- return false;
- LIST_FOREACH(addresses, a, l->addresses)
- if (link_address_relevant(a))
- return true;
-*/
return true;
}