Broadcast RIP to each broadcast address on interface with multiple aliases

bird21 at sensation.net.au bird21 at sensation.net.au
Mon Oct 18 18:38:47 CEST 2021


Hi all,

I want to broadcast a last-resort old-school default route via RIPv1. The 
following config works:

filter default_route {
   if net ~ [ 0.0.0.0/0 ] then {
     accept;
   }
   reject;
}
# ...snip...
protocol rip {
     export filter default_route;
     interface "em0" {
        version 1;
        mode broadcast;
        update time 5;
     };
}

...but it only sends to the broadcast address of the main interface IP. 
How can I get it to send to the broadcast addresses of the aliases as 
well?

These are the networks on the em0 adapter:

x.x.x.192/28 (main)
192.168.x.0/24 (alias)
192.168.y.0/24 (alias)

After consulting https://bird.network.cz/doc/bird-3.html#proto-iface , I 
tried the following to force additional/different addresses:

interface x.x.x.193/28 {  # actual interface IP/prefix

interface x.x.x.192/28 {  # network IP/prefix

interface x.x.x.x {  # interface IP only

interface "em0" x.x.x.x {  # interface name and IP

interface "em0" x.x.x.x/28 {  # interface name and IP/prefix

All of these are rejected with the error "Interface name/mask expected, 
not IP prefix", regardless of whether I list the main interface IP, or 
main plus aliases (comma separated).

Am I missing something simple in the syntax, or is the RIPv1 
implementation not capable of doing this?

Thanks in advance.



More information about the Bird-users mailing list