ifstated(8) port from openbsd

Chris Turner c.turner at 199technologies.com
Mon Apr 11 23:32:27 PDT 2011


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





More information about the Kernel mailing list