Package: bird
Version: 1.0.11-4

Hi,
i am having an anycast scenario where the linux box announces a single
host route via rip. The route should be withdrawn as soon as the service
stops. I implemented this via the "direct" protocol and simply shutting
the interface lo:1.

I can reliably let bird (and birdc) hang when ifup/ifdowning the
interface a bit. 

Default etch kernel linux-image-2.6.18-4-486.

[EMAIL PROTECTED]:~# bird -d -D file
bird: Guessed router ID 192.168.220.69 according to interface eth0
bird: Filter <NULL> did not return accept nor reject. Make up your mind
bird: Filter <NULL> did not return accept nor reject. Make up your mind
bird: nl_get_reply: Ignoring out of sequence netlink packet (4671898b != 
4671898c)

That was the message when the interface came up. stracing bird
shows its hanging in "recvmsg". Backtrace seems a little bit
corrupt.

[EMAIL PROTECTED]:~# gdb --pid 23501
[...]
0xb7e8179c in recvmsg () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb7e8179c in recvmsg () from /lib/tls/libc.so.6
#1  0x080787e9 in ?? ()
#2  0x00000005 in ?? ()
#3  0xbfda15b0 in ?? ()
#4  0x00000000 in ?? ()


Interface config when up:

lo:1      Link encap:Local Loopback
          inet addr:10.0.250.99  Mask:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1


Here is my config:

filter anycast {
        if net ~ 10.0.250.96/27 then accept;
        else reject;
}

filter nodef {
        if 0.0.0.0/0 ~ net then reject;
        else accept;
}

# Export all anycasts learned from the network (failover will be quicker)
protocol kernel {
        learn;                  # Learn all alien routes from the kernel
        scan time 2;            # Scan kernel routing table every 20 seconds
        export filter anycast;
        import none;
}

# Import only direct interfaces if they match anycast routes
protocol direct {
        interface "lo";
        import filter anycast;
}

protocol device {
        scan time 2;            # Scan interfaces every 10 seconds
}

# Import all routes (we see the pools in birds internals) but export
# only anycasts (otherwise we'll see defaults)
protocol rip localrip {
        interface "*" { mode broadcast; };
        honor neighbor;
        authentication none;
        import filter { if net.len > 20 then accept; };
        export filter anycast;
}

Flo
-- 
Florian Lohoff                  [EMAIL PROTECTED]             +49-171-2280134
        Those who would give up a little freedom to get a little 
          security shall soon have neither - Benjamin Franklin

Attachment: signature.asc
Description: Digital signature

Reply via email to