From: "Tom Lendacky" [off-list ref]
Date: Tue, 17 Jun 2003 11:26:55 -0500
In prep for coding this up I deleted the "x->u.rt.fl = *fl;" line
and then I noticed that (at least in my configuration) that the
rt6->rt6i_src address and prefix length in the xfrm_dst structure
are always zero.
Well, of course. There is nothing initializing this.
You have to replace the x->u.rt.fl = *fl line with
assignments further down to rt6i_src and friends.
Something like:
x->u.rt6.rt6i_src = rt0->rt6i_src;
etc. etc.
I don't understand where you expected these assignments
to be made. This is where the objects get constructed, so
if it isn't being set here, it is being set nowhere :-)