IPv6 BGP segfault with bird 1.4.5

Baptiste Jonglez baptiste at bitsofnetworks.org
Tue Jan 20 11:14:54 CET 2015


Hi,

We've just encountered a very similar issue, in a DFZ setup.  The router
has a number of transit and peering peers.  We lost the layer 2
connectivity for most of these peers, which resulted in bird6 crashing
when it detected that the first peer was unreachable:

Jan 20 04:53:07 estran bird6: lyonix_sfr: Error: Hold timer expired

Jan 20 04:53:07 estran kernel: [208450.426908] bird6[5735]: segfault at 18 ip 00007ff06e5f6aa4 sp 00007fffd5dd0fe0 error 4 in bird6[7ff06e5eb000+74000]


At the same time, bird correctly walked over all unreachable peers and
didn't crash:

Jan 20 04:53:14 estran bird: lyonix_sfr: Error: Hold timer expired
Jan 20 04:53:25 estran bird: ipmax1: Error: Hold timer expired
Jan 20 04:53:51 estran bird: lyonix_rs2: Error: Hold timer expired
Jan 20 04:54:04 estran bird: ielo: Error: Hold timer expired


This is on Debian wheezy, with the bird package from wheezy-backports (Version : 1.4.5-1~bpo70+1)

BGP config is attached.  There isn't anything in the logs, other than the
two lines above.

Any idea?  We have three peerings in the same VLAN, but unlike Matthias,
the neighbours addresses are different.

On Mon, Jan 12, 2015 at 11:02:10PM +0100, Matthias Schiffer wrote:
> Hi,
> recently bird6 has been crashing quite often (several times a week) on
> one of our systems (I don't know why only one of two systems with very
> similar config is affected). Our config contains ~50 BGP peerings, the
> number of exchanged routes is about 100 in total.
> 
> I was able to get a core of the crash, it can be found at
> 
>     http://home.universe-factory.net/neoraider/bird6.core
> 
> 
> I've put the corresponding binary (with debug information) at
> 
>     http://home.universe-factory.net/neoraider/bird6
> 
> 
> bird was built on Arch Linux with GCC 4.9.2.
> 
> Please let me know if you need any more information...
> 
> Thanks in advance,
> Matthias
> 


-------------- next part --------------
/* Routes to announce */
protocol static static_bgp {
	route 2001:db8:0::/36 reject;
}


/* BGP templates */

function export_ebgp()
{
	reject_martians();
	accept_grenode();
	reject;
}

function import_ebgp()
{
	reject_martians();
	reject_within_grenode();
	accept;
}

template bgp ebgp_transit {
	local as my_as;
	preference 100;
	prefer older;
	import filter {
		krt_prefsrc = my_krt_prefsrc;
		import_ebgp();
	};
	export where export_ebgp();
}

template bgp ebgp_ix {
	local as my_as;
	preference 1000;
	prefer older;
	import filter {
		krt_prefsrc = my_krt_prefsrc;
		import_ebgp();
	};
	export where export_ebgp();
}



/* eBGP sessions (transits) */

protocol bgp transit1 from ebgp_transit {
	description "Transit 1";
	neighbor 2a02:2178:3:1c::1 as 29075;
	export filter {
		bgp_path.prepend(my_as);
		bgp_path.prepend(my_as);
		export_ebgp();
	};
}

/* Other transits... */


/* eBGP sessions (peering) */

protocol bgp lyonix_rs1 from ebgp_ix {
	description "Lyonix RS1";
	neighbor 2001:7f8:47:47::9 as 43100;
}

protocol bgp lyonix_rs2 from ebgp_ix {
	description "Lyonix RS2";
	neighbor 2001:7f8:47:47::5 as 43100;
}

protocol bgp lyonix_sfr from ebgp_ix {
	description "Peering SFR (Lyonix)";
	neighbor 2001:7f8:47:47::d as 15557;
}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20150120/54200509/attachment.asc>


More information about the Bird-users mailing list