diff --git a/src/confd/src/Makefile.am b/src/confd/src/Makefile.am index 975bf7d5..06393ff6 100644 --- a/src/confd/src/Makefile.am +++ b/src/confd/src/Makefile.am @@ -6,4 +6,4 @@ plugin_LTLIBRARIES = confd-plugin.la confd_plugin_la_CFLAGS = $(augeas_CFLAGS) $(sysrepo_CFLAGS) $(CFLAGS) confd_plugin_la_LIBADD = $(augeas_LIBS) $(sysrepo_LIBS) $(CFLAGS) confd_plugin_la_LDFLAGS = -module -avoid-version -shared -confd_plugin_la_SOURCES = core.c core.h run.c ietf-system.c +confd_plugin_la_SOURCES = core.c core.h run.c ietf-system.c ietf-interfaces.c diff --git a/src/confd/src/core.c b/src/confd/src/core.c index 4337db88..d790236d 100644 --- a/src/confd/src/core.c +++ b/src/confd/src/core.c @@ -45,6 +45,9 @@ int sr_plugin_init_cb(sr_session_ctx_t *session, void **priv) if (rc = ietf_system_init(&confd)) goto err; + /* if (rc = ietf_interfaces_init(&confd)) */ + /* goto err; */ + /* YOUR_INIT GOES HERE */ /* Set up hook to save startup-config to persisten backend store */ diff --git a/src/confd/src/ietf-interfaces.c b/src/confd/src/ietf-interfaces.c new file mode 100644 index 00000000..eb5870df --- /dev/null +++ b/src/confd/src/ietf-interfaces.c @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: BSD-3-Clause */ + +#include "core.h" + +int ietf_system_init(struct confd *confd) +{ + char *model[] = { + YANG_PATH_"ietf-interfaces@2018-02-20.yang", + YANG_PATH_"ietf-ip@2018-02-22.yang", + }; + int rc, i; + + for (i = 0; i < NELEMS(model); i++) { + if (rc = sr_install_module(confd->conn, model[i], NULL, NULL)) + goto err; + } + + return SR_ERR_OK; +err: + ERROR("init failed: %s", sr_strerror(rc)); + sr_unsubscribe(confd->sub); + + return rc; +}