diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-02-03 15:47:53 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-02-03 17:45:08 -0500 |
| commit | b0534a89201fd8cc6216f7bbffb37a931b21079f (patch) | |
| tree | c104a3374736bdcecd9c604571813e9b581571f0 /eigrpd/eigrp_vty.c | |
| parent | 95fc2ae7911d32056a411c3d0caac5f8b9a628b2 (diff) | |
eigrpd: Abstract display of an individual entry
Abstract the individual display of a entry in the eigrp
topology table.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'eigrpd/eigrp_vty.c')
| -rw-r--r-- | eigrpd/eigrp_vty.c | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/eigrpd/eigrp_vty.c b/eigrpd/eigrp_vty.c index f1de59e0aa..a6e03b22b2 100644 --- a/eigrpd/eigrp_vty.c +++ b/eigrpd/eigrp_vty.c @@ -455,6 +455,30 @@ DEFUN (no_eigrp_neighbor, return CMD_SUCCESS; } +static void eigrp_vty_display_prefix_entry(struct vty *vty, + struct eigrp *eigrp, + struct eigrp_prefix_entry *pe, + bool all) +{ + bool first = true; + struct eigrp_nexthop_entry *te; + struct listnode *node; + + for (ALL_LIST_ELEMENTS_RO(pe->entries, node, te)) { + if (all + || (((te->flags + & EIGRP_NEXTHOP_ENTRY_SUCCESSOR_FLAG) + == EIGRP_NEXTHOP_ENTRY_SUCCESSOR_FLAG) + || ((te->flags + & EIGRP_NEXTHOP_ENTRY_FSUCCESSOR_FLAG) + == EIGRP_NEXTHOP_ENTRY_FSUCCESSOR_FLAG))) { + show_ip_eigrp_nexthop_entry(vty, eigrp, te, + &first); + first = false; + } + } +} + DEFUN (show_ip_eigrp_topology, show_ip_eigrp_topology_cmd, "show ip eigrp topology [all-links]", @@ -465,11 +489,8 @@ DEFUN (show_ip_eigrp_topology, "Show all links in topology table\n") { struct eigrp *eigrp; - struct listnode *node; struct eigrp_prefix_entry *tn; - struct eigrp_nexthop_entry *te; struct route_node *rn; - bool first; eigrp = eigrp_lookup(); if (eigrp == NULL) { @@ -484,20 +505,7 @@ DEFUN (show_ip_eigrp_topology, continue; tn = rn->info; - first = true; - for (ALL_LIST_ELEMENTS_RO(tn->entries, node, te)) { - if (argc == 5 - || (((te->flags - & EIGRP_NEXTHOP_ENTRY_SUCCESSOR_FLAG) - == EIGRP_NEXTHOP_ENTRY_SUCCESSOR_FLAG) - || ((te->flags - & EIGRP_NEXTHOP_ENTRY_FSUCCESSOR_FLAG) - == EIGRP_NEXTHOP_ENTRY_FSUCCESSOR_FLAG))) { - show_ip_eigrp_nexthop_entry(vty, eigrp, te, - &first); - first = 0; - } - } + eigrp_vty_display_prefix_entry(vty, eigrp, tn, argc == 5); } return CMD_SUCCESS; |
