diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-05-08 14:35:06 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-06-19 14:43:59 +0200 |
commit | 9e224e60dbffd032d7271ec473366048fb6083d4 (patch) | |
tree | 818ad931fea867c8a1b8631aacf993b7a42bee28 /lib/libfrr.h | |
parent | lib: Add ability to retry if backup is specified (diff) | |
download | frr-9e224e60dbffd032d7271ec473366048fb6083d4.tar.xz frr-9e224e60dbffd032d7271ec473366048fb6083d4.zip |
lib: Create a thread for reading in the cli
The read in of cli was happening prior to thread
event handling for non-integrated configs. This
is interesting for 2 reasons:
1) Read-in of integrated configs was after thread
event loop startup, so we had a difference of behavior
2) Read-in can cause a series of events that cause
us to attempt to communicate with zebra. The zebra
zapi connection only happens after the thread event
loop has been started. This can cause data that
is being written down to zebra to be lost and
no real way to notice that this has happened and
to recover gracefully.
Modify the code to create a thread event for read
in of client config.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/libfrr.h')
-rw-r--r-- | lib/libfrr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libfrr.h b/lib/libfrr.h index bd572cce1..1c744ee1b 100644 --- a/lib/libfrr.h +++ b/lib/libfrr.h @@ -50,6 +50,8 @@ struct frr_daemon_info { bool dryrun; bool daemon_mode; bool terminal; + + struct thread *read_in; const char *config_file; const char *backup_config_file; const char *pid_file; |