xref: /openbmc/linux/include/net/ah.h (revision 2ad9afbf5ca27482aa275de517261d56fd1e7ba0)
11da177e4SLinus Torvalds #ifndef _NET_AH_H
21da177e4SLinus Torvalds #define _NET_AH_H
31da177e4SLinus Torvalds 
4*2ad9afbfSSteffen Klassert #include <linux/skbuff.h>
51da177e4SLinus Torvalds 
61da177e4SLinus Torvalds /* This is the maximum truncated ICV length that we know of. */
71da177e4SLinus Torvalds #define MAX_AH_AUTH_LEN	12
81da177e4SLinus Torvalds 
9*2ad9afbfSSteffen Klassert struct crypto_ahash;
10*2ad9afbfSSteffen Klassert 
111da177e4SLinus Torvalds struct ah_data
121da177e4SLinus Torvalds {
131da177e4SLinus Torvalds 	int			icv_full_len;
141da177e4SLinus Torvalds 	int			icv_trunc_len;
151da177e4SLinus Torvalds 
1649cbf952SSteffen Klassert 	struct crypto_ahash	*ahash;
171da177e4SLinus Torvalds };
181da177e4SLinus Torvalds 
1987bdc48dSHerbert Xu struct ip_auth_hdr;
2087bdc48dSHerbert Xu 
2187bdc48dSHerbert Xu static inline struct ip_auth_hdr *ip_auth_hdr(const struct sk_buff *skb)
2287bdc48dSHerbert Xu {
2387bdc48dSHerbert Xu 	return (struct ip_auth_hdr *)skb_transport_header(skb);
2487bdc48dSHerbert Xu }
2587bdc48dSHerbert Xu 
261da177e4SLinus Torvalds #endif
27