I finally got around to fixing the "ip_finish_output2: No header cache and no neighbour!" problem reported by Andi Kleen. Instead of rerouting the packet in POST_ROUTING, we reuse the original route for the xfrm_lookup. This introduces a small restriction (see changelog entry), but I think it should work. Herbert, do you see any problems with this patch?