network/teql: wait for corresponding teql interface to be available
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include "macro.h"
|
||||
#include "networkd-link.h"
|
||||
#include "parse-util.h"
|
||||
#include "string-util.h"
|
||||
#include "teql.h"
|
||||
@@ -17,9 +18,24 @@ static int trivial_link_equalizer_verify(QDisc *qdisc) {
|
||||
return free_and_replace(qdisc->tca_kind, tca_kind);
|
||||
}
|
||||
|
||||
static int trivial_link_equalizer_is_ready(QDisc *qdisc, Link *link) {
|
||||
Link *teql;
|
||||
|
||||
assert(qdisc);
|
||||
assert(qdisc->tca_kind);
|
||||
assert(link);
|
||||
assert(link->manager);
|
||||
|
||||
if (link_get_by_name(link->manager, qdisc->tca_kind, &teql) < 0)
|
||||
return false;
|
||||
|
||||
return link_is_ready_to_configure(teql, /* allow_unmanaged = */ true);
|
||||
}
|
||||
|
||||
const QDiscVTable teql_vtable = {
|
||||
.object_size = sizeof(TrivialLinkEqualizer),
|
||||
.verify = trivial_link_equalizer_verify,
|
||||
.is_ready = trivial_link_equalizer_is_ready,
|
||||
};
|
||||
|
||||
int config_parse_trivial_link_equalizer_id(
|
||||
|
||||
Reference in New Issue
Block a user