git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
patch-2_6_7-vs1_9_1_12
[linux-2.6.git]
/
net
/
ipv6
/
xfrm6_policy.c
diff --git
a/net/ipv6/xfrm6_policy.c
b/net/ipv6/xfrm6_policy.c
index
740fb1a
..
1041ef9
100644
(file)
--- a/
net/ipv6/xfrm6_policy.c
+++ b/
net/ipv6/xfrm6_policy.c
@@
-107,7
+107,6
@@
__xfrm6_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
goto error;
}
goto error;
}
- dst1->xfrm = xfrm[i];
if (!dst)
dst = dst1;
else {
if (!dst)
dst = dst1;
else {
@@
-139,9
+138,11
@@
__xfrm6_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
dst_hold(&rt->u.dst);
}
dst_prev->child = &rt->u.dst;
dst_hold(&rt->u.dst);
}
dst_prev->child = &rt->u.dst;
+ i = 0;
for (dst_prev = dst; dst_prev != &rt->u.dst; dst_prev = dst_prev->child) {
struct xfrm_dst *x = (struct xfrm_dst*)dst_prev;
for (dst_prev = dst; dst_prev != &rt->u.dst; dst_prev = dst_prev->child) {
struct xfrm_dst *x = (struct xfrm_dst*)dst_prev;
+ dst_prev->xfrm = xfrm[i++];
dst_prev->dev = rt->u.dst.dev;
if (rt->u.dst.dev)
dev_hold(rt->u.dst.dev);
dst_prev->dev = rt->u.dst.dev;
if (rt->u.dst.dev)
dev_hold(rt->u.dst.dev);
@@
-236,10
+237,10
@@
static void xfrm6_update_pmtu(struct dst_entry *dst, u32 mtu)
{
struct dst_entry *path = dst->path;
{
struct dst_entry *path = dst->path;
- if (mtu >=
1280
&& mtu < dst_pmtu(dst))
-
return
;
-
-
path->ops->update_pmtu(path, mtu)
;
+ if (mtu >=
IPV6_MIN_MTU
&& mtu < dst_pmtu(dst))
+
path->ops->update_pmtu(path, mtu)
;
+
+
return
;
}
struct dst_ops xfrm6_dst_ops = {
}
struct dst_ops xfrm6_dst_ops = {