First a warning: I can’t really reproduce this manually. It seems like it might be related to some previous config from my long compliance test (i.e. something configured and unconfigured but somehow didn’t reset internal state). I am able to reproduce it with my automated scripts and looking at the pcap it definitely is wrong.

Here is the issue:

During the OpenSent state, Quagga sometimes uses default hold timer and NOT the configured timers as it should. (I use the per-neighbor timer configuration). So with the new default hold time of 9sec now in effect, I get sometimes 9sec instead of the configured (180s) as before.

Background on “OpenSent” state:
When Quagga opens a new connection to a neighbor, it opens the TCP session and then sends the BGP open message. At this time the state is in “OpenSent”. If the neighbor does not respond with the holdtime with it’s open, then Quagga sends a notification
with “Hold Timer expired” and closes the connection.
(See RFC4271, Sect. 8.2.2, p 62 “OpenSent”)

How I test:
In my test, I configure Quagga with a hold time of 180s (and keepalive of 60s) I’ve let then Quagga send the BGP Open, but without returning the BGP Response (But ack the TCP protocol). Expected would be to get the Hold timer expiration notification after 180s, but in my tests I get it already after 9 seconds The pcap confirms that Quagga is confirmed with 180s hold time (as seen in the BGP
Open message), but something internally still thinks it’s 9 sec.

I’ve tried to do this manually (i.e. just having ncat listen on the other side,
but it always works so far in my manual tests.

If anyone has some patch to suggest then send it my way. I should be able to
verify the fix.

Regards,
   Martin Winter
   [email protected]


PS: Not sure if this is related to the last round of patches. I assume it might have been there all the time, but in the past I didn’t test with non-default timers and
might have missed it.

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to