]>
git.puffer.fish Git - mirror/frr.git/commit
bgpd: Fix graceful-restart JSON outputs and the crash
Without this patch:
```
donatas-pc# show bgp neighbors graceful-restart json
vtysh: error reading from bgpd: Resource temporarily unavailable (11)Warning: closing connection to bgpd because of an I/O error!
donatas-pc#
```
And, invalid JSON generated when multiple neighbors exist due to json_neighbor
being freed in a loop.
After the patch:
```
donatas-pc# show bgp ipv4 neighbors 192.168.10.124 graceful-restart json
{
"192.168.10.124":{
"neighborAddr":"192.168.10.124",
"localGrMode":"Helper*",
"remoteGrMode":"Restart",
"rBit":false,
"nBit":true,
"timers":{
"configuredRestartTimer":120,
"receivedRestartTimer":120
},
"ipv4Unicast":{
"fBit":true,
"endOfRibStatus":{
"endOfRibSend":true,
"endOfRibSentAfterUpdate":false,
"endOfRibRecv":true
},
"timers":{
"stalePathTimer":360
}
}
}
}
donatas-pc# show bgp neighbors graceful-restart json
{
"192.168.10.124":{
"neighborAddr":"192.168.10.124",
"localGrMode":"Helper*",
"remoteGrMode":"Restart",
"rBit":false,
"nBit":true,
"timers":{
"configuredRestartTimer":120,
"receivedRestartTimer":120
},
"ipv4Unicast":{
"fBit":true,
"endOfRibStatus":{
"endOfRibSend":true,
"endOfRibSentAfterUpdate":false,
"endOfRibRecv":true
},
"timers":{
"stalePathTimer":360
}
}
},
"2a02:4780:abc::2":{
"neighborAddr":"2a02:4780:abc::2",
"localGrMode":"Helper*",
"remoteGrMode":"Restart",
"rBit":false,
"nBit":true,
"timers":{
"configuredRestartTimer":120,
"receivedRestartTimer":120
},
"ipv4Unicast":{
"fBit":true,
"endOfRibStatus":{
"endOfRibSend":true,
"endOfRibSentAfterUpdate":false,
"endOfRibRecv":true
},
"timers":{
"stalePathTimer":360
}
},
"ipv6Unicast":{
"fBit":true,
"endOfRibStatus":{
"endOfRibSend":true,
"endOfRibSentAfterUpdate":true,
"endOfRibRecv":true
},
"timers":{
"stalePathTimer":360
}
}
}
}
donatas-pc#
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>