network: introduce network_verify_traffic_control()
This commit is contained in:
parent
200543791a
commit
209af9a67a
|
@ -156,7 +156,6 @@ static int network_resolve_stacked_netdevs(Network *network) {
|
|||
}
|
||||
|
||||
int network_verify(Network *network) {
|
||||
TrafficControl *tc;
|
||||
SRIOV *sr_iov;
|
||||
|
||||
assert(network);
|
||||
|
@ -300,11 +299,7 @@ int network_verify(Network *network) {
|
|||
network_verify_prefixes(network);
|
||||
network_verify_route_prefixes(network);
|
||||
network_verify_routing_policy_rules(network);
|
||||
|
||||
bool has_root = false, has_clsact = false;
|
||||
ORDERED_HASHMAP_FOREACH(tc, network->tc_by_section)
|
||||
if (traffic_control_section_verify(tc, &has_root, &has_clsact) < 0)
|
||||
traffic_control_free(tc);
|
||||
network_verify_traffic_control(network);
|
||||
|
||||
ORDERED_HASHMAP_FOREACH(sr_iov, network->sr_iov_by_section)
|
||||
if (sr_iov_section_verify(sr_iov) < 0)
|
||||
|
|
|
@ -56,7 +56,7 @@ int link_configure_traffic_control(Link *link) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int traffic_control_section_verify(TrafficControl *tc, bool *qdisc_has_root, bool *qdisc_has_clsact) {
|
||||
static int traffic_control_section_verify(TrafficControl *tc, bool *qdisc_has_root, bool *qdisc_has_clsact) {
|
||||
assert(tc);
|
||||
|
||||
switch(tc->kind) {
|
||||
|
@ -68,3 +68,14 @@ int traffic_control_section_verify(TrafficControl *tc, bool *qdisc_has_root, boo
|
|||
assert_not_reached("Invalid traffic control type");
|
||||
}
|
||||
}
|
||||
|
||||
void network_verify_traffic_control(Network *network) {
|
||||
bool has_root = false, has_clsact = false;
|
||||
TrafficControl *tc;
|
||||
|
||||
assert(network);
|
||||
|
||||
ORDERED_HASHMAP_FOREACH(tc, network->tc_by_section)
|
||||
if (traffic_control_section_verify(tc, &has_root, &has_clsact) < 0)
|
||||
traffic_control_free(tc);
|
||||
}
|
||||
|
|
|
@ -29,4 +29,4 @@ typedef struct TrafficControl {
|
|||
|
||||
void traffic_control_free(TrafficControl *tc);
|
||||
int link_configure_traffic_control(Link *link);
|
||||
int traffic_control_section_verify(TrafficControl *tc, bool *qdisc_has_root, bool *qdisc_has_clsact);
|
||||
void network_verify_traffic_control(Network *network);
|
||||
|
|
Loading…
Reference in New Issue