network: introduce network_verify_routes()
This commit is contained in:
parent
565194127a
commit
d9940a3f8a
|
@ -156,7 +156,6 @@ static int network_resolve_stacked_netdevs(Network *network) {
|
|||
|
||||
int network_verify(Network *network) {
|
||||
Address *address, *address_next;
|
||||
Route *route, *route_next;
|
||||
TrafficControl *tc;
|
||||
SRIOV *sr_iov;
|
||||
|
||||
|
@ -219,6 +218,8 @@ int network_verify(Network *network) {
|
|||
address_free(address);
|
||||
}
|
||||
if (network->n_static_routes > 0) {
|
||||
Route *route;
|
||||
|
||||
log_warning("%s: Cannot set routes when Bond= is specified, ignoring routes.",
|
||||
network->filename);
|
||||
while ((route = network->static_routes))
|
||||
|
@ -298,10 +299,7 @@ int network_verify(Network *network) {
|
|||
if (address_section_verify(address) < 0)
|
||||
address_free(address);
|
||||
|
||||
LIST_FOREACH_SAFE(routes, route, route_next, network->static_routes)
|
||||
if (route_section_verify(route, network) < 0)
|
||||
route_free(route);
|
||||
|
||||
network_verify_routes(network);
|
||||
network_verify_nexthops(network);
|
||||
network_verify_fdb_entries(network);
|
||||
network_verify_mdb_entries(network);
|
||||
|
|
|
@ -2162,7 +2162,7 @@ int config_parse_multipath_route(
|
|||
return 0;
|
||||
}
|
||||
|
||||
int route_section_verify(Route *route, Network *network) {
|
||||
static int route_section_verify(Route *route, Network *network) {
|
||||
if (section_is_invalid(route->section))
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -2202,3 +2202,13 @@ int route_section_verify(Route *route, Network *network) {
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void network_verify_routes(Network *network) {
|
||||
Route *route, *route_next;
|
||||
|
||||
assert(network);
|
||||
|
||||
LIST_FOREACH_SAFE(routes, route, route_next, network->static_routes)
|
||||
if (route_section_verify(route, network) < 0)
|
||||
route_free(route);
|
||||
}
|
||||
|
|
|
@ -85,12 +85,12 @@ int route_add_foreign(Link *link, Route *in, Route **ret);
|
|||
bool route_equal(Route *r1, Route *r2);
|
||||
|
||||
int route_expire_handler(sd_event_source *s, uint64_t usec, void *userdata);
|
||||
int route_section_verify(Route *route, Network *network);
|
||||
|
||||
DEFINE_NETWORK_SECTION_FUNCTIONS(Route, route_free);
|
||||
|
||||
int network_add_ipv4ll_route(Network *network);
|
||||
int network_add_default_route_on_device(Network *network);
|
||||
void network_verify_routes(Network *network);
|
||||
|
||||
const char* route_type_to_string(int t) _const_;
|
||||
int route_type_from_string(const char *s) _pure_;
|
||||
|
|
Loading…
Reference in New Issue