On Sun, Aug 29, 2010 at 10:12:35PM +0200, Thomas Mangin wrote:
It would seem to me that there should actually be a better option, e.g. recognizing the malformed update, and simply discarding it (and sending the originator an error message) instead of resetting the session.
Resetting of BGP sessions should only be done in the most dire of circumstances, to avoid a widespread instability incident.
I had the same thought before giving up on it.
Negotiating a new error message could be a per peer option. BGP has capabilities for this exact reason.
However to make sense you would need to find a resynchronisation point to only exclude the one faulty message. Initially I thought that the last received KEEPALIVE (for the receiver of the error message) could do - but you find yourselves with races conditions - so perhaps two KEEPALIVE back ?
Apart from one big vendor most BGP speaker only send KEEPALIVES when they need to. So on my full feeds I see sessions running for more then 1 month which received less then 300 KEEPALIVE packets. -- :wq Claudio