xref: /linux-6.15/include/net/esp.h (revision fca11ebd)
11da177e4SLinus Torvalds #ifndef _NET_ESP_H
21da177e4SLinus Torvalds #define _NET_ESP_H
31da177e4SLinus Torvalds 
438320c70SHerbert Xu #include <linux/skbuff.h>
51da177e4SLinus Torvalds 
687bdc48dSHerbert Xu struct ip_esp_hdr;
787bdc48dSHerbert Xu 
887bdc48dSHerbert Xu static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb)
987bdc48dSHerbert Xu {
1087bdc48dSHerbert Xu 	return (struct ip_esp_hdr *)skb_transport_header(skb);
1187bdc48dSHerbert Xu }
1287bdc48dSHerbert Xu 
13*fca11ebdSSteffen Klassert struct esp_info {
14*fca11ebdSSteffen Klassert 	struct	ip_esp_hdr *esph;
15*fca11ebdSSteffen Klassert 	__be64	seqno;
16*fca11ebdSSteffen Klassert 	int	tfclen;
17*fca11ebdSSteffen Klassert 	int	tailen;
18*fca11ebdSSteffen Klassert 	int	plen;
19*fca11ebdSSteffen Klassert 	int	clen;
20*fca11ebdSSteffen Klassert 	int 	len;
21*fca11ebdSSteffen Klassert 	int 	nfrags;
22*fca11ebdSSteffen Klassert 	__u8	proto;
23*fca11ebdSSteffen Klassert 	bool	inplace;
24*fca11ebdSSteffen Klassert };
25*fca11ebdSSteffen Klassert 
26*fca11ebdSSteffen Klassert int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp);
27*fca11ebdSSteffen Klassert int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp);
28*fca11ebdSSteffen Klassert int esp_input_done2(struct sk_buff *skb, int err);
291da177e4SLinus Torvalds #endif
30