bird rip question

Miklós Máté mate at tmit.bme.hu
Fri Oct 6 16:05:28 CEST 2023


Hi,

I'm trying to set up BIRD to demonstrate RIP in a Mininet environment, 
but it doesn't seem to work. I'm using the attached configs. The OSPF 
one works properly, but with RIP it only sends a Request message on 
startup, and then nothing. According to the log the Request is received 
properly, but no Response is sent, and the periodic timer doesn't do 
anything either.

This is the stderr log on node B when I start BIRD on the neighboring 
node A:

2023-10-06 15:50:03.951 <TRACE> rip1: New neighbor 10.0.1.1 on ethBA
2023-10-06 15:50:03.951 <TRACE> rip1: Request received from 10.0.1.1 on 
ethBA
2023-10-06 15:50:12.156 <TRACE> rip1: Interface timer fired for ethBA
2023-10-06 15:50:12.156 <TRACE> rip1: Sending regular updates for ethBA
2023-10-06 15:50:12.453 <TRACE> rip1: Interface timer fired for ethBC
2023-10-06 15:50:12.453 <TRACE> rip1: Sending regular updates for ethBC
2023-10-06 15:50:13.163 <TRACE> device1: Scanning interfaces
2023-10-06 15:50:18.163 <TRACE> device1: Scanning interfaces
2023-10-06 15:50:18.163 <TRACE> kernel1: Scanning routing table
2023-10-06 15:50:18.163 <TRACE> kernel1: Pruning table master4
2023-10-06 15:50:18.163 <TRACE> kernel1: Pruning inherited routes
2023-10-06 15:50:22.156 <TRACE> rip1: Interface timer fired for ethBA
2023-10-06 15:50:22.156 <TRACE> rip1: Sending regular updates for ethBA
2023-10-06 15:50:22.453 <TRACE> rip1: Interface timer fired for ethBC
2023-10-06 15:50:22.453 <TRACE> rip1: Sending regular updates for ethBC

I'm completely out of ideas. The sample configs don't have anything that 
is not in my config. What am I missing?

Regards,
Miklós Máté

-- 
#!/usr/bin/perl
m:[A-Z]:?@;:@?=(@;=>$_)for(split$,,[A-Z]);push@@,lc(pack(
q=c*==>ord($;[$[+1])-chr(ord@;)));$_?${@}[++$#{@}]:$,=chr
(ord($@[$^W])-($#{y-++--;qq,;,}>>$_))for(0,1);print@@=>$/
-------------- next part --------------
# start as bird -c bird_ospf.conf -s bird_na.socket -f

log stderr all;


protocol kernel {
    scan time 15;
    learn;
    persist;
    ipv4 {
        import all;
        export all;
    };
}

protocol device {
    scan time 10;
}

protocol ospf {
    ipv4 {
        import all;
        export all;
    };
    # only define a backbone area
    area 0.0.0.0 {
        interface "eth*" {
            cost 5;
            type broadcast;
            hello 5; retransmit 2; wait 10; dead 20;
        };
    };
}
-------------- next part --------------
# start as bird -c bird_rip.conf -s bird_na.socket -f

log stderr all;

debug protocols all;

protocol kernel {
    scan time 15;
    learn;
    persist;
    ipv4 {
        import all;
        export all;
    };
}

protocol device {
    scan time 10;
}


# TODO why doesn't this work?
protocol rip {
    ipv4 {
        import all;
        export all;
        #export where source ~ [ RTS_DEVICE, RTS_STATIC, RTS_RIP ];
    };
    interface "eth*" {
        version 2;
        #mode broadcast;
        update time 10;
        timeout time 60;
        #split horizon on;

    };
}




More information about the Bird-users mailing list