[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1509475333.3828.33.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Tue, 31 Oct 2017 11:42:13 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: [RFC v2 PATCH 06/11] xfrm: Move child route linkage into
xfrm_dst.
On Tue, 2017-10-31 at 23:10 +0900, David S. Miller wrote:
> XFRM bundle child chains look like this:
>
> xdst1 --> xdst2 --> xdst3 --> path_dst
>
> All of xdstN are xfrm_dst objects and xdst->u.dst.xfrm is non-NULL.
> The final child pointer in the chain, here called 'path_dst', is some
> other kind of route such as an ipv4 or ipv6 one.
>
> The xfrm output path pops routes, one at a time, via the child
> pointer, until we hit one which has a dst->xfrm pointer which
> is NULL.
>
> We can easily preserve the above mechanisms with child sitting
> only in the xfrm_dst structure. All children in the chain
> before we break out of the xfrm_output() loop have dst->xfrm
> non-NULL and are therefore xfrm_dst objects.
>
> Since we break out of the loop when we find dst->xfrm NULL, we
> will not try to dereference 'dst' as if it were an xfrm_dst.
>
> Signed-off-by: David S. Miller <davem@...emloft.net>
> ---
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists