I'm having a bit of an issue with OpenOSPFd on 4.7 running on i386 hardware.
The gist of the problem is that it seems that changes to the kernel
routing table and/or interfaces are not being synchronized into the
OSPF RIB and LSDB.
As an example, I have a CARP interface called "carp17" that is
configured in /etc/ospfd.conf, and routed like so:
# ifconfig carp17
carp17: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:5e:00:01:11
description: Foobarbaz CARP
priority: 0
carp: BACKUP carpdev vlan17 vhid 17 advbase 1 advskew 100
groups: carp
inet6 fe80::200:5eff:fe00:111%carp17 prefixlen 64 scopeid 0x2f
inet X.X.186.161 netmask 0xfffffff0 broadcast X.X.186.175
# netstat -rn | grep X.X.186.160 | grep carp
X.X.186.160/28 link#47 C 0 0 - 4 carp17
# ospfctl show fib | grep .186.160
C 4 X.X.186.160/28 link#47
*O 32 X.X.186.160/28 X.X.191.21
# ospfctl show rib | grep .186.160
X.X.186.160/28 X.X.191.21 Intra-Area Network 20 11:50:38
So, it's configured with the network X.X.186.160/28.
If I try and re-configure this to be a /29:
# ifconfig carp17 inet X.X.186.161 netmask 0xfffffff8
ospfd's FIB reflects the change:
# ospfctl show fib | grep 186.160
*O 32 X.X.186.160/28 X.X.191.21
C 4 X.X.186.160/29 link#47
But the RIB does not:
# ospfctl show rib | grep 186.160
X.X.186.160/28 X.X.191.21 Intra-Area Network 20 12:09:25
I've tried an "ospfctl fib reload" to no avail. The RIB still doesn't
reflect the change:
# ospfctl show rib | grep 186.160
X.X.186.160/28 X.X.191.21 Intra-Area Network 20 12:11:39
Is there something I could be missing or doing wrong? Should FIB
synchronization into OSPF work with 4.7?
I'm going off of the changelog and this mailinglist entry:
http://marc.info/?l=openbsd-misc&m=127616167503271
Cheers,
jof