[quagga-dev 16756] %100 CPU usage in Quagga when MRAI timer is being set to zero

shahrooz shahrooz at cs.umass.edu
Fri May 17 05:57:00 BST 2019


I am trying to do an experiment using Quagga. In my experiment, I need 
to set the MRAI timer value to zero and measure the convergence time of 
the network.

I am setting the MRAI timer value in Quagga which is 
BGP_DEFAULT_EBGP_ROUTEADV to zero and run my BGP daemons.

Unfortunately, when I set the MRAI value to zero and establish a BGP 
session between my two BGP daemons, I have %100 CPU usage!. The default 
MRAI timer value for eBGP routers is 3 seconds which when I use the 
default value of MRAI timer value, I do not have this %100 CPU usage 

I am only changing the MRAI timer default value from 3 seconds to zero 
and then I get % 100 CPU usage even if I just send one prefix from the 
first BGP daemon to another one.

I found that if there is no relationship between each the BGP daemons, 
we do not have this problem(%100 CPU usage). But even if we have just 
two BGP daemons and they have customer-provider relationship, then we 
have high CPU usage.

I searched and it seems there has been a problem like this but for zebra 
daemon and for OSPF and iBGP routers( you can see the link of the 
question here: https://github.com/FRRouting/frr/issues/1864). I am not 
sure if this is related to my problem as I see this behavior with and 
without zebra daemon running.

Does anyone have any explanation for this behavior in Quagga? I will be 
really appreciated if someone can help me to explain this behavior.


More information about the Quagga-dev mailing list