network: enable GatewayOnLink= if Gateway= without static address configured

And warn about that.

But this only done if GatewayOnLink= is not specified. When it is
explicitly disabled, then the flag will not be set.
This commit is contained in:
Yu Watanabe
2019-02-28 10:34:21 +09:00
parent 54901fd222
commit 4912ab7774
+12 -1
View File
@@ -293,7 +293,7 @@ static int network_verify(Network *network) {
address_free(address);
}
LIST_FOREACH_SAFE(routes, route, route_next, network->static_routes)
LIST_FOREACH_SAFE(routes, route, route_next, network->static_routes) {
if (route->family == AF_UNSPEC) {
log_warning("%s: Route section without Gateway=, Destination=, Source=, "
"or PreferredSource= field configured. "
@@ -301,8 +301,19 @@ static int network_verify(Network *network) {
network->filename, route->section->line);
route_free(route);
continue;
}
if (network->n_static_addresses == 0 &&
in_addr_is_null(route->family, &route->gw) == 0 &&
route->gateway_onlink < 0) {
log_warning("%s: Gateway= without static address configured. "
"Enabling GatewayOnLink= option.",
network->filename);
route->gateway_onlink = true;
}
}
return 0;
}