aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2010-03-01 21:51:56 -0500
committerDavid S. Miller <davem@davemloft.net>2010-03-03 04:04:37 -0500
commit87c1e12b5eeb7b30b4b41291bef8e0b41fc3dde9 (patch)
tree4e30c4d60c21ab5e0346648ed852258a96265288 /include
parent3a5b27bf6f29574d667230c7e76e4b83fe3014e0 (diff)
ipsec: Fix bogus bundle flowi
When I merged the bundle creation code, I introduced a bogus flowi value in the bundle. Instead of getting from the caller, it was instead set to the flow in the route object, which is totally different. The end result is that the bundles we created never match, and we instead end up with an ever growing bundle list. Thanks to Jamal for find this problem. Reported-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: Steffen Klassert <steffen.klassert@secunet.com> Acked-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/xfrm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index a7df3275b860..d74e080ba6c9 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -275,7 +275,8 @@ struct xfrm_policy_afinfo {
275 struct dst_entry *dst, 275 struct dst_entry *dst,
276 int nfheader_len); 276 int nfheader_len);
277 int (*fill_dst)(struct xfrm_dst *xdst, 277 int (*fill_dst)(struct xfrm_dst *xdst,
278 struct net_device *dev); 278 struct net_device *dev,
279 struct flowi *fl);
279}; 280};
280 281
281extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo); 282extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo);