diff options
author | Masahide NAKAMURA <nakam@linux-ipv6.org> | 2006-09-22 18:05:15 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-09-22 18:05:15 -0400 |
commit | 7e49e6de30efa716614e280d97963c570f3acf29 (patch) | |
tree | 8eaef9d40300d16a7675722e082c5d8ab2a53d40 /net/ipv4/ipcomp.c | |
parent | 77d16f450ae0452d7d4b009f78debb1294fb435c (diff) |
[XFRM]: Add XFRM_MODE_xxx for future use.
Transformation mode is used as either IPsec transport or tunnel.
It is required to add two more items, route optimization and inbound trigger
for Mobile IPv6.
Based on MIPL2 kernel patch.
This patch was also written by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ipcomp.c')
-rw-r--r-- | net/ipv4/ipcomp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 5bb9c9f03fb6..17342430a843 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
@@ -176,7 +176,7 @@ static int ipcomp_output(struct xfrm_state *x, struct sk_buff *skb) | |||
176 | return 0; | 176 | return 0; |
177 | 177 | ||
178 | out_ok: | 178 | out_ok: |
179 | if (x->props.mode) | 179 | if (x->props.mode == XFRM_MODE_TUNNEL) |
180 | ip_send_check(iph); | 180 | ip_send_check(iph); |
181 | return 0; | 181 | return 0; |
182 | } | 182 | } |
@@ -216,7 +216,7 @@ static struct xfrm_state *ipcomp_tunnel_create(struct xfrm_state *x) | |||
216 | t->id.daddr.a4 = x->id.daddr.a4; | 216 | t->id.daddr.a4 = x->id.daddr.a4; |
217 | memcpy(&t->sel, &x->sel, sizeof(t->sel)); | 217 | memcpy(&t->sel, &x->sel, sizeof(t->sel)); |
218 | t->props.family = AF_INET; | 218 | t->props.family = AF_INET; |
219 | t->props.mode = 1; | 219 | t->props.mode = XFRM_MODE_TUNNEL; |
220 | t->props.saddr.a4 = x->props.saddr.a4; | 220 | t->props.saddr.a4 = x->props.saddr.a4; |
221 | t->props.flags = x->props.flags; | 221 | t->props.flags = x->props.flags; |
222 | 222 | ||
@@ -416,7 +416,7 @@ static int ipcomp_init_state(struct xfrm_state *x) | |||
416 | goto out; | 416 | goto out; |
417 | 417 | ||
418 | x->props.header_len = 0; | 418 | x->props.header_len = 0; |
419 | if (x->props.mode) | 419 | if (x->props.mode == XFRM_MODE_TUNNEL) |
420 | x->props.header_len += sizeof(struct iphdr); | 420 | x->props.header_len += sizeof(struct iphdr); |
421 | 421 | ||
422 | mutex_lock(&ipcomp_resource_mutex); | 422 | mutex_lock(&ipcomp_resource_mutex); |
@@ -428,7 +428,7 @@ static int ipcomp_init_state(struct xfrm_state *x) | |||
428 | goto error; | 428 | goto error; |
429 | mutex_unlock(&ipcomp_resource_mutex); | 429 | mutex_unlock(&ipcomp_resource_mutex); |
430 | 430 | ||
431 | if (x->props.mode) { | 431 | if (x->props.mode == XFRM_MODE_TUNNEL) { |
432 | err = ipcomp_tunnel_attach(x); | 432 | err = ipcomp_tunnel_attach(x); |
433 | if (err) | 433 | if (err) |
434 | goto error_tunnel; | 434 | goto error_tunnel; |