Multiple kernel protocols not working?

Jakub Wartak vnull at pcnet.com.pl
Sat May 14 20:14:51 CEST 2005


Hello group,

First many thanks for developers for clean & working piece of good software :)
But I'm struggling with getting multiple kernel tables to work.

root at xenomorph:/usr/local/etc# bird
14-05-2005 19:58:22 <TRACE> kernel1: Initializing
14-05-2005 19:58:22 <TRACE> kernel2: Initializing
14-05-2005 19:58:22 <TRACE> kernel1: Starting
14-05-2005 19:58:22 <TRACE> kernel1: State changed to feed
14-05-2005 19:58:22 <TRACE> kernel2: Starting
Segmentation fault (core dumped)

I don't know is this is a bug or some misconfiguration.
Here it is bird.conf, It is mainly taken from docs as you can see:

log stderr all;
table auxtable;
debug protocols all;

protocol kernel {               # Primary routing table
        debug all;
        learn;                  # Learn alien routes from the kernel
        persist;                # Don't remove routes on bird shutdown
        import all;
        export all;
}

protocol kernel {               # Secondary routing table
        debug all;
        table auxtable;
        kernel table 1;
        export all;
}

The system is a basic Slackware 10.1.

root at xenomorph:/usr/local/etc# uname -a
Linux xenomorph 2.4.29 #6 Thu Jan 20 16:30:37 PST 2005 i686 unknown unknown 
GNU/Linux

And here are the routing tables:

root at xenomorph:/usr/local/etc# ip ro ls table 1
80.51.8.128/26 dev eth0  proto kernel  scope link  src 80.51.8.166 
127.0.0.0/8 dev lo  scope link 
default via 80.51.8.129 dev eth0  metric 1 

root at xenomorph:/usr/local/etc# ip ro ls table main
80.51.8.128/26 dev eth0  proto kernel  scope link  src 80.51.8.166 
127.0.0.0/8 dev lo  scope link 
default via 80.51.8.129 dev eth0  metric 1 

I manually compiled bird from sources ( version 1.0.11 ) with:
CFLAGS="-g -ggdb -O0" ./configure --enable-debug && make && make install

Next i recopied the "bird" binary from sources again, because "make install" 
strips /usr/local/sbin/bird.

root at xenomorph:/usr/local/etc# file /usr/local/sbin/bird
/usr/local/sbin/bird: ELF 32-bit LSB executable, Intel 80386, version 1 
(SYSV), dynamically linked (uses shared libs), not stripped

root at xenomorph:/usr/local/etc# ldd /usr/local/sbin/bird
        libc.so.6 => /lib/libc.so.6 (0x4002d000)
        /lib/ld-linux.so.2 (0x40000000)

And here is a backtrace from gdb:

root at xenomorph:/usr/local/etc# gdb bird core 
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...Using host libthread_db 
library "/lib/libthread_db.so.1".

Core was generated by `bird'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0  0x080710af in tm_start (t=0x0, after=0) at io.c:186
186       if (t->randomize)
(gdb) bt
#0  0x080710af in tm_start (t=0x0, after=0) at io.c:186
#1  0x0807443c in krt_start (P=0x8091928) at krt.c:773
#2  0x0804da94 in proto_rethink_goal (p=0x8091928) at ../../nest/proto.c:402
#3  0x0804d92e in protos_commit (new=0x808a0b8, old=0x0, force_reconfig=0) 
at ../../nest/proto.c:359
#4  0x080706c6 in config_do_commit (c=0x808a0b8) at conf.c:202
#5  0x080707ab in config_commit (c=0x808a0b8) at conf.c:264
#6  0x08074d96 in read_config () at main.c:115
#7  0x08075570 in main (argc=1, argv=0xbffff704) at main.c:428


-- 
Jakub Wartak
vnull
FreeBSD/OpenBSD/Linux/Network Administrator



More information about the Bird-users mailing list