From f6454e2c9eea29db6436c97d7c3da5cee258d77a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 13 Apr 2023 22:04:23 +0200 Subject: [PATCH] confd: if: Ensure that the required modules are loaded --- src/confd/src/ietf-interfaces.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/confd/src/ietf-interfaces.c b/src/confd/src/ietf-interfaces.c index d2052a4b..5c3d2a52 100644 --- a/src/confd/src/ietf-interfaces.c +++ b/src/confd/src/ietf-interfaces.c @@ -1,8 +1,28 @@ /* SPDX-License-Identifier: BSD-3-Clause */ #include "core.h" +#include "sr_ext.h" + +const struct srx_module_requirement ietf_if_reqs[] = { + { .dir = YANG_PATH_, .name = "ietf-interfaces", .rev = "2018-02-20" }, + { .dir = YANG_PATH_, .name = "iana-if-type", .rev = "2023-01-26" }, + { .dir = YANG_PATH_, .name = "ietf-ip", .rev = "2018-02-22" }, + + { NULL } +}; int ietf_interfaces_init(struct confd *confd) { + int err; + + err = srx_require_modules(confd->conn, ietf_if_reqs); + if (err) + goto err; + return SR_ERR_OK; +err: + ERROR("init failed: %s", sr_strerror(err)); + sr_unsubscribe(confd->sub); + + return err; }