summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_zebra.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2023-07-10 16:40:38 +0200
committerDonald Sharp <sharpd@nvidia.com>2023-07-10 16:47:17 +0200
commit1e0b6a601e0fb0f95bb507d2111260b194512bee (patch)
tree4e94d88365586f103bf44bcd3bca3dab3b63b942 /bgpd/bgp_zebra.c
parentMerge pull request #13962 from opensourcerouting/fix/ignore_tests/lib/test_darr (diff)
downloadfrr-1e0b6a601e0fb0f95bb507d2111260b194512bee.tar.xz
frr-1e0b6a601e0fb0f95bb507d2111260b194512bee.zip
bgpd: Fix table manager to use the synchronous client
bgp_zebra_tm_connect calls bgp_zebra_get_table_range which just used the global zclient. Which of course still had us exposing the global zclient to read and drop important data from zebra. This fixes commit 787c61e03c760ffdb422bfc44c72d83fb451e0c8 Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'bgpd/bgp_zebra.c')
-rw-r--r--bgpd/bgp_zebra.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index 430ea0f9a..132090633 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -1085,7 +1085,7 @@ static void bgp_zebra_tm_connect(struct event *t)
}
bgp_tm_status_connected = true;
if (!bgp_tm_chunk_obtained) {
- if (bgp_zebra_get_table_range(bgp_tm_chunk_size,
+ if (bgp_zebra_get_table_range(zclient, bgp_tm_chunk_size,
&bgp_tm_min,
&bgp_tm_max) >= 0) {
bgp_tm_chunk_obtained = true;
@@ -1129,14 +1129,14 @@ void bgp_zebra_init_tm_connect(struct bgp *bgp)
&bgp_tm_thread_connect);
}
-int bgp_zebra_get_table_range(uint32_t chunk_size,
+int bgp_zebra_get_table_range(struct zclient *zc, uint32_t chunk_size,
uint32_t *start, uint32_t *end)
{
int ret;
if (!bgp_tm_status_connected)
return -1;
- ret = tm_get_table_chunk(zclient, chunk_size, start, end);
+ ret = tm_get_table_chunk(zc, chunk_size, start, end);
if (ret < 0) {
flog_err(EC_BGP_TABLE_CHUNK,
"BGP: Error getting table chunk %u", chunk_size);