Hi sorry to reply with a stupid question but I get this error;

[LIVE]root@mg1311:~# pkg_add -i symon
symon-2.86p0:libart-2.3.21: ok
symon-2.86p0:png-1.6.2p0: ok
Can't install rrdtool-1.2.30p3 because of libraries
|library freetype.20.0 not found
| not found anywhere
Direct dependencies for rrdtool-1.2.30p3 resolve to png-1.6.2p0 libart-2.3.21
Full dependency tree is png-1.6.2p0 libart-2.3.21
Can't install symon-2.86p0: can't resolve rrdtool-1.2.30p3

I've come across this issue of missing freetype in the OpenBSD sources before in older versions.


Anyway, I think you could be on the money as every time this has happened, it always happens just after seeing the message nexthop now valid.

We don't use nexthop-self on our cisco routers which are connected to Transits and IXPs. At the moment the OpenBSD routers only have iBGP neighborships with two cisco ABR routers (no eBGP transit or IXP connections, just internal AS). Thus the BGP nexthop networks (transit and IXP links) are redistributed to the internal OpenBSD routers by IGP (OSPF) to validate the BGP nexthops and provide BGP prefix independent convergence.

In most cases as far as I can remember, the penultimate message before the crash is the CARP partner's nexthop becoming valid.

Just to throw the question out there. iBGP should always be a full mesh (or use RRs etc), and so we run iBGP from both of the OpenBSD firewalls to every other router, and I also run iBGP between the CARP pair themselves too. Is the iBGP between the CARP pair really needed?? I'd imagine not as they are always active-backup and one should not be handing packets to the other etc.. (we only direct packets to the CARP addresses as they are running as both stateful firewalls *and* stateless routers, hence other posts here regarding trying to set the nexthop on BGP announcements to the CARP IPs).

Thanks for your thought Stuart.

Cheers, Andy.


On Wed 30 Apr 2014 04:14:55 BST, Stuart Henderson wrote:
On 2014-04-28, Andy <[email protected]> wrote:

Yea thats all I see in /var/log/messages ..

/var/log/daemon had;
2014-04-28T01:02:21.238360+01:00 mg1311 ospf6d[25154]: send_rtmsg: action 1, 
prefix ::/0: File exists
2014-04-28T01:02:22.048344+01:00 mg1311 ospfd[19386]: desync; scheduling fib 
reload
2014-04-28T01:02:32.518186+01:00 mg1311 ospfd[19386]: reloading interface list 
and routing table
2014-04-28T01:02:59.077656+01:00 mg1311 bgpd[18490]: nexthop 185.25.32.22 now 
valid: directly connected
2014-04-28T01:03:01.762457+01:00 mg1311 bgpd[18490]: dispatch_imsg in main: 
pipe closed
2014-04-28T01:03:01.762473+01:00 mg1311 bgpd[18490]: Lost child: route decision 
engine exited
2014-04-28T01:03:01.762756+01:00 mg1311 bgpd[18490]: kernel routing table 0 
(Loc-RIB) decoupled
2014-04-28T01:03:01.778424+01:00 mg1311 bgpd[18490]: Terminating

It had been up for about a month before this. bgpd on the carp backup
is still up and running fine and never dies.

It might be interesting to monitor memory use (symon is fairly good
for this), one failure mode is that bgpd can't handle nexthop revalidation
churn fast enough and the rde eats all memory (or at least runs into
login.conf datasize limits - make sure these are sufficiently high
if you haven't already done so). I don't remember all of the various ways
this can show up in logs, but what you're seeing here does ring a bell.

I work around this by only feeding a partial table to routers which are
particularly likely to suffer ospf churn ... not ideal but stability
improved a lot after doing that. (It used to happen more often but
there was a change in 5.2 which seriously reduced the situations that
trigger this).

It's always been the master that falls over. I might make the other
firewall the master and see if it still crashes on the same box.

Is there anyway I can increase the session engine logging?

There's bgpd_flags="-v" if you're not already using it - I'm not too
sure if it will actually give you any more information but worth a try.
Make sure syslogd does actually log the messages - I use memory buffer
logs for these,

syslogd_flags="-s /var/run/syslogd.sock"

with this the top of syslog.conf:

!!bgpd
*.*                                     :256:bgpd
daemon.info                             /var/log/daemon
!*

Reply via email to