summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_bfd.c2
-rw-r--r--bgpd/bgp_bfd.h4
-rw-r--r--bgpd/bgp_damp.c4
-rw-r--r--bgpd/bgp_damp.h3
-rw-r--r--bgpd/bgp_evpn_vty.c38
-rw-r--r--bgpd/bgp_mplsvpn.c10
-rw-r--r--bgpd/bgp_mplsvpn.h2
-rw-r--r--bgpd/bgp_open.c4
-rw-r--r--bgpd/bgp_open.h2
-rw-r--r--bgpd/bgp_route.c119
-rw-r--r--bgpd/bgp_route.h4
-rw-r--r--bgpd/bgp_vpn.c2
-rw-r--r--bgpd/bgp_vpn.h2
-rw-r--r--bgpd/bgp_vty.c105
-rw-r--r--bgpd/bgp_vty.h5
-rw-r--r--bgpd/bgpd.c2
-rw-r--r--bgpd/bgpd.h2
-rw-r--r--lib/bfd.c6
-rw-r--r--lib/bfd.h4
-rw-r--r--lib/json.c8
-rw-r--r--lib/json.h2
-rw-r--r--lib/plist.c2
-rw-r--r--lib/plist.h2
-rw-r--r--ospfd/ospf_bfd.c4
-rw-r--r--ospfd/ospf_bfd.h4
-rw-r--r--ospfd/ospf_vty.c221
-rw-r--r--pimd/pim_bfd.c2
-rw-r--r--pimd/pim_bfd.h2
-rw-r--r--pimd/pim_cmd.c76
-rw-r--r--zebra/zebra_mpls.c4
-rw-r--r--zebra/zebra_mpls.h4
-rw-r--r--zebra/zebra_vty.c45
-rw-r--r--zebra/zebra_vxlan.c37
-rw-r--r--zebra/zebra_vxlan.h36
34 files changed, 444 insertions, 325 deletions
diff --git a/bgpd/bgp_bfd.c b/bgpd/bgp_bfd.c
index 47dffd146a..663bc4894a 100644
--- a/bgpd/bgp_bfd.c
+++ b/bgpd/bgp_bfd.c
@@ -530,7 +530,7 @@ void bgp_bfd_peer_config_write(struct vty *vty, struct peer *peer, char *addr)
/*
* bgp_bfd_show_info - Show the peer BFD information.
*/
-void bgp_bfd_show_info(struct vty *vty, struct peer *peer, uint8_t use_json,
+void bgp_bfd_show_info(struct vty *vty, struct peer *peer, bool use_json,
json_object *json_neigh)
{
bfd_show_info(vty, (struct bfd_info *)peer->bfd_info,
diff --git a/bgpd/bgp_bfd.h b/bgpd/bgp_bfd.h
index a3cfca9c0d..caa5651e3a 100644
--- a/bgpd/bgp_bfd.h
+++ b/bgpd/bgp_bfd.h
@@ -34,8 +34,8 @@ extern void bgp_bfd_deregister_peer(struct peer *peer);
extern void bgp_bfd_peer_config_write(struct vty *vty, struct peer *peer,
char *addr);
-extern void bgp_bfd_show_info(struct vty *vty, struct peer *peer,
- uint8_t use_json, json_object *json_neigh);
+extern void bgp_bfd_show_info(struct vty *vty, struct peer *peer, bool use_json,
+ json_object *json_neigh);
extern int bgp_bfd_is_peer_multihop(struct peer *peer);
diff --git a/bgpd/bgp_damp.c b/bgpd/bgp_damp.c
index bce6056ded..071ee6b9c6 100644
--- a/bgpd/bgp_damp.c
+++ b/bgpd/bgp_damp.c
@@ -523,7 +523,7 @@ void bgp_config_write_damp(struct vty *vty)
}
static const char *bgp_get_reuse_time(unsigned int penalty, char *buf,
- size_t len, uint8_t use_json,
+ size_t len, bool use_json,
json_object *json)
{
time_t reuse_time = 0;
@@ -641,7 +641,7 @@ void bgp_damp_info_vty(struct vty *vty, struct bgp_info *binfo,
}
const char *bgp_damp_reuse_time_vty(struct vty *vty, struct bgp_info *binfo,
- char *timebuf, size_t len, uint8_t use_json,
+ char *timebuf, size_t len, bool use_json,
json_object *json)
{
struct bgp_damp_info *bdi;
diff --git a/bgpd/bgp_damp.h b/bgpd/bgp_damp.h
index d3b0ae42aa..77e4cd3e84 100644
--- a/bgpd/bgp_damp.h
+++ b/bgpd/bgp_damp.h
@@ -141,8 +141,7 @@ extern void bgp_config_write_damp(struct vty *);
extern void bgp_damp_info_vty(struct vty *, struct bgp_info *,
json_object *json_path);
extern const char *bgp_damp_reuse_time_vty(struct vty *, struct bgp_info *,
- char *, size_t, uint8_t,
- json_object *);
+ char *, size_t, bool, json_object *);
extern int bgp_show_dampening_parameters(struct vty *vty, afi_t, safi_t);
#endif /* _QUAGGA_BGP_DAMP_H */
diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c
index b553cb42a5..a6cc2d9b53 100644
--- a/bgpd/bgp_evpn_vty.c
+++ b/bgpd/bgp_evpn_vty.c
@@ -983,7 +983,7 @@ static void show_vni_entry(struct hash_backet *backet, void *args[])
static int bgp_show_ethernet_vpn(struct vty *vty, struct prefix_rd *prd,
enum bgp_show_type type, void *output_arg,
- int option, uint8_t use_json)
+ int option, bool use_json)
{
afi_t afi = AFI_L2VPN;
struct bgp *bgp;
@@ -1276,7 +1276,7 @@ DEFUN(show_ip_bgp_l2vpn_evpn_all_neighbor_routes,
union sockunion su;
struct peer *peer;
int ret;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
argv_find(argv, argc, "A.B.C.D", &idx_ipv4);
@@ -1336,7 +1336,7 @@ DEFUN(show_ip_bgp_l2vpn_evpn_rd_neighbor_routes,
union sockunion su;
struct peer *peer;
struct prefix_rd prd;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
argv_find(argv, argc, "ASN:NN_OR_IP-ADDRESS:NN", &idx_ext_community);
argv_find(argv, argc, "A.B.C.D", &idx_ipv4);
@@ -1409,7 +1409,7 @@ DEFUN(show_ip_bgp_l2vpn_evpn_all_neighbor_advertised_routes,
int ret;
struct peer *peer;
union sockunion su;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
argv_find(argv, argc, "A.B.C.D", &idx_ipv4);
@@ -1467,7 +1467,7 @@ DEFUN(show_ip_bgp_l2vpn_evpn_rd_neighbor_advertised_routes,
struct peer *peer;
struct prefix_rd prd;
union sockunion su;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
argv_find(argv, argc, "ASN:NN_OR_IP-ADDRESS:NN", &idx_ext_community);
argv_find(argv, argc, "A.B.C.D", &idx_ipv4);
@@ -3172,7 +3172,7 @@ DEFUN(show_bgp_l2vpn_evpn_vni,
struct bgp *bgp_def;
vni_t vni;
int idx = 0;
- uint8_t uj = 0;
+ bool uj = false;
json_object *json = NULL;
uint32_t num_l2vnis = 0;
uint32_t num_l3vnis = 0;
@@ -3255,7 +3255,7 @@ DEFUN(show_bgp_l2vpn_evpn_es,
JSON_STR)
{
int idx = 0;
- uint8_t uj = 0;
+ bool uj = false;
esi_t esi;
json_object *json = NULL;
struct bgp *bgp = NULL;
@@ -3312,7 +3312,7 @@ DEFUN(show_bgp_l2vpn_evpn_summary,
JSON_STR)
{
int idx_vrf = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
char *vrf = NULL;
if (argv_find(argv, argc, "vrf", &idx_vrf))
@@ -3341,7 +3341,7 @@ DEFUN(show_bgp_l2vpn_evpn_route,
struct bgp *bgp;
int type_idx = 0;
int type = 0;
- uint8_t uj = 0;
+ bool uj = false;
json_object *json = NULL;
uj = use_json(argc, argv);
@@ -3404,7 +3404,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_rd,
int type = 0;
int rd_idx = 0;
int type_idx = 0;
- int uj = 0;
+ bool uj = false;
json_object *json = NULL;
bgp = bgp_get_default();
@@ -3477,7 +3477,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_rd_macip,
int rd_idx = 0;
int mac_idx = 0;
int ip_idx = 0;
- int uj = 0;
+ bool uj = false;
json_object *json = NULL;
memset(&mac, 0, sizeof(struct ethaddr));
@@ -3541,7 +3541,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_esi,
"ESI ID\n"
JSON_STR)
{
- int uj = 0;
+ bool uj = false;
esi_t esi;
struct bgp *bgp = NULL;
json_object *json = NULL;
@@ -3597,7 +3597,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_vni, show_bgp_l2vpn_evpn_route_vni_cmd,
struct in_addr vtep_ip;
int type = 0;
int idx = 0;
- int uj = 0;
+ bool uj = false;
json_object *json = NULL;
bgp = bgp_get_default();
@@ -3669,7 +3669,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_vni_macip,
struct ethaddr mac;
struct ipaddr ip;
int idx = 0;
- int uj = 0;
+ bool uj = false;
json_object *json = NULL;
bgp = bgp_get_default();
@@ -3737,7 +3737,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_vni_multicast,
int ret;
struct in_addr orig_ip;
int idx = 0;
- int uj = 0;
+ bool uj = false;
json_object *json = NULL;
bgp = bgp_get_default();
@@ -3793,7 +3793,7 @@ DEFUN(show_bgp_l2vpn_evpn_route_vni_all,
struct bgp *bgp;
struct in_addr vtep_ip;
int idx = 0;
- int uj = 0;
+ bool uj = false;
json_object *json = NULL;
bgp = bgp_get_default();
@@ -3841,7 +3841,7 @@ DEFUN(show_bgp_l2vpn_evpn_vrf_import_rt,
"Show vrf import route target\n"
JSON_STR)
{
- uint8_t uj = 0;
+ bool uj = false;
struct bgp *bgp_def = NULL;
json_object *json = NULL;
@@ -3878,7 +3878,7 @@ DEFUN(show_bgp_l2vpn_evpn_import_rt,
JSON_STR)
{
struct bgp *bgp;
- uint8_t uj = 0;
+ bool uj = false;
json_object *json = NULL;
bgp = bgp_get_default();
@@ -4359,7 +4359,7 @@ DEFUN (show_bgp_vrf_l3vni_info,
json_object *json_vnis = NULL;
json_object *json_export_rts = NULL;
json_object *json_import_rts = NULL;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (uj) {
json = json_object_new_object();
diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c
index b89edfe459..459775c8ec 100644
--- a/bgpd/bgp_mplsvpn.c
+++ b/bgpd/bgp_mplsvpn.c
@@ -1775,7 +1775,7 @@ DEFUN (no_vpnv6_network,
int bgp_show_mpls_vpn(struct vty *vty, afi_t afi, struct prefix_rd *prd,
enum bgp_show_type type, void *output_arg, int tags,
- uint8_t use_json)
+ bool use_json)
{
struct bgp *bgp;
struct bgp_table *table;
@@ -1953,7 +1953,7 @@ DEFUN (show_ip_bgp_vpn_all_neighbor_routes,
union sockunion su;
struct peer *peer;
int ret;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
afi_t afi;
int idx = 0;
@@ -2017,7 +2017,7 @@ DEFUN (show_ip_bgp_vpn_rd_neighbor_routes,
union sockunion su;
struct peer *peer;
struct prefix_rd prd;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
afi_t afi;
int idx = 0;
@@ -2095,7 +2095,7 @@ DEFUN (show_ip_bgp_vpn_all_neighbor_advertised_routes,
int ret;
struct peer *peer;
union sockunion su;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
afi_t afi;
int idx = 0;
@@ -2157,7 +2157,7 @@ DEFUN (show_ip_bgp_vpn_rd_neighbor_advertised_routes,
struct peer *peer;
struct prefix_rd prd;
union sockunion su;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
afi_t afi;
int idx = 0;
diff --git a/bgpd/bgp_mplsvpn.h b/bgpd/bgp_mplsvpn.h
index 122ae9e905..61b87392a2 100644
--- a/bgpd/bgp_mplsvpn.h
+++ b/bgpd/bgp_mplsvpn.h
@@ -50,7 +50,7 @@ extern int argv_find_and_parse_vpnvx(struct cmd_token **argv, int argc,
int *index, afi_t *afi);
extern int bgp_show_mpls_vpn(struct vty *vty, afi_t afi, struct prefix_rd *prd,
enum bgp_show_type type, void *output_arg,
- int tags, uint8_t use_json);
+ int tags, bool use_json);
extern void vpn_leak_from_vrf_update(struct bgp *bgp_vpn, struct bgp *bgp_vrf,
struct bgp_info *info_vrf);
diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c
index 7fbc030242..5bdee5f512 100644
--- a/bgpd/bgp_open.c
+++ b/bgpd/bgp_open.c
@@ -52,8 +52,8 @@
Next, if we send capability to the peer we want to set my capabilty
inforation at each peer. */
-void bgp_capability_vty_out(struct vty *vty, struct peer *peer,
- uint8_t use_json, json_object *json_neigh)
+void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
+ json_object *json_neigh)
{
char *pnt;
char *end;
diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h
index 42ebe97f2e..fd899bf4c2 100644
--- a/bgpd/bgp_open.h
+++ b/bgpd/bgp_open.h
@@ -86,7 +86,7 @@ struct graceful_restart_af {
extern int bgp_open_option_parse(struct peer *, uint8_t, int *);
extern void bgp_open_capability(struct stream *, struct peer *);
-extern void bgp_capability_vty_out(struct vty *, struct peer *, uint8_t,
+extern void bgp_capability_vty_out(struct vty *, struct peer *, bool,
json_object *);
extern as_t peek_for_as4_capability(struct peer *, uint8_t);
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 50c484d7de..50ffea27bf 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -6755,7 +6755,7 @@ void route_vty_out(struct vty *vty, struct prefix *p, struct bgp_info *binfo,
/* called from terminal list command */
void route_vty_out_tmp(struct vty *vty, struct prefix *p, struct attr *attr,
- safi_t safi, uint8_t use_json, json_object *json_ar)
+ safi_t safi, bool use_json, json_object *json_ar)
{
json_object *json_status = NULL;
json_object *json_net = NULL;
@@ -7084,7 +7084,7 @@ void route_vty_out_overlay(struct vty *vty, struct prefix *p,
/* dampening route */
static void damp_route_vty_out(struct vty *vty, struct prefix *p,
struct bgp_info *binfo, int display, safi_t safi,
- uint8_t use_json, json_object *json)
+ bool use_json, json_object *json)
{
struct attr *attr;
int len;
@@ -7147,7 +7147,7 @@ static void damp_route_vty_out(struct vty *vty, struct prefix *p,
/* flap route */
static void flap_route_vty_out(struct vty *vty, struct prefix *p,
struct bgp_info *binfo, int display, safi_t safi,
- uint8_t use_json, json_object *json)
+ bool use_json, json_object *json)
{
struct attr *attr;
struct bgp_damp_info *bdi;
@@ -8160,12 +8160,12 @@ static int bgp_show_regexp(struct vty *vty, struct bgp *bgp, const char *regstr,
afi_t afi, safi_t safi, enum bgp_show_type type);
static int bgp_show_community(struct vty *vty, struct bgp *bgp,
const char *comstr, int exact, afi_t afi,
- safi_t safi, uint8_t use_json);
+ safi_t safi, bool use_json);
static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi,
struct bgp_table *table, enum bgp_show_type type,
- void *output_arg, uint8_t use_json, char *rd,
+ void *output_arg, bool use_json, char *rd,
int is_last, unsigned long *output_cum,
unsigned long *total_cum,
unsigned long *json_header_depth)
@@ -8452,8 +8452,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi,
int bgp_show_table_rd(struct vty *vty, struct bgp *bgp, safi_t safi,
struct bgp_table *table, struct prefix_rd *prd_match,
- enum bgp_show_type type, void *output_arg,
- uint8_t use_json)
+ enum bgp_show_type type, void *output_arg, bool use_json)
{
struct bgp_node *rn, *next;
unsigned long output_cum = 0;
@@ -8493,7 +8492,7 @@ int bgp_show_table_rd(struct vty *vty, struct bgp *bgp, safi_t safi,
return CMD_SUCCESS;
}
static int bgp_show(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi,
- enum bgp_show_type type, void *output_arg, uint8_t use_json)
+ enum bgp_show_type type, void *output_arg, bool use_json)
{
struct bgp_table *table;
unsigned long json_header_depth = 0;
@@ -8531,16 +8530,18 @@ static int bgp_show(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi,
}
static void bgp_show_all_instances_routes_vty(struct vty *vty, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct listnode *node, *nnode;
struct bgp *bgp;
int is_first = 1;
+ bool route_output = false;
if (use_json)
vty_out(vty, "{\n");
for (ALL_LIST_ELEMENTS(bm->bgp, node, nnode, bgp)) {
+ route_output = true;
if (use_json) {
if (!is_first)
vty_out(vty, ",\n");
@@ -8563,6 +8564,8 @@ static void bgp_show_all_instances_routes_vty(struct vty *vty, afi_t afi,
if (use_json)
vty_out(vty, "}\n");
+ else if (!route_output)
+ vty_out(vty, "%% BGP instance not found\n");
}
/* Header of detailed BGP route information */
@@ -8748,8 +8751,7 @@ static int bgp_show_route_in_table(struct vty *vty, struct bgp *bgp,
struct bgp_table *rib, const char *ip_str,
afi_t afi, safi_t safi,
struct prefix_rd *prd, int prefix_check,
- enum bgp_path_type pathtype,
- uint8_t use_json)
+ enum bgp_path_type pathtype, bool use_json)
{
int ret;
int header;
@@ -8885,7 +8887,7 @@ static int bgp_show_route_in_table(struct vty *vty, struct bgp *bgp,
static int bgp_show_route(struct vty *vty, struct bgp *bgp, const char *ip_str,
afi_t afi, safi_t safi, struct prefix_rd *prd,
int prefix_check, enum bgp_path_type pathtype,
- uint8_t use_json)
+ bool use_json)
{
if (!bgp) {
bgp = bgp_get_default();
@@ -8994,7 +8996,7 @@ DEFUN (show_ip_bgp_large_community_list,
safi = bgp_vty_safi_from_str(argv[idx]->text);
}
- int uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct bgp *bgp = bgp_lookup_by_name(vrf);
if (bgp == NULL) {
@@ -9037,7 +9039,7 @@ DEFUN (show_ip_bgp_large_community,
safi = bgp_vty_safi_from_str(argv[idx]->text);
}
- int uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct bgp *bgp = bgp_lookup_by_name(vrf);
if (bgp == NULL) {
@@ -9121,7 +9123,7 @@ DEFUN (show_ip_bgp,
int idx = 0;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, false);
if (!idx)
return CMD_WARNING;
@@ -9197,16 +9199,16 @@ DEFUN (show_ip_bgp_json,
int idx = 0;
int idx_community_type = 0;
int exact_match = 0;
+ bool uj = use_json(argc, argv);
+
+ if (uj)
+ argc--;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, uj);
if (!idx)
return CMD_WARNING;
- int uj = use_json(argc, argv);
- if (uj)
- argc--;
-
if (argv_find(argv, argc, "cidr-only", &idx))
return bgp_show(vty, bgp, afi, safi, bgp_show_type_cidr_only,
NULL, uj);
@@ -9275,12 +9277,12 @@ DEFUN (show_ip_bgp_route,
char *prefix = NULL;
struct bgp *bgp = NULL;
enum bgp_path_type path_type;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 0;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, uj);
if (!idx)
return CMD_WARNING;
@@ -9343,7 +9345,7 @@ DEFUN (show_ip_bgp_regexp,
int idx = 0;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, false);
if (!idx)
return CMD_WARNING;
@@ -9372,17 +9374,17 @@ DEFUN (show_ip_bgp_instance_all,
afi_t afi = AFI_IP;
safi_t safi = SAFI_UNICAST;
struct bgp *bgp = NULL;
-
int idx = 0;
- bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
- if (!idx)
- return CMD_WARNING;
+ bool uj = use_json(argc, argv);
- int uj = use_json(argc, argv);
if (uj)
argc--;
+ bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
+ &bgp, uj);
+ if (!idx)
+ return CMD_WARNING;
+
bgp_show_all_instances_routes_vty(vty, afi, safi, uj);
return CMD_SUCCESS;
}
@@ -9453,7 +9455,7 @@ static int bgp_show_route_map(struct vty *vty, struct bgp *bgp,
static int bgp_show_community(struct vty *vty, struct bgp *bgp,
const char *comstr, int exact, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct community *com;
int ret = 0;
@@ -9512,7 +9514,7 @@ static int bgp_show_prefix_longer(struct vty *vty, struct bgp *bgp,
}
static struct peer *peer_lookup_in_view(struct vty *vty, struct bgp *bgp,
- const char *ip_str, uint8_t use_json)
+ const char *ip_str, bool use_json)
{
int ret;
struct peer *peer;
@@ -9899,7 +9901,7 @@ static int bgp_peer_count_walker(struct thread *t)
}
static int bgp_peer_counts(struct vty *vty, struct peer *peer, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct peer_pcounts pcounts = {.peer = peer};
unsigned int i;
@@ -10009,16 +10011,16 @@ DEFUN (show_ip_bgp_instance_neighbor_prefix_counts,
struct peer *peer;
int idx = 0;
struct bgp *bgp = NULL;
+ bool uj = use_json(argc, argv);
+
+ if (uj)
+ argc--;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, uj);
if (!idx)
return CMD_WARNING;
- int uj = use_json(argc, argv);
- if (uj)
- argc--;
-
argv_find(argv, argc, "neighbors", &idx);
peer = peer_lookup_in_view(vty, bgp, argv[idx + 1]->arg, uj);
if (!peer)
@@ -10045,7 +10047,7 @@ DEFUN (show_ip_bgp_vpn_neighbor_prefix_counts,
{
int idx_peer = 6;
struct peer *peer;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
peer = peer_lookup_in_view(vty, NULL, argv[idx_peer]->arg, uj);
if (!peer)
@@ -10118,7 +10120,7 @@ DEFUN (show_ip_bgp_l2vpn_evpn_all_route_prefix,
static void show_adj_route(struct vty *vty, struct peer *peer, afi_t afi,
safi_t safi, enum bgp_show_adj_route_type type,
- const char *rmap_name, uint8_t use_json,
+ const char *rmap_name, bool use_json,
json_object *json)
{
struct bgp_table *table;
@@ -10389,7 +10391,7 @@ static void show_adj_route(struct vty *vty, struct peer *peer, afi_t afi,
static int peer_adj_routes(struct vty *vty, struct peer *peer, afi_t afi,
safi_t safi, enum bgp_show_adj_route_type type,
- const char *rmap_name, uint8_t use_json)
+ const char *rmap_name, bool use_json)
{
json_object *json = NULL;
@@ -10463,18 +10465,17 @@ DEFUN (show_ip_bgp_instance_neighbor_advertised_route,
struct bgp *bgp = NULL;
struct peer *peer;
enum bgp_show_adj_route_type type = bgp_show_adj_route_advertised;
-
int idx = 0;
- bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
- if (!idx)
- return CMD_WARNING;
-
- int uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (uj)
argc--;
+ bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
+ &bgp, uj);
+ if (!idx)
+ return CMD_WARNING;
+
/* neighbors <A.B.C.D|X:X::X:X|WORD> */
argv_find(argv, argc, "neighbors", &idx);
peerstr = argv[++idx]->arg;
@@ -10536,7 +10537,7 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter,
argv_find(argv, argc, "neighbors", &idx);
peerstr = argv[++idx]->arg;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
ret = str2sockunion(peerstr, &su);
if (ret < 0) {
@@ -10580,7 +10581,7 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter,
static int bgp_show_neighbor_route(struct vty *vty, struct peer *peer,
afi_t afi, safi_t safi,
- enum bgp_show_type type, uint8_t use_json)
+ enum bgp_show_type type, bool use_json)
{
/* labeled-unicast routes live in the unicast table */
if (safi == SAFI_LABELED_UNICAST)
@@ -10620,14 +10621,17 @@ DEFUN (show_ip_bgp_flowspec_routes_detailed,
safi_t safi = SAFI_UNICAST;
struct bgp *bgp = NULL;
int idx = 0;
+ bool uj = use_json(argc, argv);
+
+ if (uj)
+ argc--;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, uj);
if (!idx)
return CMD_WARNING;
- return bgp_show(vty, bgp, afi, safi,
- bgp_show_type_detail, NULL, use_json(argc, argv));
+ return bgp_show(vty, bgp, afi, safi, bgp_show_type_detail, NULL, uj);
}
DEFUN (show_ip_bgp_neighbor_routes,
@@ -10655,18 +10659,17 @@ DEFUN (show_ip_bgp_neighbor_routes,
safi_t safi = SAFI_UNICAST;
struct peer *peer;
enum bgp_show_type sh_type = bgp_show_type_neighbor;
-
int idx = 0;
+ bool uj = use_json(argc, argv);
+
+ if (uj)
+ argc--;
bgp_vty_find_and_parse_afi_safi_bgp(vty, argv, argc, &idx, &afi, &safi,
- &bgp);
+ &bgp, uj);
if (!idx)
return CMD_WARNING;
- int uj = use_json(argc, argv);
- if (uj)
- argc--;
-
/* neighbors <A.B.C.D|X:X::X:X|WORD> */
argv_find(argv, argc, "neighbors", &idx);
peerstr = argv[++idx]->arg;
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h
index dfef9a8f79..c4f3ad1120 100644
--- a/bgpd/bgp_route.h
+++ b/bgpd/bgp_route.h
@@ -436,7 +436,7 @@ extern void route_vty_out(struct vty *, struct prefix *, struct bgp_info *, int,
extern void route_vty_out_tag(struct vty *, struct prefix *, struct bgp_info *,
int, safi_t, json_object *);
extern void route_vty_out_tmp(struct vty *, struct prefix *, struct attr *,
- safi_t, uint8_t, json_object *);
+ safi_t, bool, json_object *);
extern void route_vty_out_overlay(struct vty *vty, struct prefix *p,
struct bgp_info *binfo, int display,
json_object *json);
@@ -484,5 +484,5 @@ extern void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
extern int bgp_show_table_rd(struct vty *vty, struct bgp *bgp, safi_t safi,
struct bgp_table *table, struct prefix_rd *prd,
enum bgp_show_type type, void *output_arg,
- uint8_t use_json);
+ bool use_json);
#endif /* _QUAGGA_BGP_ROUTE_H */
diff --git a/bgpd/bgp_vpn.c b/bgpd/bgp_vpn.c
index a771eedf0f..2b4477ddde 100644
--- a/bgpd/bgp_vpn.c
+++ b/bgpd/bgp_vpn.c
@@ -32,7 +32,7 @@
int show_adj_route_vpn(struct vty *vty, struct peer *peer,
struct prefix_rd *prd, afi_t afi, safi_t safi,
- uint8_t use_json)
+ bool use_json)
{
struct bgp *bgp;
struct bgp_table *table;
diff --git a/bgpd/bgp_vpn.h b/bgpd/bgp_vpn.h
index 98b4d9f180..a2e86476a2 100644
--- a/bgpd/bgp_vpn.h
+++ b/bgpd/bgp_vpn.h
@@ -25,6 +25,6 @@
extern int show_adj_route_vpn(struct vty *vty, struct peer *peer,
struct prefix_rd *prd, afi_t afi, safi_t safi,
- uint8_t use_json);
+ bool use_json);
#endif /* _QUAGGA_BGP_VPN_H */
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 1460a26215..381cd0e09c 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -301,7 +301,7 @@ int argv_find_and_parse_safi(struct cmd_token **argv, int argc, int *index,
int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
struct cmd_token **argv, int argc,
int *idx, afi_t *afi, safi_t *safi,
- struct bgp **bgp)
+ struct bgp **bgp, bool use_json)
{
char *vrf_name = NULL;
@@ -321,9 +321,11 @@ int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
else {
*bgp = bgp_lookup_by_name(vrf_name);
if (!*bgp) {
- vty_out(vty,
- "View/Vrf specified is unknown: %s\n",
- vrf_name);
+ use_json
+ ? vty_out(vty, "{}\n")
+ : vty_out(vty,
+ "View/Vrf specified is unknown: %s\n",
+ vrf_name);
*idx = 0;
return 0;
}
@@ -331,7 +333,10 @@ int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
} else {
*bgp = bgp_get_default();
if (!*bgp) {
- vty_out(vty, "Unable to find default BGP instance\n");
+ use_json
+ ? vty_out(vty, "{}\n")
+ : vty_out(vty,
+ "Unable to find default BGP instance\n");
*idx = 0;
return 0;
}
@@ -7317,7 +7322,7 @@ DEFUN (show_bgp_vrfs,
struct list *inst = bm->bgp;
struct listnode *node;
struct bgp *bgp;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
json_object *json_vrfs = NULL;
int count = 0;
@@ -7638,7 +7643,7 @@ static void bgp_show_bestpath_json(struct bgp *bgp, json_object *json)
/* Show BGP peer's summary information. */
static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
- uint8_t use_json, json_object *json)
+ bool use_json, json_object *json)
{
struct peer *peer;
struct listnode *node, *nnode;
@@ -8055,14 +8060,14 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
}
static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
- int safi, uint8_t use_json,
+ int safi, bool use_json,
json_object *json)
{
int is_first = 1;
int afi_wildcard = (afi == AFI_MAX);
int safi_wildcard = (safi == SAFI_MAX);
int is_wildcard = (afi_wildcard || safi_wildcard);
- bool json_output = false;
+ bool nbr_output = false;
if (use_json && is_wildcard)
vty_out(vty, "{\n");
@@ -8073,7 +8078,7 @@ static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
safi = 1; /* SAFI_UNICAST */
while (safi < SAFI_MAX) {
if (bgp_afi_safi_peer_exists(bgp, afi, safi)) {
- json_output = true;
+ nbr_output = true;
if (is_wildcard) {
/*
* So limit output to those afi/safi
@@ -8112,22 +8117,25 @@ static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
if (use_json && is_wildcard)
vty_out(vty, "}\n");
- else if (use_json && !json_output)
- vty_out(vty, "{}\n");
+ else if (!nbr_output)
+ use_json ? vty_out(vty, "{}\n")
+ : vty_out(vty, "%% No BGP neighbors found\n");
}
static void bgp_show_all_instances_summary_vty(struct vty *vty, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct listnode *node, *nnode;
struct bgp *bgp;
json_object *json = NULL;
int is_first = 1;
+ bool nbr_output = false;
if (use_json)
vty_out(vty, "{\n");
for (ALL_LIST_ELEMENTS(bm->bgp, node, nnode, bgp)) {
+ nbr_output = true;
if (use_json) {
json = json_object_new_object();
@@ -8151,10 +8159,12 @@ static void bgp_show_all_instances_summary_vty(struct vty *vty, afi_t afi,
if (use_json)
vty_out(vty, "}\n");
+ else if (!nbr_output)
+ vty_out(vty, "%% BGP instance not found\n");
}
int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct bgp *bgp;
@@ -8167,11 +8177,10 @@ int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
bgp = bgp_lookup_by_name(name);
if (!bgp) {
- if (use_json)
- vty_out(vty, "{}\n");
- else
- vty_out(vty,
- "%% No such BGP instance exist\n");
+ use_json
+ ? vty_out(vty, "{}\n")
+ : vty_out(vty,
+ "%% BGP instance not found\n");
return CMD_WARNING;
}
@@ -8185,6 +8194,11 @@ int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
if (bgp)
bgp_show_summary_afi_safi(vty, bgp, afi, safi, use_json, NULL);
+ else {
+ use_json ? vty_out(vty, "{}\n")
+ : vty_out(vty, "%% No such BGP instance exist\n");
+ return CMD_WARNING;
+ }
return CMD_SUCCESS;
}
@@ -8220,7 +8234,7 @@ DEFUN (show_ip_bgp_summary,
argv_find_and_parse_safi(argv, argc, &idx, &safi);
}
- int uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
return bgp_show_summary_vty(vty, vrf, afi, safi, uj);
}
@@ -8302,7 +8316,7 @@ static void bgp_show_peer_afi_orf_cap(struct vty *vty, struct peer *p,
afi_t afi, safi_t safi,
uint16_t adv_smcap, uint16_t adv_rmcap,
uint16_t rcv_smcap, uint16_t rcv_rmcap,
- uint8_t use_json, json_object *json_pref)
+ bool use_json, json_object *json_pref)
{
/* Send-Mode */
if (CHECK_FLAG(p->af_cap[afi][safi], adv_smcap)
@@ -8362,7 +8376,7 @@ static void bgp_show_peer_afi_orf_cap(struct vty *vty, struct peer *p,
}
static void bgp_show_peer_afi(struct vty *vty, struct peer *p, afi_t afi,
- safi_t safi, uint8_t use_json,
+ safi_t safi, bool use_json,
json_object *json_neigh)
{
struct bgp_filter *filter;
@@ -8937,7 +8951,7 @@ static void bgp_show_peer_afi(struct vty *vty, struct peer *p, afi_t afi,
}
}
-static void bgp_show_peer(struct vty *vty, struct peer *p, uint8_t use_json,
+static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json,
json_object *json)
{
struct bgp *bgp;
@@ -10684,12 +10698,13 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, uint8_t use_json,
static int bgp_show_neighbor(struct vty *vty, struct bgp *bgp,
enum show_type type, union sockunion *su,
- const char *conf_if, uint8_t use_json,
+ const char *conf_if, bool use_json,
json_object *json)
{
struct listnode *node, *nnode;
struct peer *peer;
int find = 0;
+ bool nbr_output = false;
for (ALL_LIST_ELEMENTS(bgp->peer, node, nnode, peer)) {
if (!CHECK_FLAG(peer->flags, PEER_FLAG_CONFIG_NODE))
@@ -10698,6 +10713,7 @@ static int bgp_show_neighbor(struct vty *vty, struct bgp *bgp,
switch (type) {
case show_all:
bgp_show_peer(vty, peer, use_json, json);
+ nbr_output = true;
break;
case show_peer:
if (conf_if) {
@@ -10727,6 +10743,9 @@ static int bgp_show_neighbor(struct vty *vty, struct bgp *bgp,
vty_out(vty, "%% No such neighbor in this view/vrf\n");
}
+ if (type != show_peer && !nbr_output && !use_json)
+ vty_out(vty, "%% No BGP neighbors found \n");
+
if (use_json) {
vty_out(vty, "%s\n", json_object_to_json_string_ext(
json, JSON_C_TO_STRING_PRETTY));
@@ -10741,18 +10760,20 @@ static int bgp_show_neighbor(struct vty *vty, struct bgp *bgp,
static void bgp_show_all_instances_neighbors_vty(struct vty *vty,
enum show_type type,
const char *ip_str,
- uint8_t use_json)
+ bool use_json)
{
struct listnode *node, *nnode;
struct bgp *bgp;
union sockunion su;
json_object *json = NULL;
int ret, is_first = 1;
+ bool nbr_output = false;
if (use_json)
vty_out(vty, "{\n");
for (ALL_LIST_ELEMENTS(bm->bgp, node, nnode, bgp)) {
+ nbr_output = true;
if (use_json) {
if (!(json = json_object_new_object())) {
flog_err(
@@ -10805,11 +10826,13 @@ static void bgp_show_all_instances_neighbors_vty(struct vty *vty,
if (use_json)
vty_out(vty, "}\n");
+ else if (!nbr_output)
+ vty_out(vty, "%% BGP instance not found\n");
}
static int bgp_show_neighbor_vty(struct vty *vty, const char *name,
enum show_type type, const char *ip_str,
- uint8_t use_json)
+ bool use_json)
{
int ret;
struct bgp *bgp;
@@ -10826,8 +10849,6 @@ static int bgp_show_neighbor_vty(struct vty *vty, const char *name,
if (!bgp) {
if (use_json) {
json = json_object_new_object();
- json_object_boolean_true_add(
- json, "bgpNoSuchInstance");
vty_out(vty, "%s\n",
json_object_to_json_string_ext(
json,
@@ -10835,7 +10856,7 @@ static int bgp_show_neighbor_vty(struct vty *vty, const char *name,
json_object_free(json);
} else
vty_out(vty,
- "%% No such BGP instance exist\n");
+ "%% BGP instance not found\n");
return CMD_WARNING;
}
@@ -10859,6 +10880,9 @@ static int bgp_show_neighbor_vty(struct vty *vty, const char *name,
json);
}
json_object_free(json);
+ } else {
+ use_json ? vty_out(vty, "{}\n")
+ : vty_out(vty, "%% BGP instance not found\n");
}
return CMD_SUCCESS;
@@ -10884,7 +10908,7 @@ DEFUN (show_ip_bgp_neighbors,
char *sh_arg = NULL;
enum show_type sh_type;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 0;
@@ -10994,8 +11018,8 @@ DEFUN (show_ip_bgp_attr_info,
return CMD_SUCCESS;
}
-static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
- afi_t afi, safi_t safi, uint8_t use_json)
+static int bgp_show_route_leak_vty(struct vty *vty, const char *name, afi_t afi,
+ safi_t safi, bool use_json)
{
struct bgp *bgp;
struct listnode *node;
@@ -11011,16 +11035,9 @@ static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
json = json_object_new_object();
- /* Provide context for the block */
- json_object_string_add(json, "vrf", name ? name : "default");
- json_object_string_add(json, "afiSafi",
- afi_safi_print(afi, safi));
-
bgp = name ? bgp_lookup_by_name(name) : bgp_get_default();
if (!bgp) {
- json_object_boolean_true_add(json,
- "bgpNoSuchInstance");
vty_out(vty, "%s\n",
json_object_to_json_string_ext(
json,
@@ -11028,6 +11045,12 @@ static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
json_object_free(json);
return CMD_WARNING;
+ } else {
+ /* Provide context for the block */
+ json_object_string_add(json, "vrf",
+ name ? name : "default");
+ json_object_string_add(json, "afiSafi",
+ afi_safi_print(afi, safi));
}
if (!CHECK_FLAG(bgp->af_flags[afi][safi],
@@ -11168,7 +11191,7 @@ DEFUN (show_ip_bgp_route_leak,
afi_t afi = AFI_MAX;
safi_t safi = SAFI_MAX;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 0;
/* show [ip] bgp */
@@ -11486,7 +11509,7 @@ static int bgp_show_peer_group_vty(struct vty *vty, const char *name,
bgp = name ? bgp_lookup_by_name(name) : bgp_get_default();
if (!bgp) {
- vty_out(vty, "%% No such BGP instance exists\n");
+ vty_out(vty, "%% BGP instance not found\n");
return CMD_WARNING;
}
diff --git a/bgpd/bgp_vty.h b/bgpd/bgp_vty.h
index afb85f112b..d9df2b4cfe 100644
--- a/bgpd/bgp_vty.h
+++ b/bgpd/bgp_vty.h
@@ -69,9 +69,10 @@ extern int argv_find_and_parse_safi(struct cmd_token **argv, int argc,
extern int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
struct cmd_token **argv,
int argc, int *idx, afi_t *afi,
- safi_t *safi, struct bgp **bgp);
+ safi_t *safi, struct bgp **bgp,
+ bool use_json);
extern int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
- safi_t safi, uint8_t use_json);
+ safi_t safi, bool use_json);
extern void bgp_vpn_policy_config_write_afi(struct vty *vty, struct bgp *bgp,
afi_t afi);
#endif /* _QUAGGA_BGP_VTY_H */
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 7ff5053ce3..a722c54f72 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -6626,7 +6626,7 @@ int peer_clear_soft(struct peer *peer, afi_t afi, safi_t safi,
}
/* Display peer uptime.*/
-char *peer_uptime(time_t uptime2, char *buf, size_t len, uint8_t use_json,
+char *peer_uptime(time_t uptime2, char *buf, size_t len, bool use_json,
json_object *json)
{
time_t uptime1, epoch_tbuf;
diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
index 06eb86da95..06a7968c5b 100644
--- a/bgpd/bgpd.h
+++ b/bgpd/bgpd.h
@@ -1513,7 +1513,7 @@ extern struct peer *peer_create(union sockunion *, const char *, struct bgp *,
struct peer_group *);
extern struct peer *peer_create_accept(struct bgp *);
extern void peer_xfer_config(struct peer *dst, struct peer *src);
-extern char *peer_uptime(time_t, char *, size_t, uint8_t, json_object *);
+extern char *peer_uptime(time_t, char *, size_t, bool, json_object *);
extern int bgp_config_write(struct vty *);
diff --git a/lib/bfd.c b/lib/bfd.c
index 0eddb47514..1dfe583caf 100644
--- a/lib/bfd.c
+++ b/lib/bfd.c
@@ -342,7 +342,7 @@ static void bfd_last_update(time_t last_update, char *buf, size_t len)
* bfd_show_param - Show the BFD parameter information.
*/
void bfd_show_param(struct vty *vty, struct bfd_info *bfd_info, int bfd_tag,
- int extra_space, uint8_t use_json, json_object *json_obj)
+ int extra_space, bool use_json, json_object *json_obj)
{
json_object *json_bfd = NULL;
@@ -378,7 +378,7 @@ void bfd_show_param(struct vty *vty, struct bfd_info *bfd_info, int bfd_tag,
* bfd_show_status - Show the BFD status information.
*/
static void bfd_show_status(struct vty *vty, struct bfd_info *bfd_info,
- int bfd_tag, int extra_space, uint8_t use_json,
+ int bfd_tag, int extra_space, bool use_json,
json_object *json_bfd)
{
char time_buf[32];
@@ -402,7 +402,7 @@ static void bfd_show_status(struct vty *vty, struct bfd_info *bfd_info,
* bfd_show_info - Show the BFD information.
*/
void bfd_show_info(struct vty *vty, struct bfd_info *bfd_info, int multihop,
- int extra_space, uint8_t use_json, json_object *json_obj)
+ int extra_space, bool use_json, json_object *json_obj)
{
json_object *json_bfd = NULL;
diff --git a/lib/bfd.h b/lib/bfd.h
index f824b0fd9b..b1e490a622 100644
--- a/lib/bfd.h
+++ b/lib/bfd.h
@@ -91,11 +91,11 @@ extern struct interface *bfd_get_peer_info(struct stream *s, struct prefix *dp,
const char *bfd_get_status_str(int status);
extern void bfd_show_param(struct vty *vty, struct bfd_info *bfd_info,
- int bfd_tag, int extra_space, uint8_t use_json,
+ int bfd_tag, int extra_space, bool use_json,
json_object *json_obj);
extern void bfd_show_info(struct vty *vty, struct bfd_info *bfd_info,
- int multihop, int extra_space, uint8_t use_json,
+ int multihop, int extra_space, bool use_json,
json_object *json_obj);
extern void bfd_client_sendmsg(struct zclient *zclient, int command);
diff --git a/lib/json.c b/lib/json.c
index 40b6aadaa3..4ea20ba178 100644
--- a/lib/json.c
+++ b/lib/json.c
@@ -28,15 +28,15 @@
* is the *last* keyword on the line no matter
* what.
*/
-int use_json(const int argc, struct cmd_token *argv[])
+bool use_json(const int argc, struct cmd_token *argv[])
{
if (argc == 0)
- return 0;
+ return false;
if (argv[argc - 1]->arg && strmatch(argv[argc - 1]->text, "json"))
- return 1;
+ return true;
- return 0;
+ return false;
}
void json_object_string_add(struct json_object *obj, const char *key,
diff --git a/lib/json.h b/lib/json.h
index 788d1d6efa..d349162304 100644
--- a/lib/json.h
+++ b/lib/json.h
@@ -52,7 +52,7 @@ extern int json_object_object_get_ex(struct json_object *obj, const char *key,
#include "command.h"
-extern int use_json(const int argc, struct cmd_token *argv[]);
+extern bool use_json(const int argc, struct cmd_token *argv[]);
extern void json_object_string_add(struct json_object *obj, const char *key,
const char *s);
extern void json_object_int_add(struct json_object *obj, const char *key,
diff --git a/lib/plist.c b/lib/plist.c
index 2b666f256f..3b25c06776 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -1900,7 +1900,7 @@ void prefix_bgp_orf_remove_all(afi_t afi, char *name)
/* return prefix count */
int prefix_bgp_show_prefix_list(struct vty *vty, afi_t afi, char *name,
- uint8_t use_json)
+ bool use_json)
{
struct prefix_list *plist;
struct prefix_list_entry *pentry;
diff --git a/lib/plist.h b/lib/plist.h
index fecbe0e2ce..7933b8a921 100644
--- a/lib/plist.h
+++ b/lib/plist.h
@@ -72,6 +72,6 @@ extern struct stream *prefix_bgp_orf_entry(struct stream *,
uint8_t, uint8_t);
extern int prefix_bgp_orf_set(char *, afi_t, struct orf_prefix *, int, int);
extern void prefix_bgp_orf_remove_all(afi_t, char *);
-extern int prefix_bgp_show_prefix_list(struct vty *, afi_t, char *, uint8_t);
+extern int prefix_bgp_show_prefix_list(struct vty *, afi_t, char *, bool);
#endif /* _QUAGGA_PLIST_H */
diff --git a/ospfd/ospf_bfd.c b/ospfd/ospf_bfd.c
index df41897660..594735a08f 100644
--- a/ospfd/ospf_bfd.c
+++ b/ospfd/ospf_bfd.c
@@ -312,7 +312,7 @@ void ospf_bfd_write_config(struct vty *vty, struct ospf_if_params *params)
* ospf_bfd_show_info - Show BFD info structure
*/
void ospf_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
- uint8_t use_json, int param_only)
+ bool use_json, int param_only)
{
if (param_only)
bfd_show_param(vty, (struct bfd_info *)bfd_info, 1, 0, use_json,
@@ -326,7 +326,7 @@ void ospf_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
* ospf_bfd_interface_show - Show the interface BFD configuration.
*/
void ospf_bfd_interface_show(struct vty *vty, struct interface *ifp,
- json_object *json_interface_sub, uint8_t use_json)
+ json_object *json_interface_sub, bool use_json)
{
struct ospf_if_params *params;
diff --git a/ospfd/ospf_bfd.h b/ospfd/ospf_bfd.h
index 6d7caf4217..74385d3268 100644
--- a/ospfd/ospf_bfd.h
+++ b/ospfd/ospf_bfd.h
@@ -35,13 +35,13 @@ extern void ospf_bfd_trigger_event(struct ospf_neighbor *nbr, int old_state,
extern void ospf_bfd_interface_show(struct vty *vty, struct interface *ifp,
json_object *json_interface_sub,
- uint8_t use_json);
+ bool use_json);
extern void ospf_bfd_info_nbr_create(struct ospf_interface *oi,
struct ospf_neighbor *nbr);
extern void ospf_bfd_show_info(struct vty *vty, void *bfd_info,
- json_object *json_obj, uint8_t use_json,
+ json_object *json_obj, bool use_json,
int param_only);
extern void ospf_bfd_info_free(void **bfd_info);
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
index fb9770d09a..8785e6f4aa 100644
--- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c
@@ -2621,7 +2621,7 @@ const char *ospf_abr_type_descr_str[] = {"Unknown", "Standard (RFC2328)",
const char *ospf_shortcut_mode_descr_str[] = {"Default", "Enabled", "Disabled"};
static void show_ip_ospf_area(struct vty *vty, struct ospf_area *area,
- json_object *json_areas, uint8_t use_json)
+ json_object *json_areas, bool use_json)
{
json_object *json_area = NULL;
@@ -3241,7 +3241,7 @@ DEFUN (show_ip_ospf,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
char *vrf_name = NULL;
bool all_vrf = FALSE;
@@ -3261,11 +3261,13 @@ DEFUN (show_ip_ospf,
/* vrf input is provided could be all or specific vrf*/
if (vrf_name) {
+ bool ospf_output = FALSE;
use_vrf = 1;
if (all_vrf) {
for (ALL_LIST_ELEMENTS_RO(om->ospf, node, ospf)) {
if (!ospf->oi_running)
continue;
+ ospf_output = TRUE;
ret = show_ip_ospf_common(vty, ospf, json,
use_vrf);
}
@@ -3274,21 +3276,34 @@ DEFUN (show_ip_ospf,
json_object_to_json_string_ext(
json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
- }
+ } else if (!ospf_output)
+ vty_out(vty, "%% OSPF instance not found\n");
return ret;
}
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
if ((ospf == NULL) || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found \n");
+
return CMD_SUCCESS;
}
} else {
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
/* Display default ospf (instance 0) info */
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found \n");
+
return CMD_SUCCESS;
}
}
@@ -3319,7 +3334,7 @@ DEFUN (show_ip_ospf_instance,
int idx_number = 3;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int ret = CMD_SUCCESS;
json_object *json = NULL;
@@ -3348,7 +3363,7 @@ DEFUN (show_ip_ospf_instance,
static void show_ip_ospf_interface_sub(struct vty *vty, struct ospf *ospf,
struct interface *ifp,
json_object *json_interface_sub,
- uint8_t use_json)
+ bool use_json)
{
int is_up;
struct ospf_neighbor *nbr;
@@ -3665,7 +3680,7 @@ static void show_ip_ospf_interface_sub(struct vty *vty, struct ospf *ospf,
static int show_ip_ospf_interface_common(struct vty *vty, struct ospf *ospf,
char *intf_name, uint8_t use_vrf,
- json_object *json, uint8_t use_json)
+ json_object *json, bool use_json)
{
struct interface *ifp;
struct vrf *vrf = vrf_lookup_by_id(ospf->vrf_id);
@@ -3758,7 +3773,7 @@ static int show_ip_ospf_interface_common(struct vty *vty, struct ospf *ospf,
static void show_ip_ospf_interface_traffic_sub(struct vty *vty,
struct ospf_interface *oi,
json_object *json_interface_sub,
- uint8_t use_json)
+ bool use_json)
{
if (use_json) {
json_object_int_add(json_interface_sub, "ifIndex",
@@ -3796,7 +3811,7 @@ static void show_ip_ospf_interface_traffic_sub(struct vty *vty,
/* OSPFv2 Packet Counters */
static int show_ip_ospf_interface_traffic_common(
struct vty *vty, struct ospf *ospf, char *intf_name, json_object *json,
- int display_once, uint8_t use_vrf, uint8_t use_json)
+ int display_once, uint8_t use_vrf, bool use_json)
{
struct vrf *vrf = NULL;
struct interface *ifp = NULL;
@@ -3914,7 +3929,7 @@ DEFUN (show_ip_ospf_interface,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
char *vrf_name = NULL, *intf_name = NULL;
bool all_vrf = FALSE;
@@ -3949,14 +3964,21 @@ DEFUN (show_ip_ospf_interface,
json_object_to_json_string_ext(
json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
- }
+ } else if (!ospf)
+ vty_out(vty, "%% OSPF instance not found \n");
return ret;
}
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found \n");
+
return CMD_SUCCESS;
}
ret = show_ip_ospf_interface_common(vty, ospf, intf_name,
@@ -3966,8 +3988,14 @@ DEFUN (show_ip_ospf_interface,
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found \n");
+
return CMD_SUCCESS;
}
ret = show_ip_ospf_interface_common(vty, ospf, intf_name,
@@ -3998,7 +4026,7 @@ DEFUN (show_ip_ospf_instance_interface,
int idx_intf = 0;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
char *intf_name = NULL;
int ret = CMD_SUCCESS;
json_object *json = NULL;
@@ -4047,7 +4075,7 @@ DEFUN (show_ip_ospf_interface_traffic,
bool all_vrf = FALSE;
int inst = 0;
int idx_vrf = 0, idx_intf = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
int ret = CMD_SUCCESS;
int display_once = 0;
@@ -4123,7 +4151,7 @@ static void show_ip_ospf_neighbour_header(struct vty *vty)
static void show_ip_ospf_neighbor_sub(struct vty *vty,
struct ospf_interface *oi,
- json_object *json, uint8_t use_json)
+ json_object *json, bool use_json)
{
struct route_node *rn;
struct ospf_neighbor *nbr, *prev_nbr = NULL;
@@ -4234,7 +4262,7 @@ static void show_ip_ospf_neighbor_sub(struct vty *vty,
}
static int show_ip_ospf_neighbor_common(struct vty *vty, struct ospf *ospf,
- json_object *json, uint8_t use_json,
+ json_object *json, bool use_json,
uint8_t use_vrf)
{
struct ospf_interface *oi;
@@ -4296,7 +4324,7 @@ DEFUN (show_ip_ospf_neighbor,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
char *vrf_name = NULL;
bool all_vrf = FALSE;
@@ -4327,23 +4355,36 @@ DEFUN (show_ip_ospf_neighbor,
json_object_to_json_string_ext(
json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
- }
+ } else if (!ospf)
+ vty_out(vty, "OSPF instance not found\n");
return ret;
}
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found\n");
+
return CMD_SUCCESS;
}
} else {
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found\n");
+
return CMD_SUCCESS;
}
}
@@ -4379,7 +4420,7 @@ DEFUN (show_ip_ospf_instance_neighbor,
int idx_number = 3;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
int ret = CMD_SUCCESS;
@@ -4406,7 +4447,7 @@ DEFUN (show_ip_ospf_instance_neighbor,
}
static int show_ip_ospf_neighbor_all_common(struct vty *vty, struct ospf *ospf,
- json_object *json, uint8_t use_json,
+ json_object *json, bool use_json,
uint8_t use_vrf)
{
struct listnode *node;
@@ -4509,7 +4550,7 @@ DEFUN (show_ip_ospf_neighbor_all,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
char *vrf_name = NULL;
bool all_vrf = FALSE;
@@ -4591,7 +4632,7 @@ DEFUN (show_ip_ospf_instance_neighbor_all,
int idx_number = 3;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
int ret = CMD_SUCCESS;
@@ -4619,7 +4660,7 @@ DEFUN (show_ip_ospf_instance_neighbor_all,
static int show_ip_ospf_neighbor_int_common(struct vty *vty, struct ospf *ospf,
int arg_base,
struct cmd_token **argv,
- uint8_t use_json, uint8_t use_vrf)
+ bool use_json, uint8_t use_vrf)
{
struct interface *ifp;
struct route_node *rn;
@@ -4678,7 +4719,7 @@ DEFUN (show_ip_ospf_neighbor_int,
{
struct ospf *ospf;
int idx_ifname = 4;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
int ret = CMD_SUCCESS;
struct interface *ifp = NULL;
@@ -4714,7 +4755,7 @@ DEFUN (show_ip_ospf_instance_neighbor_int,
int idx_ifname = 5;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!uj)
show_ip_ospf_neighbour_header(vty);
@@ -4737,8 +4778,7 @@ DEFUN (show_ip_ospf_instance_neighbor_int,
static void show_ip_ospf_nbr_nbma_detail_sub(struct vty *vty,
struct ospf_interface *oi,
struct ospf_nbr_nbma *nbr_nbma,
- uint8_t use_json,
- json_object *json)
+ bool use_json, json_object *json)
{
char timebuf[OSPF_TIME_DUMP_SIZE];
json_object *json_sub = NULL;
@@ -4818,8 +4858,7 @@ static void show_ip_ospf_nbr_nbma_detail_sub(struct vty *vty,
static void show_ip_ospf_neighbor_detail_sub(struct vty *vty,
struct ospf_interface *oi,
struct ospf_neighbor *nbr,
- json_object *json,
- uint8_t use_json)
+ json_object *json, bool use_json)
{
char timebuf[OSPF_TIME_DUMP_SIZE];
json_object *json_sub = NULL;
@@ -5035,7 +5074,7 @@ static void show_ip_ospf_neighbor_detail_sub(struct vty *vty,
static int show_ip_ospf_neighbor_id_common(struct vty *vty, struct ospf *ospf,
int arg_base,
struct cmd_token **argv,
- uint8_t use_json, uint8_t use_vrf)
+ bool use_json, uint8_t use_vrf)
{
struct listnode *node;
struct ospf_neighbor *nbr;
@@ -5096,7 +5135,7 @@ DEFUN (show_ip_ospf_neighbor_id,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
int ret = CMD_SUCCESS;
@@ -5125,7 +5164,7 @@ DEFUN (show_ip_ospf_instance_neighbor_id,
int idx_router_id = 5;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
instance = strtoul(argv[idx_number]->arg, NULL, 10);
ospf = ospf_lookup_instance(instance);
@@ -5141,8 +5180,7 @@ DEFUN (show_ip_ospf_instance_neighbor_id,
static int show_ip_ospf_neighbor_detail_common(struct vty *vty,
struct ospf *ospf,
- json_object *json,
- uint8_t use_json,
+ json_object *json, bool use_json,
uint8_t use_vrf)
{
struct ospf_interface *oi;
@@ -5210,7 +5248,7 @@ DEFUN (show_ip_ospf_neighbor_detail,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
char *vrf_name = NULL;
bool all_vrf = FALSE;
@@ -5290,7 +5328,7 @@ DEFUN (show_ip_ospf_instance_neighbor_detail,
int idx_number = 3;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
int ret = CMD_SUCCESS;
@@ -5319,7 +5357,7 @@ DEFUN (show_ip_ospf_instance_neighbor_detail,
static int show_ip_ospf_neighbor_detail_all_common(struct vty *vty,
struct ospf *ospf,
json_object *json,
- uint8_t use_json,
+ bool use_json,
uint8_t use_vrf)
{
struct listnode *node;
@@ -5399,7 +5437,7 @@ DEFUN (show_ip_ospf_neighbor_detail_all,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
char *vrf_name = NULL;
bool all_vrf = FALSE;
@@ -5481,7 +5519,7 @@ DEFUN (show_ip_ospf_instance_neighbor_detail_all,
int idx_number = 3;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
int ret = CMD_SUCCESS;
@@ -5511,7 +5549,7 @@ static int show_ip_ospf_neighbor_int_detail_common(struct vty *vty,
struct ospf *ospf,
int arg_base,
struct cmd_token **argv,
- uint8_t use_json)
+ bool use_json)
{
struct ospf_interface *oi;
struct interface *ifp;
@@ -5579,17 +5617,22 @@ DEFUN (show_ip_ospf_neighbor_int_detail,
JSON_STR)
{
struct ospf *ospf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct listnode *node = NULL;
int ret = CMD_SUCCESS;
+ bool ospf_output = FALSE;
for (ALL_LIST_ELEMENTS_RO(om->ospf, node, ospf)) {
if (!ospf->oi_running)
continue;
+ ospf_output = TRUE;
ret = show_ip_ospf_neighbor_int_detail_common(vty, ospf, 0,
argv, uj);
}
+ if (!ospf_output)
+ vty_out(vty, "%% OSPF instance not found\n");
+
return ret;
}
@@ -5609,7 +5652,7 @@ DEFUN (show_ip_ospf_instance_neighbor_int_detail,
int idx_ifname = 5;
struct ospf *ospf;
unsigned short instance = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
instance = strtoul(argv[idx_number]->arg, NULL, 10);
ospf = ospf_lookup_instance(instance);
@@ -6294,19 +6337,26 @@ DEFUN (show_ip_ospf_database_max,
OSPF_FIND_VRF_ARGS(argv, argc, idx_vrf, vrf_name, all_vrf);
if (vrf_name) {
+ bool ospf_output = FALSE;
use_vrf = 1;
if (all_vrf) {
for (ALL_LIST_ELEMENTS_RO(om->ospf, node, ospf)) {
if (!ospf->oi_running)
continue;
+ ospf_output = TRUE;
ret = show_ip_ospf_database_common(
vty, ospf, idx_vrf ? 2 : 0, argc, argv,
use_vrf);
}
+
+ if (!ospf_output)
+ vty_out(vty, "%% OSPF instance not found\n");
} else {
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
- if (ospf == NULL || !ospf->oi_running)
+ if (ospf == NULL || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
ret = (show_ip_ospf_database_common(
vty, ospf, idx_vrf ? 2 : 0, argc, argv,
use_vrf));
@@ -6314,8 +6364,11 @@ DEFUN (show_ip_ospf_database_max,
} else {
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
- if (ospf == NULL || !ospf->oi_running)
+ if (ospf == NULL || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
ret = show_ip_ospf_database_common(vty, ospf, 0, argc, argv,
use_vrf);
}
@@ -6375,16 +6428,22 @@ DEFUN (show_ip_ospf_instance_database,
}
} else {
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
- if ((ospf == NULL) || !ospf->oi_running)
+ if ((ospf == NULL) || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
ret = (show_ip_ospf_database_common(
vty, ospf, idx ? 2 : 0, argc, argv, use_vrf));
}
} else {
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
- if (ospf == NULL || !ospf->oi_running)
+ if (ospf == NULL || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
ret = (show_ip_ospf_database_common(vty, ospf, 0, argc, argv,
use_vrf));
}
@@ -6413,8 +6472,10 @@ DEFUN (show_ip_ospf_instance_database_max,
if (ospf == NULL)
return CMD_NOT_MY_INSTANCE;
- if (!ospf->oi_running)
+ if (!ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
return show_ip_ospf_database_common(vty, ospf, 1, argc, argv, 0);
}
@@ -6503,8 +6564,11 @@ DEFUN (show_ip_ospf_instance_database_type_adv_router,
ospf = ospf_lookup_instance(instance);
if (ospf == NULL)
return CMD_NOT_MY_INSTANCE;
- if (!ospf->oi_running)
+ if (!ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
return (show_ip_ospf_database_type_adv_router_common(
vty, ospf, idx ? 1 : 0, argc, argv, use_vrf));
}
@@ -6512,27 +6576,37 @@ DEFUN (show_ip_ospf_instance_database_type_adv_router,
OSPF_FIND_VRF_ARGS(argv, argc, idx_vrf, vrf_name, all_vrf);
if (vrf_name) {
+ bool ospf_output = FALSE;
use_vrf = 1;
if (all_vrf) {
for (ALL_LIST_ELEMENTS_RO(om->ospf, node, ospf)) {
if (!ospf->oi_running)
continue;
+ ospf_output = TRUE;
ret = show_ip_ospf_database_type_adv_router_common(
vty, ospf, idx ? 1 : 0, argc, argv,
use_vrf);
}
+ if (!ospf_output)
+ vty_out(vty, "%% OSPF instance not found\n");
} else {
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
- if ((ospf == NULL) || !ospf->oi_running)
+ if ((ospf == NULL) || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
ret = show_ip_ospf_database_type_adv_router_common(
vty, ospf, idx ? 1 : 0, argc, argv, use_vrf);
}
} else {
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
- if (ospf == NULL || !ospf->oi_running)
+ if (ospf == NULL || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
ret = show_ip_ospf_database_type_adv_router_common(
vty, ospf, idx ? 1 : 0, argc, argv, use_vrf);
}
@@ -9269,19 +9343,26 @@ DEFUN (show_ip_ospf_border_routers,
OSPF_FIND_VRF_ARGS(argv, argc, idx_vrf, vrf_name, all_vrf);
if (vrf_name) {
+ bool ospf_output = FALSE;
use_vrf = 1;
if (all_vrf) {
for (ALL_LIST_ELEMENTS_RO(om->ospf, node, ospf)) {
if (!ospf->oi_running)
continue;
+ ospf_output = TRUE;
ret = show_ip_ospf_border_routers_common(
vty, ospf, use_vrf);
}
+
+ if (!ospf_output)
+ vty_out(vty, "%% OSPF instance not found \n");
} else {
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
- if (ospf == NULL || !ospf->oi_running)
+ if (ospf == NULL || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
ret = show_ip_ospf_border_routers_common(vty, ospf,
use_vrf);
@@ -9289,8 +9370,11 @@ DEFUN (show_ip_ospf_border_routers,
} else {
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
- if (ospf == NULL || !ospf->oi_running)
+ if (ospf == NULL || !ospf->oi_running) {
+ vty_out(vty, "%% OSPF instance not found \n");
return CMD_SUCCESS;
+ }
+
ret = show_ip_ospf_border_routers_common(vty, ospf, use_vrf);
}
@@ -9391,7 +9475,7 @@ DEFUN (show_ip_ospf_route,
int inst = 0;
int idx_vrf = 0;
uint8_t use_vrf = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
if (uj)
@@ -9401,11 +9485,13 @@ DEFUN (show_ip_ospf_route,
/* vrf input is provided could be all or specific vrf*/
if (vrf_name) {
+ bool ospf_output = FALSE;
use_vrf = 1;
if (all_vrf) {
for (ALL_LIST_ELEMENTS_RO(om->ospf, node, ospf)) {
if (!ospf->oi_running)
continue;
+ ospf_output = TRUE;
ret = show_ip_ospf_route_common(vty, ospf, json,
use_vrf);
}
@@ -9415,22 +9501,35 @@ DEFUN (show_ip_ospf_route,
vty_out(vty, "%s\n",
json_object_to_json_string(json));
json_object_free(json);
- }
+ } else if (!ospf_output)
+ vty_out(vty, "%% OSPF instance not found\n");
return ret;
}
ospf = ospf_lookup_by_inst_name(inst, vrf_name);
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found \n");
+
return CMD_SUCCESS;
}
} else {
/* Display default ospf (instance 0) info */
ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT);
if (ospf == NULL || !ospf->oi_running) {
- if (uj)
+ if (uj) {
+ vty_out(vty, "%s\n",
+ json_object_to_json_string_ext(
+ json, JSON_C_TO_STRING_PRETTY));
json_object_free(json);
+ } else
+ vty_out(vty, "%% OSPF instance not found \n");
+
return CMD_SUCCESS;
}
}
@@ -9482,7 +9581,7 @@ DEFUN (show_ip_ospf_vrfs,
"Show OSPF VRFs \n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
json_object *json_vrfs = NULL;
struct ospf *ospf = NULL;
diff --git a/pimd/pim_bfd.c b/pimd/pim_bfd.c
index f7a217b514..466cc60643 100644
--- a/pimd/pim_bfd.c
+++ b/pimd/pim_bfd.c
@@ -64,7 +64,7 @@ void pim_bfd_write_config(struct vty *vty, struct interface *ifp)
* pim_bfd_show_info - Show BFD info structure
*/
void pim_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
- uint8_t use_json, int param_only)
+ bool use_json, int param_only)
{
if (param_only)
bfd_show_param(vty, (struct bfd_info *)bfd_info, 1, 0, use_json,
diff --git a/pimd/pim_bfd.h b/pimd/pim_bfd.h
index 83def93b66..962b727f88 100644
--- a/pimd/pim_bfd.h
+++ b/pimd/pim_bfd.h
@@ -28,7 +28,7 @@
void pim_bfd_init(void);
void pim_bfd_write_config(struct vty *vty, struct interface *ifp);
void pim_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
- uint8_t use_json, int param_only);
+ bool use_json, int param_only);
void pim_bfd_if_param_set(struct interface *ifp, uint32_t min_rx,
uint32_t min_tx, uint8_t detect_mult, int defaults);
int pim_bfd_reg_dereg_all_nbr(struct interface *ifp, int command);
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 611d8d3681..918eaf2fdb 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -3373,7 +3373,7 @@ DEFUN (show_ip_igmp_interface,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3400,7 +3400,7 @@ DEFUN (show_ip_igmp_interface_vrf_all,
JSON_STR)
{
int idx = 2;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -3456,7 +3456,7 @@ DEFUN (show_ip_igmp_join_vrf_all,
VRF_CMD_HELP_STR
"IGMP static join information\n")
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -3490,7 +3490,7 @@ DEFUN (show_ip_igmp_groups,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3510,7 +3510,7 @@ DEFUN (show_ip_igmp_groups_vrf_all,
IGMP_GROUP_STR
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -3608,7 +3608,7 @@ DEFUN (show_ip_igmp_statistics,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3715,7 +3715,7 @@ DEFUN (show_ip_pim_interface,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3742,7 +3742,7 @@ DEFUN (show_ip_pim_interface_vrf_all,
JSON_STR)
{
int idx = 6;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -3781,7 +3781,7 @@ DEFUN (show_ip_pim_join,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3801,7 +3801,7 @@ DEFUN (show_ip_pim_join_vrf_all,
"PIM interface join information\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -3835,7 +3835,7 @@ DEFUN (show_ip_pim_local_membership,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3859,7 +3859,7 @@ DEFUN (show_ip_pim_neighbor,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3886,7 +3886,7 @@ DEFUN (show_ip_pim_neighbor_vrf_all,
JSON_STR)
{
int idx = 2;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -3949,7 +3949,7 @@ DEFUN (show_ip_pim_state,
const char *group = NULL;
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -3983,7 +3983,7 @@ DEFUN (show_ip_pim_state_vrf_all,
const char *src_or_group = NULL;
const char *group = NULL;
int idx = 2;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -4026,7 +4026,7 @@ DEFUN (show_ip_pim_upstream,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -4046,7 +4046,7 @@ DEFUN (show_ip_pim_upstream_vrf_all,
"PIM upstream information\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -4078,7 +4078,7 @@ DEFUN (show_ip_pim_upstream_join_desired,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -4100,7 +4100,7 @@ DEFUN (show_ip_pim_upstream_rpf,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -4122,7 +4122,7 @@ DEFUN (show_ip_pim_rp,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -4142,7 +4142,7 @@ DEFUN (show_ip_pim_rp_vrf_all,
"PIM RP information\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -4176,7 +4176,7 @@ DEFUN (show_ip_pim_rpf,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -4196,7 +4196,7 @@ DEFUN (show_ip_pim_rpf_vrf_all,
"PIM cached source rpf information\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -4349,7 +4349,7 @@ DEFUN (show_ip_pim_interface_traffic,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -4473,7 +4473,7 @@ DEFUN (show_ip_multicast_vrf_all,
VRF_CMD_HELP_STR
"Multicast global information\n")
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -4830,7 +4830,7 @@ DEFUN (show_ip_mroute,
"Fill in Assumed data\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
bool fill = false;
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
@@ -4855,7 +4855,7 @@ DEFUN (show_ip_mroute_vrf_all,
"Fill in Assumed data\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 4;
struct vrf *vrf;
bool first = true;
@@ -4963,7 +4963,7 @@ DEFUN (show_ip_mroute_count_vrf_all,
VRF_CMD_HELP_STR
"Route and packet count data\n")
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -5578,7 +5578,7 @@ DEFUN (show_ip_pim_ssm_range,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -5631,7 +5631,7 @@ DEFUN (show_ip_pim_group_type,
{
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!vrf)
return CMD_WARNING;
@@ -7985,7 +7985,7 @@ DEFUN (show_ip_msdp_mesh_group,
"MSDP mesh-group information\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
@@ -8007,7 +8007,7 @@ DEFUN (show_ip_msdp_mesh_group_vrf_all,
"MSDP mesh-group information\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -8200,7 +8200,7 @@ DEFUN (show_ip_msdp_peer_detail,
"peer ip address\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
@@ -8235,7 +8235,7 @@ DEFUN (show_ip_msdp_peer_detail_vrf_all,
JSON_STR)
{
int idx = 2;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -8441,7 +8441,7 @@ DEFUN (show_ip_msdp_sa_detail,
"Detailed output\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 2;
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
@@ -8464,7 +8464,7 @@ DEFUN (show_ip_msdp_sa_detail_vrf_all,
"Detailed output\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -8556,7 +8556,7 @@ DEFUN (show_ip_msdp_sa_sg,
"group ip\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
int idx = 2;
@@ -8593,7 +8593,7 @@ DEFUN (show_ip_msdp_sa_sg_vrf_all,
"group ip\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
int idx = 2;
diff --git a/zebra/zebra_mpls.c b/zebra/zebra_mpls.c
index f7283aed36..8f48cc5191 100644
--- a/zebra/zebra_mpls.c
+++ b/zebra/zebra_mpls.c
@@ -2698,7 +2698,7 @@ void zebra_mpls_lsp_schedule(struct zebra_vrf *zvrf)
* (VTY command handler).
*/
void zebra_mpls_print_lsp(struct vty *vty, struct zebra_vrf *zvrf,
- mpls_label_t label, uint8_t use_json)
+ mpls_label_t label, bool use_json)
{
struct hash *lsp_table;
zebra_lsp_t *lsp;
@@ -2729,7 +2729,7 @@ void zebra_mpls_print_lsp(struct vty *vty, struct zebra_vrf *zvrf,
* Display MPLS label forwarding table (VTY command handler).
*/
void zebra_mpls_print_lsp_table(struct vty *vty, struct zebra_vrf *zvrf,
- uint8_t use_json)
+ bool use_json)
{
char buf[BUFSIZ];
json_object *json = NULL;
diff --git a/zebra/zebra_mpls.h b/zebra/zebra_mpls.h
index 65204a67dc..86bee129cf 100644
--- a/zebra/zebra_mpls.h
+++ b/zebra/zebra_mpls.h
@@ -349,13 +349,13 @@ void zebra_mpls_lsp_schedule(struct zebra_vrf *zvrf);
* (VTY command handler).
*/
void zebra_mpls_print_lsp(struct vty *vty, struct zebra_vrf *zvrf,
- mpls_label_t label, uint8_t use_json);
+ mpls_label_t label, bool use_json);
/*
* Display MPLS label forwarding table (VTY command handler).
*/
void zebra_mpls_print_lsp_table(struct vty *vty, struct zebra_vrf *zvrf,
- uint8_t use_json);
+ bool use_json);
/*
* Display MPLS LSP configuration of all static LSPs (VTY command handler).
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 4f1d5cf6d5..de08e323af 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -55,7 +55,7 @@
extern int allow_delete;
static int do_show_ip_route(struct vty *vty, const char *vrf_name, afi_t afi,
- safi_t safi, bool use_fib, uint8_t use_json,
+ safi_t safi, bool use_fib, bool use_json,
route_tag_t tag,
const struct prefix *longer_prefix_p,
bool supernets_only, int type,
@@ -135,7 +135,7 @@ DEFUN (show_ip_rpf,
"Display RPF information for multicast source\n"
JSON_STR)
{
- int uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
return do_show_ip_route(vty, VRF_DEFAULT_NAME, AFI_IP, SAFI_MULTICAST,
false, uj, 0, NULL, false, 0, 0);
}
@@ -760,8 +760,7 @@ static void do_show_route_helper(struct vty *vty, struct zebra_vrf *zvrf,
bool use_fib, route_tag_t tag,
const struct prefix *longer_prefix_p,
bool supernets_only, int type,
- unsigned short ospf_instance_id,
- uint8_t use_json)
+ unsigned short ospf_instance_id, bool use_json)
{
struct route_node *rn;
struct route_entry *re;
@@ -850,7 +849,7 @@ static void do_show_route_helper(struct vty *vty, struct zebra_vrf *zvrf,
}
static int do_show_ip_route(struct vty *vty, const char *vrf_name, afi_t afi,
- safi_t safi, bool use_fib, uint8_t use_json,
+ safi_t safi, bool use_fib, bool use_json,
route_tag_t tag,
const struct prefix *longer_prefix_p,
bool supernets_only, int type,
@@ -1723,7 +1722,7 @@ DEFUN (show_vrf_vni,
struct zebra_vrf *zvrf;
json_object *json = NULL;
json_object *json_vrfs = NULL;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (uj) {
json = json_object_new_object();
@@ -1759,7 +1758,7 @@ DEFUN (show_evpn_global,
"EVPN\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
zebra_vxlan_print_evpn(vty, uj);
return CMD_SUCCESS;
@@ -1774,7 +1773,7 @@ DEFUN (show_evpn_vni,
JSON_STR)
{
struct zebra_vrf *zvrf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
zvrf = vrf_info_lookup(VRF_DEFAULT);
zebra_vxlan_print_vnis(vty, zvrf, uj);
@@ -1792,7 +1791,7 @@ DEFUN (show_evpn_vni_vni,
{
struct zebra_vrf *zvrf;
vni_t vni;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
vni = strtoul(argv[3]->arg, NULL, 10);
zvrf = vrf_info_lookup(VRF_DEFAULT);
@@ -1814,7 +1813,7 @@ DEFUN (show_evpn_rmac_vni_mac,
{
vni_t l3vni = 0;
struct ethaddr mac;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
l3vni = strtoul(argv[4]->arg, NULL, 10);
if (!prefix_str2mac(argv[6]->arg, &mac)) {
@@ -1836,7 +1835,7 @@ DEFUN (show_evpn_rmac_vni,
JSON_STR)
{
vni_t l3vni = 0;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
l3vni = strtoul(argv[4]->arg, NULL, 10);
zebra_vxlan_print_rmacs_l3vni(vty, l3vni, uj);
@@ -1854,7 +1853,7 @@ DEFUN (show_evpn_rmac_vni_all,
"All VNIs\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
zebra_vxlan_print_rmacs_all_l3vni(vty, uj);
@@ -1875,7 +1874,7 @@ DEFUN (show_evpn_nh_vni_ip,
{
vni_t l3vni;
struct ipaddr ip;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
l3vni = strtoul(argv[4]->arg, NULL, 10);
if (str2ipaddr(argv[6]->arg, &ip) != 0) {
@@ -1899,7 +1898,7 @@ DEFUN (show_evpn_nh_vni,
JSON_STR)
{
vni_t l3vni;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
l3vni = strtoul(argv[4]->arg, NULL, 10);
zebra_vxlan_print_nh_l3vni(vty, l3vni, uj);
@@ -1917,7 +1916,7 @@ DEFUN (show_evpn_nh_vni_all,
"All VNIs\n"
JSON_STR)
{
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
zebra_vxlan_print_nh_all_l3vni(vty, uj);
@@ -1936,7 +1935,7 @@ DEFUN (show_evpn_mac_vni,
{
struct zebra_vrf *zvrf;
vni_t vni;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
vni = strtoul(argv[4]->arg, NULL, 10);
zvrf = vrf_info_lookup(VRF_DEFAULT);
@@ -1955,7 +1954,7 @@ DEFUN (show_evpn_mac_vni_all,
JSON_STR)
{
struct zebra_vrf *zvrf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
zvrf = vrf_info_lookup(VRF_DEFAULT);
zebra_vxlan_print_macs_all_vni(vty, zvrf, uj);
@@ -1976,7 +1975,7 @@ DEFUN (show_evpn_mac_vni_all_vtep,
{
struct zebra_vrf *zvrf;
struct in_addr vtep_ip;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
if (!inet_aton(argv[6]->arg, &vtep_ip)) {
if (!uj)
@@ -2030,7 +2029,7 @@ DEFUN (show_evpn_mac_vni_vtep,
struct zebra_vrf *zvrf;
vni_t vni;
struct in_addr vtep_ip;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
vni = strtoul(argv[4]->arg, NULL, 10);
if (!inet_aton(argv[6]->arg, &vtep_ip)) {
@@ -2056,7 +2055,7 @@ DEFUN (show_evpn_neigh_vni,
{
struct zebra_vrf *zvrf;
vni_t vni;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
vni = strtoul(argv[4]->arg, NULL, 10);
zvrf = vrf_info_lookup(VRF_DEFAULT);
@@ -2075,7 +2074,7 @@ DEFUN (show_evpn_neigh_vni_all,
JSON_STR)
{
struct zebra_vrf *zvrf;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
zvrf = vrf_info_lookup(VRF_DEFAULT);
zebra_vxlan_print_neigh_all_vni(vty, zvrf, uj);
@@ -2097,7 +2096,7 @@ DEFUN (show_evpn_neigh_vni_neigh,
struct zebra_vrf *zvrf;
vni_t vni;
struct ipaddr ip;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
vni = strtoul(argv[4]->arg, NULL, 10);
if (str2ipaddr(argv[6]->arg, &ip) != 0) {
@@ -2125,7 +2124,7 @@ DEFUN (show_evpn_neigh_vni_vtep,
struct zebra_vrf *zvrf;
vni_t vni;
struct in_addr vtep_ip;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
vni = strtoul(argv[4]->arg, NULL, 10);
if (!inet_aton(argv[6]->arg, &vtep_ip)) {
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c
index b0fc0a39bd..9aced13a4f 100644
--- a/zebra/zebra_vxlan.c
+++ b/zebra/zebra_vxlan.c
@@ -4057,8 +4057,7 @@ void zebra_vxlan_evpn_vrf_route_del(vrf_id_t vrf_id,
}
void zebra_vxlan_print_specific_rmac_l3vni(struct vty *vty, vni_t l3vni,
- struct ethaddr *rmac,
- uint8_t use_json)
+ struct ethaddr *rmac, bool use_json)
{
zebra_l3vni_t *zl3vni = NULL;
zebra_mac_t *zrmac = NULL;
@@ -4102,8 +4101,7 @@ void zebra_vxlan_print_specific_rmac_l3vni(struct vty *vty, vni_t l3vni,
}
}
-void zebra_vxlan_print_rmacs_l3vni(struct vty *vty, vni_t l3vni,
- uint8_t use_json)
+void zebra_vxlan_print_rmacs_l3vni(struct vty *vty, vni_t l3vni, bool use_json)
{
zebra_l3vni_t *zl3vni;
uint32_t num_rmacs;
@@ -4147,7 +4145,7 @@ void zebra_vxlan_print_rmacs_l3vni(struct vty *vty, vni_t l3vni,
}
}
-void zebra_vxlan_print_rmacs_all_l3vni(struct vty *vty, uint8_t use_json)
+void zebra_vxlan_print_rmacs_all_l3vni(struct vty *vty, bool use_json)
{
struct zebra_ns *zns = NULL;
json_object *json = NULL;
@@ -4184,7 +4182,7 @@ void zebra_vxlan_print_rmacs_all_l3vni(struct vty *vty, uint8_t use_json)
}
void zebra_vxlan_print_specific_nh_l3vni(struct vty *vty, vni_t l3vni,
- struct ipaddr *ip, uint8_t use_json)
+ struct ipaddr *ip, bool use_json)
{
zebra_l3vni_t *zl3vni = NULL;
zebra_neigh_t *n = NULL;
@@ -4228,7 +4226,7 @@ void zebra_vxlan_print_specific_nh_l3vni(struct vty *vty, vni_t l3vni,
}
}
-void zebra_vxlan_print_nh_l3vni(struct vty *vty, vni_t l3vni, uint8_t use_json)
+void zebra_vxlan_print_nh_l3vni(struct vty *vty, vni_t l3vni, bool use_json)
{
uint32_t num_nh;
struct nh_walk_ctx wctx;
@@ -4272,7 +4270,7 @@ void zebra_vxlan_print_nh_l3vni(struct vty *vty, vni_t l3vni, uint8_t use_json)
}
}
-void zebra_vxlan_print_nh_all_l3vni(struct vty *vty, uint8_t use_json)
+void zebra_vxlan_print_nh_all_l3vni(struct vty *vty, bool use_json)
{
struct zebra_ns *zns = NULL;
json_object *json = NULL;
@@ -4309,7 +4307,7 @@ void zebra_vxlan_print_nh_all_l3vni(struct vty *vty, uint8_t use_json)
/*
* Display L3 VNI information (VTY command handler).
*/
-void zebra_vxlan_print_l3vni(struct vty *vty, vni_t vni, uint8_t use_json)
+void zebra_vxlan_print_l3vni(struct vty *vty, vni_t vni, bool use_json)
{
void *args[2];
json_object *json = NULL;
@@ -4382,7 +4380,7 @@ void zebra_vxlan_print_vrf_vni(struct vty *vty, struct zebra_vrf *zvrf,
* Display Neighbors for a VNI (VTY command handler).
*/
void zebra_vxlan_print_neigh_vni(struct vty *vty, struct zebra_vrf *zvrf,
- vni_t vni, uint8_t use_json)
+ vni_t vni, bool use_json)
{
zebra_vni_t *zvni;
uint32_t num_neigh;
@@ -4438,7 +4436,7 @@ void zebra_vxlan_print_neigh_vni(struct vty *vty, struct zebra_vrf *zvrf,
* Display neighbors across all VNIs (VTY command handler).
*/
void zebra_vxlan_print_neigh_all_vni(struct vty *vty, struct zebra_vrf *zvrf,
- uint8_t use_json)
+ bool use_json)
{
json_object *json = NULL;
void *args[2];
@@ -4467,7 +4465,7 @@ void zebra_vxlan_print_neigh_all_vni(struct vty *vty, struct zebra_vrf *zvrf,
*/
void zebra_vxlan_print_specific_neigh_vni(struct vty *vty,
struct zebra_vrf *zvrf, vni_t vni,
- struct ipaddr *ip, uint8_t use_json)
+ struct ipaddr *ip, bool use_json)
{
zebra_vni_t *zvni;
zebra_neigh_t *n;
@@ -4509,7 +4507,7 @@ void zebra_vxlan_print_specific_neigh_vni(struct vty *vty,
*/
void zebra_vxlan_print_neigh_vni_vtep(struct vty *vty, struct zebra_vrf *zvrf,
vni_t vni, struct in_addr vtep_ip,
- uint8_t use_json)
+ bool use_json)
{
zebra_vni_t *zvni;
uint32_t num_neigh;
@@ -4551,7 +4549,7 @@ void zebra_vxlan_print_neigh_vni_vtep(struct vty *vty, struct zebra_vrf *zvrf,
* Display MACs for a VNI (VTY command handler).
*/
void zebra_vxlan_print_macs_vni(struct vty *vty, struct zebra_vrf *zvrf,
- vni_t vni, uint8_t use_json)
+ vni_t vni, bool use_json)
{
zebra_vni_t *zvni;
uint32_t num_macs;
@@ -4606,7 +4604,7 @@ void zebra_vxlan_print_macs_vni(struct vty *vty, struct zebra_vrf *zvrf,
* Display MACs for all VNIs (VTY command handler).
*/
void zebra_vxlan_print_macs_all_vni(struct vty *vty, struct zebra_vrf *zvrf,
- uint8_t use_json)
+ bool use_json)
{
struct mac_walk_ctx wctx;
json_object *json = NULL;
@@ -4636,8 +4634,7 @@ void zebra_vxlan_print_macs_all_vni(struct vty *vty, struct zebra_vrf *zvrf,
*/
void zebra_vxlan_print_macs_all_vni_vtep(struct vty *vty,
struct zebra_vrf *zvrf,
- struct in_addr vtep_ip,
- uint8_t use_json)
+ struct in_addr vtep_ip, bool use_json)
{
struct mac_walk_ctx wctx;
json_object *json = NULL;
@@ -4693,7 +4690,7 @@ void zebra_vxlan_print_specific_mac_vni(struct vty *vty, struct zebra_vrf *zvrf,
*/
void zebra_vxlan_print_macs_vni_vtep(struct vty *vty, struct zebra_vrf *zvrf,
vni_t vni, struct in_addr vtep_ip,
- uint8_t use_json)
+ bool use_json)
{
zebra_vni_t *zvni;
uint32_t num_macs;
@@ -4743,7 +4740,7 @@ void zebra_vxlan_print_macs_vni_vtep(struct vty *vty, struct zebra_vrf *zvrf,
* Display VNI information (VTY command handler).
*/
void zebra_vxlan_print_vni(struct vty *vty, struct zebra_vrf *zvrf, vni_t vni,
- uint8_t use_json)
+ bool use_json)
{
json_object *json = NULL;
void *args[2];
@@ -4831,7 +4828,7 @@ void zebra_vxlan_print_evpn(struct vty *vty, uint8_t uj)
* Display VNI hash table (VTY command handler).
*/
void zebra_vxlan_print_vnis(struct vty *vty, struct zebra_vrf *zvrf,
- uint8_t use_json)
+ bool use_json)
{
json_object *json = NULL;
struct zebra_ns *zns = NULL;
diff --git a/zebra/zebra_vxlan.h b/zebra/zebra_vxlan.h
index 2732ef72ed..6b2b57371c 100644
--- a/zebra/zebra_vxlan.h
+++ b/zebra/zebra_vxlan.h
@@ -68,53 +68,51 @@ extern int zebra_vxlan_vrf_enable(struct zebra_vrf *zvrf);
extern int zebra_vxlan_vrf_disable(struct zebra_vrf *zvrf);
extern int zebra_vxlan_vrf_delete(struct zebra_vrf *zvrf);
extern void zebra_vxlan_print_specific_nh_l3vni(struct vty *vty, vni_t l3vni,
- struct ipaddr *ip, uint8_t uj);
+ struct ipaddr *ip, bool uj);
extern void zebra_vxlan_print_evpn(struct vty *vty, uint8_t uj);
extern void zebra_vxlan_print_specific_rmac_l3vni(struct vty *vty, vni_t l3vni,
struct ethaddr *rmac,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_macs_vni(struct vty *vty, struct zebra_vrf *zvrf,
- vni_t vni, uint8_t use_json);
+ vni_t vni, bool use_json);
extern void zebra_vxlan_print_macs_all_vni(struct vty *vty,
struct zebra_vrf *zvrf,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_macs_all_vni_vtep(struct vty *vty,
struct zebra_vrf *zvrf,
struct in_addr vtep_ip,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_specific_mac_vni(struct vty *vty,
struct zebra_vrf *zvrf,
vni_t vni, struct ethaddr *mac);
extern void zebra_vxlan_print_macs_vni_vtep(struct vty *vty,
struct zebra_vrf *zvrf, vni_t vni,
struct in_addr vtep_ip,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_neigh_vni(struct vty *vty, struct zebra_vrf *zvrf,
- vni_t vni, uint8_t use_json);
+ vni_t vni, bool use_json);
extern void zebra_vxlan_print_neigh_all_vni(struct vty *vty,
struct zebra_vrf *zvrf,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_specific_neigh_vni(struct vty *vty,
struct zebra_vrf *zvrf,
vni_t vni, struct ipaddr *ip,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_neigh_vni_vtep(struct vty *vty,
struct zebra_vrf *zvrf, vni_t vni,
struct in_addr vtep_ip,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_vni(struct vty *vty, struct zebra_vrf *zvrf,
- vni_t vni, uint8_t use_json);
+ vni_t vni, bool use_json);
extern void zebra_vxlan_print_vnis(struct vty *vty, struct zebra_vrf *zvrf,
- uint8_t use_json);
+ bool use_json);
extern void zebra_vxlan_print_rmacs_l3vni(struct vty *vty, vni_t vni,
- uint8_t use_json);
-extern void zebra_vxlan_print_rmacs_all_l3vni(struct vty *vty,
- uint8_t use_json);
+ bool use_json);
+extern void zebra_vxlan_print_rmacs_all_l3vni(struct vty *vty, bool use_json);
extern void zebra_vxlan_print_nh_l3vni(struct vty *vty, vni_t vni,
- uint8_t use_json);
-extern void zebra_vxlan_print_nh_all_l3vni(struct vty *vty, uint8_t use_json);
-extern void zebra_vxlan_print_l3vni(struct vty *vty, vni_t vni,
- uint8_t use_json);
+ bool use_json);
+extern void zebra_vxlan_print_nh_all_l3vni(struct vty *vty, bool use_json);
+extern void zebra_vxlan_print_l3vni(struct vty *vty, vni_t vni, bool use_json);
extern void zebra_vxlan_print_vrf_vni(struct vty *vty, struct zebra_vrf *zvrf,
json_object *json_vrfs);
extern int zebra_vxlan_add_del_gw_macip(struct interface *ifp, struct prefix *p,