diff options
author | Maria Matejka <mq@ucw.cz> | 2023-04-05 21:59:01 +0200 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2023-04-06 12:48:02 +0200 |
commit | 22a0900ec22511b6ce872f126e9766ccb4e5a824 (patch) | |
tree | f1b15ebdebb05ef6d6d232bc06043da75d8f74e9 /proto/bfd/bfd.h | |
parent | 4a69a64745e44066abfa4f6a17a7bb7a2fde9834 (diff) |
BFD: fixed a request pickup race condition
When several BGPs requested a BFD session in short time, chances were
that the second BGP would file a request while the pickup routine was
still running and it would get enqueued into the waiting list instead of
being picked up.
Fixed this by enforcing pickup loop restart when new requests got added,
and also by atomically moving the unpicked requests to a temporary list
to announce admin down before actually being added into the wait list.
Diffstat (limited to 'proto/bfd/bfd.h')
-rw-r--r-- | proto/bfd/bfd.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/proto/bfd/bfd.h b/proto/bfd/bfd.h index 9a8e20c6..a4b7d63c 100644 --- a/proto/bfd/bfd.h +++ b/proto/bfd/bfd.h @@ -165,7 +165,6 @@ struct bfd_session list request_list; /* List of client requests (struct bfd_request) */ btime last_state_change; /* Time of last state change */ - u8 notify_running; /* 1 if notify hooks are running */ u8 rx_csn_known; /* Received crypto sequence number is known */ u32 rx_csn; /* Last received crypto sequence number */ |