diff options
Diffstat (limited to 'zebra/zebra_vty.c')
| -rw-r--r-- | zebra/zebra_vty.c | 92 |
1 files changed, 58 insertions, 34 deletions
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index e260338131..f01f037ed5 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -2285,89 +2285,100 @@ DEFUN (show_vrf, DEFUN (show_evpn_vni, show_evpn_vni_cmd, - "show evpn vni", + "show evpn vni [json]", SHOW_STR "EVPN\n" - "VxLAN information\n") + "VxLAN information\n" + JSON_STR) { struct zebra_vrf *zvrf; + u_char uj = use_json(argc, argv); zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_vnis(vty, zvrf); + zebra_vxlan_print_vnis(vty, zvrf, uj); return CMD_SUCCESS; } DEFUN (show_evpn_vni_vni, show_evpn_vni_vni_cmd, - "show evpn vni " CMD_VNI_RANGE, + "show evpn vni " CMD_VNI_RANGE "[json]", SHOW_STR "EVPN\n" "VxLAN Network Identifier\n" - "VNI number\n") + "VNI number\n" + JSON_STR) { struct zebra_vrf *zvrf; vni_t vni; + u_char uj = use_json(argc, argv); vni = strtoul(argv[3]->arg, NULL, 10); zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_vni(vty, zvrf, vni); + zebra_vxlan_print_vni(vty, zvrf, vni, uj); return CMD_SUCCESS; } DEFUN (show_evpn_mac_vni, show_evpn_mac_vni_cmd, - "show evpn mac vni " CMD_VNI_RANGE, + "show evpn mac vni " CMD_VNI_RANGE "[json]", SHOW_STR "EVPN\n" "MAC addresses\n" "VxLAN Network Identifier\n" - "VNI number\n") + "VNI number\n" + JSON_STR) { struct zebra_vrf *zvrf; vni_t vni; + u_char uj = use_json(argc, argv); vni = strtoul(argv[4]->arg, NULL, 10); zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_macs_vni(vty, zvrf, vni); + zebra_vxlan_print_macs_vni(vty, zvrf, vni, uj); return CMD_SUCCESS; } DEFUN (show_evpn_mac_vni_all, show_evpn_mac_vni_all_cmd, - "show evpn mac vni all", + "show evpn mac vni all [json]", SHOW_STR "EVPN\n" "MAC addresses\n" "VxLAN Network Identifier\n" - "All VNIs\n") + "All VNIs\n" + JSON_STR) { struct zebra_vrf *zvrf; + u_char uj = use_json(argc, argv); zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_macs_all_vni(vty, zvrf); + zebra_vxlan_print_macs_all_vni(vty, zvrf, uj); return CMD_SUCCESS; } DEFUN (show_evpn_mac_vni_all_vtep, show_evpn_mac_vni_all_vtep_cmd, - "show evpn mac vni all vtep A.B.C.D", + "show evpn mac vni all vtep A.B.C.D [json]", SHOW_STR "EVPN\n" "MAC addresses\n" "VxLAN Network Identifier\n" "All VNIs\n" "Remote VTEP\n" - "Remote VTEP IP address\n") + "Remote VTEP IP address\n" + JSON_STR) { struct zebra_vrf *zvrf; struct in_addr vtep_ip; + u_char uj = use_json(argc, argv); if (!inet_aton(argv[6]->arg, &vtep_ip)) { - vty_out(vty, "%% Malformed VTEP IP address\n"); + if (!uj) + vty_out(vty, "%% Malformed VTEP IP address\n"); return CMD_WARNING; } zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_macs_all_vni_vtep(vty, zvrf, vtep_ip); + zebra_vxlan_print_macs_all_vni_vtep(vty, zvrf, vtep_ip, uj); return CMD_SUCCESS; } @@ -2400,112 +2411,125 @@ DEFUN (show_evpn_mac_vni_mac, DEFUN (show_evpn_mac_vni_vtep, show_evpn_mac_vni_vtep_cmd, - "show evpn mac vni " CMD_VNI_RANGE " vtep A.B.C.D", + "show evpn mac vni " CMD_VNI_RANGE " vtep A.B.C.D" "[json]", SHOW_STR "EVPN\n" "MAC addresses\n" "VxLAN Network Identifier\n" "VNI number\n" "Remote VTEP\n" - "Remote VTEP IP address\n") + "Remote VTEP IP address\n" + JSON_STR) { struct zebra_vrf *zvrf; vni_t vni; struct in_addr vtep_ip; + u_char uj = use_json(argc, argv); vni = strtoul(argv[4]->arg, NULL, 10); if (!inet_aton(argv[6]->arg, &vtep_ip)) { - vty_out(vty, "%% Malformed VTEP IP address\n"); + if (!uj) + vty_out(vty, "%% Malformed VTEP IP address\n"); return CMD_WARNING; } zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_macs_vni_vtep(vty, zvrf, vni, vtep_ip); + zebra_vxlan_print_macs_vni_vtep(vty, zvrf, vni, vtep_ip, uj); return CMD_SUCCESS; } DEFUN (show_evpn_neigh_vni, show_evpn_neigh_vni_cmd, - "show evpn arp-cache vni " CMD_VNI_RANGE, + "show evpn arp-cache vni " CMD_VNI_RANGE "[json]", SHOW_STR "EVPN\n" "ARP and ND cache\n" "VxLAN Network Identifier\n" - "VNI number\n") + "VNI number\n" + JSON_STR) { struct zebra_vrf *zvrf; vni_t vni; + u_char uj = use_json(argc, argv); vni = strtoul(argv[4]->arg, NULL, 10); zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_neigh_vni(vty, zvrf, vni); + zebra_vxlan_print_neigh_vni(vty, zvrf, vni, uj); return CMD_SUCCESS; } DEFUN (show_evpn_neigh_vni_all, show_evpn_neigh_vni_all_cmd, - "show evpn arp-cache vni all", + "show evpn arp-cache vni all [json]", SHOW_STR "EVPN\n" "ARP and ND cache\n" "VxLAN Network Identifier\n" - "All VNIs\n") + "All VNIs\n" + JSON_STR) { struct zebra_vrf *zvrf; + u_char uj = use_json(argc, argv); zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_neigh_all_vni(vty, zvrf); + zebra_vxlan_print_neigh_all_vni(vty, zvrf, uj); return CMD_SUCCESS; } DEFUN (show_evpn_neigh_vni_neigh, show_evpn_neigh_vni_neigh_cmd, - "show evpn arp-cache vni " CMD_VNI_RANGE " ip WORD", + "show evpn arp-cache vni " CMD_VNI_RANGE " ip WORD [json]", SHOW_STR "EVPN\n" "ARP and ND cache\n" "VxLAN Network Identifier\n" "VNI number\n" "Neighbor\n" - "Neighbor address (IPv4 or IPv6 address)\n") + "Neighbor address (IPv4 or IPv6 address)\n" + JSON_STR) { struct zebra_vrf *zvrf; vni_t vni; struct ipaddr ip; + u_char uj = use_json(argc, argv); vni = strtoul(argv[4]->arg, NULL, 10); if (str2ipaddr(argv[6]->arg, &ip) != 0) { - vty_out(vty, "%% Malformed Neighbor address\n"); + if (!uj) + vty_out(vty, "%% Malformed Neighbor address\n"); return CMD_WARNING; } zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_specific_neigh_vni(vty, zvrf, vni, &ip); + zebra_vxlan_print_specific_neigh_vni(vty, zvrf, vni, &ip, uj); return CMD_SUCCESS; } DEFUN (show_evpn_neigh_vni_vtep, show_evpn_neigh_vni_vtep_cmd, - "show evpn arp-cache vni " CMD_VNI_RANGE " vtep A.B.C.D", + "show evpn arp-cache vni " CMD_VNI_RANGE " vtep A.B.C.D [json]", SHOW_STR "EVPN\n" "ARP and ND cache\n" "VxLAN Network Identifier\n" "VNI number\n" "Remote VTEP\n" - "Remote VTEP IP address\n") + "Remote VTEP IP address\n" + JSON_STR) { struct zebra_vrf *zvrf; vni_t vni; struct in_addr vtep_ip; + u_char uj = use_json(argc, argv); vni = strtoul(argv[4]->arg, NULL, 10); if (!inet_aton(argv[6]->arg, &vtep_ip)) { - vty_out(vty, "%% Malformed VTEP IP address\n"); + if (!uj) + vty_out(vty, "%% Malformed VTEP IP address\n"); return CMD_WARNING; } zvrf = vrf_info_lookup(VRF_DEFAULT); - zebra_vxlan_print_neigh_vni_vtep(vty, zvrf, vni, vtep_ip); + zebra_vxlan_print_neigh_vni_vtep(vty, zvrf, vni, vtep_ip, uj); return CMD_SUCCESS; } |
