On Wed, 2005-14-12 at 16:48 -0800, David S. Miller wrote: > Please have a look at: > > http://bugzilla.kernel.org/show_bug.cgi?id=4952 > > It should look familiar.
It is - the soup nazi got involved on that bug ;-> http://marc.theaimsgroup.com/?l=linux-netdev&m=113070963711648&w=2 > We were discussing this in depth a few weeks ago, but the > discussion tailed off and I don't know how close we came > to a consensus or what that consensus might be :-) > it sort of is still hanging but there is progress. > The crux of the matter, to reiterate, is that it is a non-trivial > problem to determine what existing SA entries are subsumed by a > newly inserted one. The kernel would need to execute a rather > complicated search in order to determine this SA set. Right - Herbert has some ideas that would require help from the KM. And we are actually agreeing we should implement a minimalist approach. More below .. > The subsequent argument states that actually, unlike the kernel, > the keying daemon does have some knowledge about what a new > SA entry might be replacing. And therefore, that userland > daemons such as racoon bear some responsibility in assisting > in the smooth and efficient switchover from the dying state > entry to the newly inserted SA. > > Any comments or corrections on this? correct with caveats: there are two sorts of problematic devices. 1) The Ciscos, I think PIX and their relatives (I heard linksys): These suckers have a "fixed" time between soft expiry time and hard expiry time;-> IKE only negotiates hard expiry, and soft expiry is up to the peer. Racoon says soft expiry = 80% of hard expiry. So if you have the expiry at 10 hours, racoon will set soft expiry at 8 hours. CISCO hardcodes 30 seconds to be between the hard and soft expiry ;-> Yep, when you have RFCs written in a natural language like English shit like this happens. So at the 8 hour mark, racoon renegotiates. For 30 seconds more after that, things continue working. Then for the next 119.5 minutes nothing works because infact CISCO purges its old SA and Linux (as it should) starts using the new one. The proper way is for CISCO to send a IKE delete; it doesnt. To fix this i submitted a patch to racoon which is in their CVS - i was told it will show up around their release 0.7. The patch allows people to hardcode like in cisco a specific time. So this fixes the CISCO problem without touching the kernel. 2) There are other sorts of devices - i am told some made by a vendor called DrayTek infact deletes right away after renegotiation. But they do send a IKE delete except racoon ignores it ;-> As was pointed out to me that even since IKEv1 is unreliable such a message could be lost anyways. So bug in racoon for sure but not good enough given the unreliability of IKEv1. So in the last discussion Herbert and I had we talked about doing something in the kernel since this was getting frustrating ... Herbert has it on his TODO and i was going to get racoon part once he has his patch. cheers, jamal - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html