network/teql: wait for corresponding teql interface to be available

This commit is contained in:
Yu Watanabe
2022-08-09 19:37:49 +09:00
parent 21261ea231
commit 9b2a2e06c4
+16
View File
@@ -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(