<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 6, 2018 at 2:25 PM, Ondrej Zajicek <span dir="ltr"><<a href="mailto:santiago@crfreenet.org" target="_blank">santiago@crfreenet.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, Jun 06, 2018 at 01:33:53PM +0100, Thomás S. Bregolin wrote:<br>[...]<br>
> I've attached a modified version of the test-withdraw script showing the<br>
> issue. It seems my problem is related to the "start delay time" option.<br>
> When I set it to 1, sometimes the withdrawal is sent, and sometimes it<br>
> isn't. However, when it *isn't* sent, it is *never* sent, no matter how<br>
> long I wait. The problem is solved by setting the timeout to a higher<br>
> value, or using the default 5 seconds.<br>
<br>
</span>Hello<br>
<br>
Note that in the modified version no protocols are removed, both testproto<br>
and testproto2 are still configured and running. Just the BGP export<br>
filter was changed, and because 'configure soft' was used, then it was<br>
not reloaded. That is expected.<br>
<br>
But it is likely that if both changes happen simultaneously, i.e. a<br>
static protocol is removed and a BGP export filter is changed to no<br>
longer allow routes from that protocol, then withdraws are not sent. This<br>
is likely a bug, could be avoided by not doing both protocol removal and<br>
export filter change at the same time.<br>
</blockquote></div></div><div class="gmail_extra"><br></div><div class="gmail_extra">Oh, interesting! Indeed, if I remove just the filter or both the filter and route, the withdrawals are not sent. However, if I remove only the route, the withdrawal is sent.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Indeed, as you say, it sounds like a bug. For two reasons:</div><div class="gmail_extra"><br></div><div class="gmail_extra">- BIRD should never remove a protocol without sending a withdrawal (unless that is wanted as a feature or configuration option);<br></div><div class="gmail_extra">- There is no reason why removing the filter at the same time as the route should change the behaviour;</div><div class="gmail_extra"><br></div><div class="gmail_extra"></div><div class="gmail_extra">Thank you once again for looking into this. Please let me know if I should write up a proper bug report and send it here.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Thomás<br></div></div>