From 77a42534c1829b0e7ad4993585c4be58f756df48 Mon Sep 17 00:00:00 2001 From: Igor Ryzhov Date: Sat, 13 Mar 2021 01:50:08 +0300 Subject: [PATCH 1/2] eigrpd: fix xpaths Signed-off-by: Igor Ryzhov --- eigrpd/eigrp_cli.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eigrpd/eigrp_cli.c b/eigrpd/eigrp_cli.c index 00d8ea8867..0de72d1ac8 100644 --- a/eigrpd/eigrp_cli.c +++ b/eigrpd/eigrp_cli.c @@ -671,7 +671,7 @@ DEFPY_YANG( as_str); nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, NULL); - snprintf(xpath_auth, sizeof(xpath_auth), "%s/summarize-address", xpath); + snprintf(xpath_auth, sizeof(xpath_auth), "%s/summarize-addresses", xpath); nb_cli_enqueue_change(vty, xpath_auth, NB_OP_CREATE, prefix_str); return nb_cli_apply_changes(vty, NULL); @@ -694,7 +694,7 @@ DEFPY_YANG( as_str); nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, NULL); - snprintf(xpath_auth, sizeof(xpath_auth), "%s/summarize-address", xpath); + snprintf(xpath_auth, sizeof(xpath_auth), "%s/summarize-addresses", xpath); nb_cli_enqueue_change(vty, xpath_auth, NB_OP_DESTROY, prefix_str); return nb_cli_apply_changes(vty, NULL); From 7f9c68df53a276969e7b68273c9fe7be6c005abd Mon Sep 17 00:00:00 2001 From: Igor Ryzhov Date: Sat, 13 Mar 2021 02:09:34 +0300 Subject: [PATCH 2/2] eigrpd: fix dependency on operational state in cli Signed-off-by: Igor Ryzhov --- eigrpd/eigrp_cli.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/eigrpd/eigrp_cli.c b/eigrpd/eigrp_cli.c index 0de72d1ac8..ae15e97d4a 100644 --- a/eigrpd/eigrp_cli.c +++ b/eigrpd/eigrp_cli.c @@ -703,12 +703,12 @@ DEFPY_YANG( void eigrp_cli_show_summarize_address(struct vty *vty, struct lyd_node *dnode, bool show_defaults) { - const struct eigrp_interface *eif = nb_running_get_entry(dnode, NULL, - true); + const struct lyd_node *instance = yang_dnode_get_parent(dnode, "instance"); + uint16_t asn = yang_dnode_get_uint16(instance, "./asn"); const char *summarize_address = yang_dnode_get_string(dnode, NULL); - vty_out(vty, " ip summary-address eigrp %d %s\n", - eif->eigrp->AS, summarize_address); + vty_out(vty, " ip summary-address eigrp %d %s\n", asn, + summarize_address); } /* @@ -767,12 +767,11 @@ DEFPY_YANG( void eigrp_cli_show_authentication(struct vty *vty, struct lyd_node *dnode, bool show_defaults) { - const struct eigrp_interface *eif = nb_running_get_entry(dnode, NULL, - true); + const struct lyd_node *instance = yang_dnode_get_parent(dnode, "instance"); + uint16_t asn = yang_dnode_get_uint16(instance, "./asn"); const char *crypt = yang_dnode_get_string(dnode, NULL); - vty_out(vty, " ip authentication mode eigrp %d %s\n", - eif->eigrp->AS, crypt); + vty_out(vty, " ip authentication mode eigrp %d %s\n", asn, crypt); } /* @@ -827,12 +826,12 @@ DEFPY_YANG( void eigrp_cli_show_keychain(struct vty *vty, struct lyd_node *dnode, bool show_defaults) { - const struct eigrp_interface *eif = nb_running_get_entry(dnode, NULL, - true); + const struct lyd_node *instance = yang_dnode_get_parent(dnode, "instance"); + uint16_t asn = yang_dnode_get_uint16(instance, "./asn"); const char *keychain = yang_dnode_get_string(dnode, NULL); - vty_out(vty, " ip authentication key-chain eigrp %d %s\n", - eif->eigrp->AS, keychain); + vty_out(vty, " ip authentication key-chain eigrp %d %s\n", asn, + keychain); }