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) {
|
int network_verify(Network *network) {
|
||||||
TrafficControl *tc;
|
|
||||||
SRIOV *sr_iov;
|
SRIOV *sr_iov;
|
||||||
|
|
||||||
assert(network);
|
assert(network);
|
||||||
|
@ -300,11 +299,7 @@ int network_verify(Network *network) {
|
||||||
network_verify_prefixes(network);
|
network_verify_prefixes(network);
|
||||||
network_verify_route_prefixes(network);
|
network_verify_route_prefixes(network);
|
||||||
network_verify_routing_policy_rules(network);
|
network_verify_routing_policy_rules(network);
|
||||||
|
network_verify_traffic_control(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);
|
|
||||||
|
|
||||||
ORDERED_HASHMAP_FOREACH(sr_iov, network->sr_iov_by_section)
|
ORDERED_HASHMAP_FOREACH(sr_iov, network->sr_iov_by_section)
|
||||||
if (sr_iov_section_verify(sr_iov) < 0)
|
if (sr_iov_section_verify(sr_iov) < 0)
|
||||||
|
|
|
@ -56,7 +56,7 @@ int link_configure_traffic_control(Link *link) {
|
||||||
return 0;
|
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);
|
assert(tc);
|
||||||
|
|
||||||
switch(tc->kind) {
|
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");
|
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);
|
void traffic_control_free(TrafficControl *tc);
|
||||||
int link_configure_traffic_control(Link *link);
|
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 a new issue