chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
udev: strings in C are NUL-terminated anyway, no need to add a second NUL...
[elogind.git]
/
src
/
network
/
networkd-network.c
diff --git
a/src/network/networkd-network.c
b/src/network/networkd-network.c
index 803fcdd6099148ceb9601b8ad33a4e471bb83d4f..e4bb1b03f08879810ef4cc51e888814784897cdf 100644
(file)
--- a/
src/network/networkd-network.c
+++ b/
src/network/networkd-network.c
@@
-63,15
+63,15
@@
static int network_load_one(Manager *manager, const char *filename) {
LIST_HEAD_INIT(network->static_addresses);
LIST_HEAD_INIT(network->static_routes);
LIST_HEAD_INIT(network->static_addresses);
LIST_HEAD_INIT(network->static_routes);
- network->stacked_netdevs = hashmap_new(
string_hash_func, string_compare_func
);
+ network->stacked_netdevs = hashmap_new(
&string_hash_ops
);
if (!network->stacked_netdevs)
return log_oom();
if (!network->stacked_netdevs)
return log_oom();
- network->addresses_by_section = hashmap_new(NULL
, NULL
);
+ network->addresses_by_section = hashmap_new(NULL);
if (!network->addresses_by_section)
return log_oom();
if (!network->addresses_by_section)
return log_oom();
- network->routes_by_section = hashmap_new(NULL
, NULL
);
+ network->routes_by_section = hashmap_new(NULL);
if (!network->routes_by_section)
return log_oom();
if (!network->routes_by_section)
return log_oom();
@@
-85,6
+85,7
@@
static int network_load_one(Manager *manager, const char *filename) {
network->dhcp_hostname = true;
network->dhcp_routes = true;
network->dhcp_sendhost = true;
network->dhcp_hostname = true;
network->dhcp_routes = true;
network->dhcp_sendhost = true;
+ network->dhcp_route_metric = DHCP_ROUTE_METRIC;
network->llmnr = LLMNR_SUPPORT_YES;
network->llmnr = LLMNR_SUPPORT_YES;
@@
-130,10
+131,8
@@
int network_load(Manager *manager) {
network_free(network);
r = conf_files_list_strv(&files, ".network", NULL, network_dirs);
network_free(network);
r = conf_files_list_strv(&files, ".network", NULL, network_dirs);
- if (r < 0) {
- log_error("Failed to enumerate network files: %s", strerror(-r));
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to enumerate network files: %m");
STRV_FOREACH_BACKWARDS(f, files) {
r = network_load_one(manager, *f);
STRV_FOREACH_BACKWARDS(f, files) {
r = network_load_one(manager, *f);
@@
-172,8
+171,10
@@
void network_free(Network *network) {
netdev_unref(network->bond);
netdev_unref(network->bond);
- HASHMAP_FOREACH(netdev, network->stacked_netdevs, i)
+ HASHMAP_FOREACH(netdev, network->stacked_netdevs, i) {
+ hashmap_remove(network->stacked_netdevs, netdev->ifname);
netdev_unref(netdev);
netdev_unref(netdev);
+ }
hashmap_free(network->stacked_netdevs);
while ((route = network->static_routes))
hashmap_free(network->stacked_netdevs);
while ((route = network->static_routes))