[c-nsp] BGP Reestablish-"order"

Heath Jones hj1980 at gmail.com
Thu Oct 21 10:31:03 EDT 2010


Hi Mario

> I have the problem that the CPU on my router is going mad when my link to an
> IX gets up again after an interface flap, the router reestablishes all
> sessions in the same time and then kinda gets in a loop because he begins to
> drop BGP packets after being so busy processing BGP updates. :-)

Are you sure it is not related to your IGP? You would need a pretty
large number of peers or a very slow cpu to have a problem like this.
How many peers do you have, and how many prefixes average?

Are BGP packets being dropped (tcp unacknowledged)? If this is the
case, the remote end will retransmit but there will be a time delay.
Are the remote ends closing the connection after drops and starting
again?


> Is there a way to define the order how those sessions come up again or that I
> can specify a "reestablish timer" for each neighbor, so that I can let the
> "less important" peers to wait for a specific amount of time before trying to
> get the session back?

For this to work, the implementation would also have to block incoming
connections for the duration (the neighbour's timer could expire
before yours, then they would start the connection).

You may want to look at tcp window sizes.

If the problem is that your cpu is so chewed it cannot sent tcp
acknowledgements then something is seriously wrong. (It would also
mean that the neighbours would 'back off' for a while before
retransmitting)
If the problem is that your BGP process is dealing with the updates,
it should be sending tcp window size 0 to the neighbors (telling them
to wait a while).

As a first step, try to completely understand what the CPU is actually
doing. You might find there is something easy you could do to minimise
the effect..


Heath


More information about the cisco-nsp mailing list