From 9317e17dc86bdaaa345bfedc14d453a2af3ab60f Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 27 Jan 2017 08:12:53 -0500 Subject: [PATCH] bgpd: Make usage of idx consistent Convert the idx to &idx to make our api more consistent Signed-off-by: Donald Sharp --- bgpd/bgp_route.c | 15 ++++++++------- bgpd/bgp_vty.c | 19 +++++++++++-------- bgpd/bgp_vty.h | 2 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 573fc76655..0225a0bbef 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -8058,7 +8058,7 @@ DEFUN (show_ip_bgp, struct bgp *bgp = NULL; int idx = 0; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; @@ -8067,6 +8067,7 @@ DEFUN (show_ip_bgp, if (vrf != VRF_ALL) { + vty_out(vty, "VRF-id: %d", vrf); bgp = bgp_lookup_by_vrf_id (vrf); if (bgp == NULL) { @@ -8165,7 +8166,7 @@ DEFUN (show_ip_bgp_route, int idx = 0; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; @@ -8235,7 +8236,7 @@ DEFUN (show_ip_bgp_regexp, safi_t safi = SAFI_UNICAST; int idx = 0; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; @@ -8269,7 +8270,7 @@ DEFUN (show_ip_bgp_instance_all, safi_t safi = SAFI_UNICAST; int idx = 0; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; @@ -8960,7 +8961,7 @@ DEFUN (show_ip_bgp_instance_neighbor_prefix_counts, int idx = 0; struct bgp *bgp = NULL; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; @@ -9324,7 +9325,7 @@ DEFUN (show_ip_bgp_instance_neighbor_advertised_route, int idx = 0; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; @@ -9512,7 +9513,7 @@ DEFUN (show_ip_bgp_neighbor_routes, int idx = 0; - idx = bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, idx, &afi, &safi, &vrf); + bgp_vty_find_and_parse_afi_safi_vrf (vty, argv, argc, &idx, &afi, &safi, &vrf); if (!idx) return CMD_WARNING; diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 208dd54460..7462f29e31 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -232,22 +232,22 @@ argv_find_and_parse_safi (struct cmd_token **argv, int argc, int *index, safi_t * it found the last token. */ int -bgp_vty_find_and_parse_afi_safi_vrf (struct vty *vty, struct cmd_token **argv, int argc, int idx, +bgp_vty_find_and_parse_afi_safi_vrf (struct vty *vty, struct cmd_token **argv, int argc, int *idx, afi_t *afi, safi_t *safi, vrf_id_t *vrf) { char *vrf_name = NULL; - if (argv_find (argv, argc, "ip", &idx)) + if (argv_find (argv, argc, "ip", idx)) *afi = AFI_IP; - if (argv_find (argv, argc, "view", &idx) || argv_find (argv, argc, "vrf", &idx)) + if (argv_find (argv, argc, "view", idx) || argv_find (argv, argc, "vrf", idx)) { - vrf_name = argv[idx + 1]->arg; - idx += 2; + vrf_name = argv[*idx + 1]->arg; + *idx += 2; } - if (argv_find_and_parse_afi (argv, argc, &idx, afi)) - argv_find_and_parse_safi (argv, argc, &idx, safi); + if (argv_find_and_parse_afi (argv, argc, idx, afi)) + argv_find_and_parse_safi (argv, argc, idx, safi); if (vrf_name) { @@ -260,9 +260,12 @@ bgp_vty_find_and_parse_afi_safi_vrf (struct vty *vty, struct cmd_token **argv, i if (*vrf == VRF_UNKNOWN) { vty_out (vty, "View/Vrf specified is unknown: %s", vrf_name); + *idx = 0; return 0; } - return idx + 1; + + *idx += 1; + return *idx; } static int diff --git a/bgpd/bgp_vty.h b/bgpd/bgp_vty.h index cfc4f6cdfb..13e67d112e 100644 --- a/bgpd/bgp_vty.h +++ b/bgpd/bgp_vty.h @@ -64,6 +64,6 @@ extern int argv_find_and_parse_safi(struct cmd_token **argv, int argc, int *index, safi_t *safi); extern int -bgp_vty_find_and_parse_afi_safi_vrf (struct vty *vty, struct cmd_token **argv, int argc, int idx, +bgp_vty_find_and_parse_afi_safi_vrf (struct vty *vty, struct cmd_token **argv, int argc, int *idx, afi_t *afi, safi_t *safi, vrf_id_t *vrf); #endif /* _QUAGGA_BGP_VTY_H */ -- 2.39.5