diff options
| author | Herbert Xu <herbert@gondor.apana.org.au> | 2004-07-09 21:53:57 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-07-09 21:53:57 -0700 |
| commit | 01124b4fb8a459aa40de919c481f8f0558c7aa5c (patch) | |
| tree | 70e935e078c95d93bb8e95938713f86c82f4d288 /include | |
| parent | 04bb22c21f845e79e8f5753662810d9d4beb95d6 (diff) | |
[IPSEC]: Move generic encap code into xfrm4_output
I've finally finished merging the general encapsulation code for IPv4.
Here is the patch.
The idea is basically to make x->type->output similar in structure to
x->type->input. That means moving the tunnel encapsulation and other
generic code out.
They have ended up in xfrm4_output.c.
The advantage of this is that we have exactly one copy of the tunnel
encapsulation code. So if we need to change it (e.g., set the TTL
according to the route) then it's easier and less error-prone.
In fact, in doing so I've already noticed that the ECN wasn't being
copied correctly in everything except xfrm4_tunnel.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@redhat.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/xfrm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index c36a3aed38c2..6bb10bde3fc2 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -818,6 +818,7 @@ extern void xfrm_replay_advance(struct xfrm_state *x, u32 seq); extern int xfrm_check_selectors(struct xfrm_state **x, int n, struct flowi *fl); extern int xfrm_state_check(struct xfrm_state *x, struct sk_buff *skb); extern int xfrm4_rcv(struct sk_buff *skb); +extern int xfrm4_output(struct sk_buff **pskb); extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler); extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler); extern int xfrm4_tunnel_check_size(struct sk_buff *skb); |
