va_end(ap);
}
- if (vty_mgmt_fe_enabled()) {
+ if (vty_mgmt_should_process_cli_apply_changes(vty)) {
VTY_CHECK_XPATH;
+ if (vty->type == VTY_FILE)
+ return CMD_SUCCESS;
+
implicit_commit = vty_needs_implicit_commit(vty);
ret = vty_mgmt_send_config_data(vty);
if (ret >= 0 && !implicit_commit)
va_end(ap);
}
- if (vty_mgmt_fe_enabled()) {
+ if (vty_mgmt_should_process_cli_apply_changes(vty)) {
VTY_CHECK_XPATH;
implicit_commit = vty_needs_implicit_commit(vty);
struct lyd_node *dnode;
char *strp;
uint32_t print_options = LYD_PRINT_WITHSIBLINGS;
+ int ret;
if (xml)
format = LYD_XML;
/* Obtain data. */
dnode = yang_dnode_new(ly_ctx, false);
- if (nb_oper_data_iterate(xpath, translator, 0, nb_cli_oper_data_cb,
- dnode)
- != NB_OK) {
- vty_out(vty, "%% Failed to fetch operational data.\n");
+ ret = nb_oper_data_iterate(xpath, translator, 0, nb_cli_oper_data_cb,
+ dnode);
+ if (ret != NB_OK) {
+ if (format == LYD_JSON)
+ vty_out(vty, "{}\n");
+ else {
+ /* embed ly_last_errmsg() when we get newer libyang */
+ vty_out(vty, "<!-- Not found -->\n");
+ }
yang_dnode_free(dnode);
return CMD_WARNING;
}