vtysh, zebra: fix malformed json output for multiple vrfs in command 'show ip route vrf all json' #15632
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Similarly to issue mentioned here: #15277, the 'show ip route vrf all json' command doesn't work as expected, because it doesn't return a valid json object.
Command 'show ip route vrf <vrf_name> json' returns a valid json object, however for multiple vrfs the output looks like this:
{//vrf1 routes}{//vrf2 routes}{//vrf3 routes}
After the fix we get:
{"vrf1":{//vrf1 routes},"vrf2:{//vrf2 routes},"vrf3":{//vrf3 routes}}
Which is a valid json object, that can be parsed effectively using built-in modules. That makes a big difference for anyone that wants to take the json outputs for multiple vrfs and make use of them. The rest of the commands remain unaffected and behave the same.