src/confd: refactor handling of callbacks for SR_DS_CANDIDATE

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2023-05-26 15:10:26 +02:00
committed by Tobias Waldekranz
parent 3424985b2b
commit ebc87eb0a0
3 changed files with 7 additions and 4 deletions
+5
View File
@@ -83,6 +83,11 @@ int sr_plugin_init_cb(sr_session_ctx_t *session, void **priv)
if (rc)
goto err;
/* Used by, e.g., ietf-interfaces, to update interfaces types */
rc = sr_session_start(confd.conn, SR_DS_CANDIDATE, &confd.cand);
if (rc)
goto err;
confd.aug = aug_init(NULL, "", 0);
if (!confd.aug)
goto err;
+1
View File
@@ -64,6 +64,7 @@ static inline void print_val(sr_val_t *val)
struct confd {
sr_session_ctx_t *session; /* running datastore */
sr_session_ctx_t *startup; /* startup datastore */
sr_session_ctx_t *cand; /* candidate datastore */
sr_conn_ctx_t *conn;
sr_subscription_ctx_t *sub;
+1 -4
View File
@@ -517,12 +517,9 @@ int ietf_interfaces_init(struct confd *confd)
goto fail;
REGISTER_CHANGE(confd->session, "ietf-interfaces", "/ietf-interfaces:interfaces", 0, ifchange, confd, &confd->sub);
sr_session_switch_ds(confd->session, SR_DS_CANDIDATE);
REGISTER_CHANGE(confd->session, "ietf-interfaces", "/ietf-interfaces:interfaces",
REGISTER_CHANGE(confd->cand, "ietf-interfaces", "/ietf-interfaces:interfaces",
SR_SUBSCR_UPDATE, ifchange_cand, confd, &confd->sub);
sr_session_switch_ds(confd->session, SR_DS_RUNNING);
return SR_ERR_OK;
fail:
ERROR("init failed: %s", sr_strerror(rc));