diff options
Diffstat (limited to 'include/net/esp.h')
-rw-r--r-- | include/net/esp.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/include/net/esp.h b/include/net/esp.h index d05d8d2c78f4..c1bc529809da 100644 --- a/include/net/esp.h +++ b/include/net/esp.h | |||
@@ -13,8 +13,6 @@ struct esp_data | |||
13 | 13 | ||
14 | /* Confidentiality */ | 14 | /* Confidentiality */ |
15 | struct { | 15 | struct { |
16 | u8 *key; /* Key */ | ||
17 | int key_len; /* Key length */ | ||
18 | int padlen; /* 0..255 */ | 16 | int padlen; /* 0..255 */ |
19 | /* ivlen is offset from enc_data, where encrypted data start. | 17 | /* ivlen is offset from enc_data, where encrypted data start. |
20 | * It is logically different of crypto_tfm_alg_ivsize(tfm). | 18 | * It is logically different of crypto_tfm_alg_ivsize(tfm). |
@@ -28,14 +26,9 @@ struct esp_data | |||
28 | 26 | ||
29 | /* Integrity. It is active when icv_full_len != 0 */ | 27 | /* Integrity. It is active when icv_full_len != 0 */ |
30 | struct { | 28 | struct { |
31 | u8 *key; /* Key */ | ||
32 | int key_len; /* Length of the key */ | ||
33 | u8 *work_icv; | 29 | u8 *work_icv; |
34 | int icv_full_len; | 30 | int icv_full_len; |
35 | int icv_trunc_len; | 31 | int icv_trunc_len; |
36 | void (*icv)(struct esp_data*, | ||
37 | struct sk_buff *skb, | ||
38 | int offset, int len, u8 *icv); | ||
39 | struct crypto_hash *tfm; | 32 | struct crypto_hash *tfm; |
40 | } auth; | 33 | } auth; |
41 | }; | 34 | }; |
@@ -60,4 +53,11 @@ static inline int esp_mac_digest(struct esp_data *esp, struct sk_buff *skb, | |||
60 | return crypto_hash_final(&desc, esp->auth.work_icv); | 53 | return crypto_hash_final(&desc, esp->auth.work_icv); |
61 | } | 54 | } |
62 | 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 | |||
63 | #endif | 63 | #endif |