summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2004-07-09 21:53:57 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-07-09 21:53:57 -0700
commit01124b4fb8a459aa40de919c481f8f0558c7aa5c (patch)
tree70e935e078c95d93bb8e95938713f86c82f4d288 /include
parent04bb22c21f845e79e8f5753662810d9d4beb95d6 (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.h1
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);