]> git.puffer.fish Git - matthieu/frr.git/commitdiff
eigrpd: fix dependency on operational state in cli
authorIgor Ryzhov <iryzhov@nfware.com>
Fri, 12 Mar 2021 23:09:34 +0000 (02:09 +0300)
committerIgor Ryzhov <iryzhov@nfware.com>
Tue, 16 Mar 2021 14:45:06 +0000 (17:45 +0300)
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
eigrpd/eigrp_cli.c

index 0de72d1ac87cefeac0f53f1c8ca198c683ef395b..ae15e97d4ab45a889f86a60658f8702c78982050 100644 (file)
@@ -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);
 }