On Tue, Nov 10, 2009 at 03:40:53PM +0200, Eugene Perevyazko wrote:
On Tue, Nov 10, 2009 at 01:34:18PM +0200, Eugene Perevyazko wrote:
On Mon, Nov 09, 2009 at 07:10:17PM +0100, Ondrej Zajicek wrote:
On Mon, Nov 09, 2009 at 07:57:01PM +0200, Eugene Perevyazko wrote:
Now I see that async alien routes are added, but not deleted. They are deleted only on rescan. Is sysdep/bsd/krt.c missing something related to async deleting of alien routes or is the patch faulty in some way?
Hmm, i don't know. It is possible that async deletion event handling is not implemented in BSD code.
I've traced the problem down to this condition in krt_read_rt() in sysdep/bsd/krt-sock.c: if (!(flags & RTF_UP)) { DBG("Down.\n"); return; } Shouldn't it be !(flags & RTF_DONE) ? Or maybe even check rtm.errno first?
Well, I'm getting deeper understanding how this stuff works :) This is my current version of the patch, that looks like works in both async learn and scan modes.
Hello Thank you for the patch. I finally dared to rewrite parts of BSD kernel syncing code to make it more featureful and implement proper importing of alien routes. I used slightly different approach (checking RTF_PROTO1 flag instead of PID, because of we want to have a proper cleanup of our routes even when BIRD crashed and is restarted.), so i used just a half of our patch (RTF_UP/RTF_DONE flag handling). Are you using BIRD with PPP access-server on FreeBSD, as you wrote in the original e-mail? What flags have the routes added by the PPP daemon? -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."