Hello list,
I'm a new in Bird word :).
I'm working on a Bird mock-up. I'm actually blocked on OSPF filters.
OSPF conf for First Router:
protocol ospf OSPF {
import filter NFRANCE_OSPF_IN;
export filter NFRANCE_OSPF_OUT;
rfc1583compat yes;
area 0 {
interface "xn1" {
type broadcast;
};
interface "xn2" {
stub;
};
};
};
OSPF conf for Second Router:
protocol ospf OSPF {
import filter NFRANCE_OSPF_IN;
export filter NFRANCE_OSPF_OUT;
rfc1583compat yes;
area 0 {
interface "xn1" {
type broadcast;
};
interface "xn2" {
stub;
};
};
};
Filters:
filter NFRANCE_OSPF_IN {
then
{
print net, " is accepted => OSPF_IN Public Nfrance";
accept;
}
then
{
print net, " is accepted => OSPF_IN Interco /30";
accept;
}
else
{
print net, " is rejected => non OSPF_IN compliant";
reject;
}
}
Export network
80.247.227.0/24 on router 1 is ok but Import on the another router is KO.
Indeed,
80.247.227.0/24 is rejected by the OSPF neighbor filter rule
NFRANCE_OSPF_IN 2016-11-25 16:31:28 <INFO>
80.247.227.0/24 is rejected => non OSPF_IN compliant
If I use the condition:
if net ~ [80.247.224.0/20{24,32}] without
&& (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ])80.247.227.0/24 is accepted by the OSPF neighbor filter rule
NFRANCE_OSPF_IN 2016-11-25 16:42:18 <INFO>
80.247.227.0/24 is accepted => OSPF_IN Public Nfrance
And when I check the bird route when network is accepted, I can see "OSPF"
bird> show route
0.0.0.0/0 via 192.168.0.254 on xn0 [kernel1 16:35:00] * (10)
80.247.227.0/24 via 172.16.51.4 on xn1 [OSPF 16:42:18] * I (150/20) [192.168.0.223] bird>
So I don't understand why && (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ]) does not match when the rule is added to my filter ?
I use FreeBSD 10, Is there an issue on FBSD regarding RTS_* ?