mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-03 14:23:02 +02:00
src/confd: refactor handling of callbacks for SR_DS_CANDIDATE
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
committed by
Tobias Waldekranz
parent
3424985b2b
commit
ebc87eb0a0
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user