diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-10-10 18:45:25 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:55:55 -0400 |
commit | 87bdc48d304191313203df9b98d783e1ab5a55ab (patch) | |
tree | 32f7bfb3a5fa7fe373f11e0ddadd95b6bcd9bd4f /include/net | |
parent | 37fedd3aab6517daec628764c5d66dd8761fbe5f (diff) |
[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr
This patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since
they're identical to the IPv4 versions. Duplicating them would only create
problems for ourselves later when we need to add things like extended
sequence numbers.
I've also added transport header type conversion headers for these types
which are now used by the transforms.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ah.h | 7 | ||||
-rw-r--r-- | include/net/esp.h | 7 | ||||
-rw-r--r-- | include/net/ipcomp.h | 11 |
3 files changed, 24 insertions, 1 deletions
diff --git a/include/net/ah.h b/include/net/ah.h index 5e758c2b5dd5..ae1c322f4242 100644 --- a/include/net/ah.h +++ b/include/net/ah.h | |||
@@ -38,4 +38,11 @@ out: | |||
38 | return err; | 38 | return err; |
39 | } | 39 | } |
40 | 40 | ||
41 | struct ip_auth_hdr; | ||
42 | |||
43 | static inline struct ip_auth_hdr *ip_auth_hdr(const struct sk_buff *skb) | ||
44 | { | ||
45 | return (struct ip_auth_hdr *)skb_transport_header(skb); | ||
46 | } | ||
47 | |||
41 | #endif | 48 | #endif |
diff --git a/include/net/esp.h b/include/net/esp.h index e793d769430e..c1bc529809da 100644 --- a/include/net/esp.h +++ b/include/net/esp.h | |||
@@ -53,4 +53,11 @@ static inline int esp_mac_digest(struct esp_data *esp, struct sk_buff *skb, | |||
53 | return crypto_hash_final(&desc, esp->auth.work_icv); | 53 | return crypto_hash_final(&desc, esp->auth.work_icv); |
54 | } | 54 | } |
55 | 55 | ||
56 | struct ip_esp_hdr; | ||
57 | |||
58 | static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb) | ||
59 | { | ||
60 | return (struct ip_esp_hdr *)skb_transport_header(skb); | ||
61 | } | ||
62 | |||
56 | #endif | 63 | #endif |
diff --git a/include/net/ipcomp.h b/include/net/ipcomp.h index 87c1af3e5e82..330b74e813a9 100644 --- a/include/net/ipcomp.h +++ b/include/net/ipcomp.h | |||
@@ -1,14 +1,23 @@ | |||
1 | #ifndef _NET_IPCOMP_H | 1 | #ifndef _NET_IPCOMP_H |
2 | #define _NET_IPCOMP_H | 2 | #define _NET_IPCOMP_H |
3 | 3 | ||
4 | #include <linux/crypto.h> | ||
5 | #include <linux/types.h> | 4 | #include <linux/types.h> |
6 | 5 | ||
7 | #define IPCOMP_SCRATCH_SIZE 65400 | 6 | #define IPCOMP_SCRATCH_SIZE 65400 |
8 | 7 | ||
8 | struct crypto_comp; | ||
9 | |||
9 | struct ipcomp_data { | 10 | struct ipcomp_data { |
10 | u16 threshold; | 11 | u16 threshold; |
11 | struct crypto_comp **tfms; | 12 | struct crypto_comp **tfms; |
12 | }; | 13 | }; |
13 | 14 | ||
15 | struct ip_comp_hdr; | ||
16 | struct sk_buff; | ||
17 | |||
18 | static inline struct ip_comp_hdr *ip_comp_hdr(const struct sk_buff *skb) | ||
19 | { | ||
20 | return (struct ip_comp_hdr *)skb_transport_header(skb); | ||
21 | } | ||
22 | |||
14 | #endif | 23 | #endif |