Hello all - I'm working on an ifstated(8) port from OpenBSD for post release - its basically pretty straightforward but requires a minor tweak to the kernel routing socket interface which allows setsockopt() to filter on specific routing events - which is then used via the kevent interface to poll for interface changes.
Reviewing our sources I recall that the routing code has been heavily parallelized - so instead of a single 'route_input' function, there is a rts_input_skip and rts_input_handler function - As the openbsd code does the filtering in the route_input function - I'm wondering where I should graft the appropriate filtering in our copy - it seems like rts_input_handler to me - but, I am not 100% Other related misc: - anyone tested our carp(4) lately? - anyone familiar with what the 'multiple routing tables' in the openbsd code is used for? my thoughts are this is for their other routing daemons but I haven't had a chance to track it down. probably wouldn't be too much to port this stuff over as well so it's on my radar as such. My thoughts are with ifstated+scripts+hammer+carp it should be possible to make a pretty nifty HA cluster even before multi-master hammer - so I'm trying to pull this over to test. woooohoo. Cheers, - Chris
