On Thu, Apr 24, 2014 at 01:43:16PM +0200, Henning Brauer wrote:
> * Martin Pieuchot <mpieuc...@nolizard.org> [2014-04-24 13:24]:
> > This ifp pointer is only needed by rt_getifa() to find an address, so
> > make it a local variable.
> > 
> > The rtrequest1(9) change might introduce a negligible slowdown since
> > I remove the already known ifp pointer.  But this only happens in the
> > case described in the comment just before and I would bet because of
> > carp_setroute(), still nobody to fix this?  It's not better than
> > OpenSSL...
> > 
> > In the rtsock chunk, the two pointers are equivalent.
> > 
> > Ok?
> 
> yup.
> 
> the carp route fiddling is pretty damn mad, and with the route
> priorities and the ability to mark routes as down there should be a
> much cleaner way to do this these days.
> heck, the entire carp route fiddling needs to be reassesed. things
> changed, i can\t even fully remeber why it is there (i think it was
> about backup nodes still being able to reach a network only present on
> the carp if or the like), and i seem to remember it doesn't quite work
> as expected anyway, but don't take my word for it, memory REALLY fuzzy
> on that front.

Years ago mpf@ told me, that the purpose of this function is to ssh
from a carp master to a carp slave via the carp address.  Or was
it the other way around?

The carp_setroute() function starts with the encouraging comment
/* XXX this mess needs fixing */.  When switching carp states fast,
the routing table gets messed up.  In our product we removed all
calls to carp_setroute(sc, RTM_DELETE).  There is one carp_setroute(sc,
RTM_ADD) left.  I don't know wether it is needed.  I would recommend
to try to delete the whole function and fix fallout if any.

bluhm

Reply via email to