bird 1.5.0-4 ospf Inactivity timer expired.
Andrey Kitsul
a.kitsul at office.ngs.ru
Mon Oct 26 09:47:56 CET 2015
Hello,
I have three Ubuntu physical machines with quagga (ospf area0/bgp with
full route table on 2-4 uplink) and one whit bird (ospf only).
On one of the routers (ospf/bgp) replace quagga on bird. Configuration
bird attachment.
After replacing the CPU load there is increased by 10-15%. On top Bird
periodically consumes up to 90% of the CPU, and at a given time is
restarted ospf: Inactivity timer expired for nbr.
On one interfaces eth1.2508 to another bird router, I increased the Dead
interval to 10 seconds. And it helped.
What could be my problem? Large filters BGP, smallest ospf hello/dead
interval or something else?
One of restarts occurred at 13:13:13, OSPF trace in attachment, OSPF net
packet in attachment.
--
Кицул Андрей
администратор Unix-систем
ЗАО "НГС"
+7-923-111-3940
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20151026/67ec5789/attachment.html>
-------------- next part --------------
#log syslog all;
log "/var/log/bird/bird.log" all;
#debug protocols all;
#debug ospf_area0 { states, routes };
router id 195.x.y.z1;
protocol device {
scan time 10;
}
protocol kernel {
learn;
# persist;
export all;
import all;
scan time 15;
}
protocol static STATIC_BGP {
route net1/24 drop;
route net2/24 drop;
route net3/24 drop;
}
protocol static STATIC_OSPF {
route 10.0.0.0/8 drop;
route 172.16.0.0/12 drop;
route 192.168.0.0/16 drop;
}
protocol direct {
interface "*";
}
protocol ospf ospf_area0 {
#debug { states, events, packets };
debug { states, events };
#import all;
import filter {
if ( net != 0.0.0.0/0 ) then {
print "OSPF accepted: ", net;
accept;
}
print "OSFP rejected:", net;
reject;
};
export filter {
ospf_metric2 = 20;
if net = 0.0.0.0/0 then reject;
# connected
if source = RTS_DEVICE then accept;
#if source = RTS_STATIC then accept;
if proto = "STATIC_OSPF" then accept;
#if proto = "STATIC_BGP" then accept;
# connected loopback ?
if source = RTS_STATIC_DEVICE then accept;
# kernel route
if source = RTS_INHERIT then accept;
# ospf route
if source = RTS_OSPF then accept;
else reject;
};
area 0.0.0.0 {
interface "eth0.1889" net4/29 {
cost 40;
type broadcast;
hello 1; dead 4;
};
interface "eth1.2508" net5/30 {
cost 40;
type broadcast;
hello 1; dead 10;
};
interface "greegw*" {
cost 500;
type pointopoint;
hello 1; dead 4;
};
};
}
function net_martian()
{
return net ~ [ 169.254.0.0/16+, 172.16.0.0/12+, 192.168.0.0/16+, 10.0.0.0/8+, 127.0.0.0/8+, 224.0.0.0/4+, 240.0.0.0/4+, 0.0.0.0/32-, 0.0.0.0/0{25,32}, 0.0.0.0/0{0,7}, 100.64.0.0/10+, 192.0.2.0/24+, 198.18.0.0/15+, 198.51.100.0/24+ ];
}
function net_local()
{
return net ~ [ net1/23{23,24}, net2/24, net3/23{23,24} ];
}
template bgp IBGP {
#debug all;
local as MYAS;
next hop self;
deterministic med on;
med metric on;
source address 195.x.y.z1;
password "gfhjkmlkzbgp";
import all;
export filter {
# advertise our net
if proto = "STATIC_BGP" then {
print "STATIC_BGP accepted: ", net;
accept;
}
# advertise eBGP
if source = RTS_BGP then accept;
else reject;
};
}
protocol bgp bgp_egw2 from IBGP { neighbor 195.x.y.z2 as MYAS; }
protocol bgp bgp_egw4 from IBGP { neighbor 195.x.y.z4 as MYAS; }
filter f_megacom_in {
# deny IN net_martian and net_local
if ( net_martian() || net_local() ) then reject;
# deny as path > 64
if bgp_path.len > 64 then reject;
accept;
}
filter f_megacom_out {
# advertise net_local
if ( net_local() ) then
{
bgp_path.prepend(MYAS);
bgp_path.prepend(MYAS);
accept;
}
reject;
}
protocol bgp bgp_megacom {
local as MYAS;
neighbor 194.x.y.z as 44587;
description "Megacom";
default bgp_local_pref 100;
deterministic med on;
med metric on;
export filter f_megacom_out;
import filter f_megacom_in;
# bfd on;
filter f_avantel_in {
if ( net_martian() || net_local() ) then reject;
if bgp_path.len > 64 then reject;
if ( bgp_path ~ [= 25549 3216 * =] ) then
{
bgp_local_pref = 50;
accept;
}
if ( bgp_path ~ [= * 43154 * =] || bgp_path ~ [= * 42304 =] ) then
{
bgp_local_pref = 300;
accept;
}
if ( bgp_path ~ [= * 64530 * =] || bgp_path ~ [= * 39785 * =] ) then reject;
if ( bgp_path ~ [= 25549 20485 * =] ) then
{
bgp_local_pref = 50;
accept;
}
if ( bgp_path ~ [= 25549 9002 * =] ) then
{
bgp_path.delete(25549);
accept;
}
accept;
}
filter f_avantel_out {
# advertise net_local
if ( net_local() ) then
{
# KRS-IX community 0:49039 13002:4130 64512:51220 64512:51240 64512:51370 64512:51380 64512:51470 64512:51480
bgp_community.add ((0,49039));
bgp_community.add ((13002,4130));
bgp_community.add ((64512,51220));
bgp_community.add ((64512,51240));
bgp_community.add ((64512,51370));
bgp_community.add ((64512,51380));
bgp_community.add ((64512,51470));
bgp_community.add ((64512,51480));
bgp_path.prepend(MYAS);
bgp_path.prepend(MYAS);
bgp_path.prepend(MYAS);
accept;
}
reject;
}
protocol bgp bgp_avantel {
local as MYAS;
neighbor 195.x.y.z as 25549;
default bgp_local_pref 100;
deterministic med on;
med metric on;
export filter f_avantel_out;
import filter f_avantel_in;
}
-------------- next part --------------
2015-10-26 13:13:13 <TRACE> ospf_area0: Inactivity timer expired for nbr 195.x.y.z4 on eth0.1889
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 changed state from Full to Down
2015-10-26 13:13:13 <TRACE> ospf_area0: Interface eth0.1889 changed state from DROther to Backup
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 removed
2015-10-26 13:13:13 <TRACE> ospf_area0: New neighbor 195.x.y.z4 on eth0.1889, IP address 195.93.186.4
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 changed state from Down to Init
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 changed state from Init to 2-Way
2015-10-26 13:13:13 <TRACE> ospf_area0: Interface eth0.1889 changed state from Backup to DROther
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 changed state from 2-Way to ExStart
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 changed state from ExStart to Exchange
2015-10-26 13:13:13 <TRACE> ospf_area0: Installing LSA: Type: 2001, Id: 195.x.y.z4, Rt: 195.x.y.z4, Seq: 80011c7b, Age: 1
2015-10-26 13:13:13 <TRACE> ospf_area0: Neighbor 195.x.y.z4 on eth0.1889 changed state from Exchange to Full
-------------- next part --------------
13:13:00.115279 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:00.231810 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:00.232016 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:01.116662 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:01.231893 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:01.232417 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:02.118306 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:02.232052 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:02.232398 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:03.119501 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:03.232176 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:03.232552 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:04.121794 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:04.232262 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:04.232536 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:05.123453 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:05.232427 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:05.232673 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:06.087822 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:06.232643 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:06.232939 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:07.091184 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:07.232742 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:07.233117 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:08.093182 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:08.232961 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:08.233170 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:09.233079 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:09.233201 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:09.233367 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:10.234281 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:10.234639 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:10.236066 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:11.235053 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:11.235458 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:12.236082 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:12.236285 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:13.077911 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:13.078186 IP 195.x.y.z1 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:13.086452 IP 195.x.y.z1 > 195.x.y.z4: OSPFv2, Database Description, length 32
13:13:13.087167 IP 195.x.y.z4 > 195.x.y.z1: OSPFv2, Database Description, length 32
13:13:13.087212 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, LS-Update, length 112
13:13:13.087256 IP 195.x.y.z1 > 195.x.y.z4: OSPFv2, Database Description, length 1472
13:13:13.088448 IP 195.x.y.z4 > 195.x.y.z1: OSPFv2, Database Description, length 1472
13:13:13.088492 IP 195.x.y.z1 > 195.x.y.z4: OSPFv2, Database Description, length 1472
13:13:13.089051 IP 195.x.y.z4 > 195.x.y.z1: OSPFv2, Database Description, length 152
13:13:13.089089 IP 195.x.y.z1 > 195.x.y.z4: OSPFv2, Database Description, length 572
13:13:13.090053 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, LS-Update, length 1468
13:13:13.090067 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, LS-Update, length 364
13:13:13.236373 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, Hello, length 52
13:13:13.236403 IP 195.x.y.z2 > 224.0.0.5: OSPFv2, LS-Ack, length 984
13:13:13.236589 IP 195.x.y.z4 > 224.0.0.5: OSPFv2, Hello, length 52
More information about the Bird-users
mailing list