summaryrefslogtreecommitdiff
path: root/lib/routemap_cli.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2024-02-03 22:35:31 -0500
committerDonald Sharp <sharpd@nvidia.com>2024-02-03 23:10:19 -0500
commit5bc104120b772e9cb236ff84de877e0c8435011c (patch)
tree29b7550b04fbdb062b6758af0c829f7da4679676 /lib/routemap_cli.c
parent5ddf2aaa52e9f8977e902e437dd2036604ec7097 (diff)
bgpd: Prevent rpki from hooking multiple times into rcu code
As far as I can tell, the rpki code creates a pthread that is used to handle the i/o associated with talking to the remote rpki server. The problem that we are having is that the rpki code in FRR wants to behave like FRR code and use the zlog_XXX functions. These functions all depend on the RCU code. Which is a bit picky( and rightly so!!! ) about being started up properly and shut down properly. This commit is fixing the problem of shutdown. From playing with the rpki code, I was able to experimentally determine that the rpki_create_socket callback function can be called multiple times per pthread. Additionally I was able to clearly see multiple *different* pthreads actually be created. This leaves the possiblity that each time it is called it might be hooking into the RCU code. Which makes the rcu code unhappy on shutdown. Let's address the issue by checking to see if this pthread has already hooked into the RCU code or not. If so then don't do this again. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'lib/routemap_cli.c')
0 files changed, 0 insertions, 0 deletions