mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-10-12 12:11:48 +00:00
ip vrf: Add json support for show command
Add json support to 'ip vrf sh': $ ip -j -p vrf ls [ { "name": "mgmt", "table": 1001 } ] Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
92754430a6
commit
8c2093e5d2
21
ip/ipvrf.c
21
ip/ipvrf.c
@ -566,9 +566,12 @@ static int ipvrf_print(struct nlmsghdr *n)
|
||||
return 0;
|
||||
}
|
||||
|
||||
printf("%-16s %5u", name, tb_id);
|
||||
open_json_object(NULL);
|
||||
print_string(PRINT_ANY, "name", "%-16s", name);
|
||||
print_uint(PRINT_ANY, "table", " %5u", tb_id);
|
||||
print_string(PRINT_FP, NULL, "%s", "\n");
|
||||
close_json_object();
|
||||
|
||||
printf("\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -597,15 +600,21 @@ static int ipvrf_show(int argc, char **argv)
|
||||
if (ip_link_list(ipvrf_filter_req, &linfo) == 0) {
|
||||
struct nlmsg_list *l;
|
||||
unsigned nvrf = 0;
|
||||
int n;
|
||||
|
||||
n = printf("%-16s %5s\n", "Name", "Table");
|
||||
printf("%.*s\n", n-1, "-----------------------");
|
||||
new_json_obj(json);
|
||||
|
||||
print_string(PRINT_FP, NULL, "%-16s", "Name");
|
||||
print_string(PRINT_FP, NULL, " %5s\n", "Table");
|
||||
print_string(PRINT_FP, NULL, "%s\n",
|
||||
"-----------------------");
|
||||
|
||||
for (l = linfo.head; l; l = l->next)
|
||||
nvrf += ipvrf_print(&l->h);
|
||||
|
||||
if (!nvrf)
|
||||
printf("No VRF has been configured\n");
|
||||
print_string(PRINT_FP, NULL, "%s\n",
|
||||
"No VRF has been configured");
|
||||
delete_json_obj();
|
||||
} else
|
||||
rc = 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user