xfrm: Stop using dst->next in bundle construction.
authorDavid Miller <davem@davemloft.net>
Tue, 28 Nov 2017 20:41:01 +0000 (15:41 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Nov 2017 14:54:27 +0000 (09:54 -0500)
commit5492093dc4160d150890bc848c26ba7f8fff3094
treedc760d6803315b9f62e0b90572c7cb47988b6f56
parent8b207e7374c244484d6cb0f0e80ae400ce0ec0cf
xfrm: Stop using dst->next in bundle construction.

While building ipsec bundles, blocks of xfrm dsts are linked together
using dst->next from bottom to the top.

The only thing this is used for is initializing the pmtu values of the
xfrm stack, and for updating the mtu values at xfrm_bundle_ok() time.

The bundle pmtu entries must be processed in this order so that pmtu
values lower in the stack of routes can propagate up to the higher
ones.

Avoid using dst->next by simply maintaining an array of dst pointers
as we already do for the xfrm_state objects when building the bundle.

Signed-off-by: David S. Miller <davem@davemloft.net>
Reviewed-by: Eric Dumazet <edumazet@google.com>
net/xfrm/xfrm_policy.c