diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2023-06-12 17:09:52 +0300 |
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2023-06-20 20:50:10 +0300 |
| commit | 0043ebab996e4a72541776d4a7753fca5f0de95b (patch) | |
| tree | 683b87b5bbc0ae895c72a2b7f7a530dca688b89d /lib/command_graph.c | |
| parent | 508deadf3d1b82e1ecf9fe1a133234f5597951d9 (diff) | |
bgpd: Use synchronous way to get labels from Zebra
Both the label manager and table manager zapi code send data requests via zapi
to zebra and then immediately listen for a response from zebra. The problem here
is of course that the listen part is throwing away any zapi command that is not
the one it is looking for.
ISIS/OSPF and PIM all have synchronous abilities via zapi, which they all
do through a special zapi connection to zebra. BGP needs to follow this model
as well. Additionally the new zclient_sync connection that should be created,
a once a second timer should wake up and read any data on the socket to
prevent problems too much data accumulating in the socket.
```
r3# sh bgp labelpool summary
Labelpool Summary
-----------------
Ledger: 3
InUse: 3
Requests: 0
LabelChunks: 1
Pending: 128
Reconnects: 1
r3# sh bgp labelpool inuse
Prefix Label
---------------------------
10.0.0.1/32 16
192.168.31.0/24 17
192.168.32.0/24 18
r3#
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Diffstat (limited to 'lib/command_graph.c')
0 files changed, 0 insertions, 0 deletions
