diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2016-11-24 21:28:03 -0200 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-11-24 19:56:59 -0500 |
| commit | 18653436b7e7e5cb7a3ea8ba8a182598cbfbd247 (patch) | |
| tree | 5b5a790b69a416ba82bc6f2b59f1b7aacb0e679a /zebra/interface.c | |
| parent | b4863129a37ff4cdec567426aa8608a8a6631ec7 (diff) | |
isisd: fix loss of packets after circuit is brought up
The last parameter of THREAD_TIMER_ON() is the timeout, and we were
using circuit->fd for that. So, when a circuit was brought up, isisd
would miss all received packets on this circuit for quite a few seconds,
slowing down the convergence process.
To fix this, use the same logic we use in isis_receive() to calculate
this timeout.
This bug doesn't happen on Linux, which uses a different method to read
packets from the network.
Fixes the following ANVL tests on FreeBSD: ISIS-17.1, ISIS-18.6 (and
probably others too).
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'zebra/interface.c')
0 files changed, 0 insertions, 0 deletions
