6 /* This is the maximum truncated ICV length that we know of. */
7 #define MAX_AH_AUTH_LEN 12
17 void (*icv
)(struct ah_data
*,
18 struct sk_buff
*skb
, u8
*icv
);
20 struct crypto_tfm
*tfm
;
24 ah_hmac_digest(struct ah_data
*ahp
, struct sk_buff
*skb
, u8
*auth_data
)
26 struct crypto_tfm
*tfm
= ahp
->tfm
;
28 memset(auth_data
, 0, ahp
->icv_trunc_len
);
29 crypto_hmac_init(tfm
, ahp
->key
, &ahp
->key_len
);
30 skb_icv_walk(skb
, tfm
, 0, skb
->len
, crypto_hmac_update
);
31 crypto_hmac_final(tfm
, ahp
->key
, &ahp
->key_len
, ahp
->work_icv
);
32 memcpy(auth_data
, ahp
->work_icv
, ahp
->icv_trunc_len
);