Following up my message from a few days ago. Even the simplest possible
config causes a syntax error, despite the interface directive being a
sample copied straight from the docs. I tried bird.conf with ONLY these 3
lines:
protocol rip {
interface -192.168.1.0/24, 192.168.0.0/16; # from
https://bird.network.cz/doc/bird-3.html#proto-iface
}
bird: /usr/local/etc/bird.conf:2:42 Interface name/mask expected, not IP
prefix
Is this a bug (in either code or docs), or is the interface directive
different for RIP? I'm using FreeBSD 12.2 and bird 1.6.8
Thanks.
On Tue, 19 Oct 2021, [email protected] wrote:
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.