diff options
author | Donald Sharp <sharpd@nvidia.com> | 2023-07-10 16:40:38 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@nvidia.com> | 2023-07-10 16:47:17 +0200 |
commit | 1e0b6a601e0fb0f95bb507d2111260b194512bee (patch) | |
tree | 4e94d88365586f103bf44bcd3bca3dab3b63b942 /bgpd/bgp_zebra.c | |
parent | Merge pull request #13962 from opensourcerouting/fix/ignore_tests/lib/test_darr (diff) | |
download | frr-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.c | 6 |
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); |