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 13fca11ebdSSteffen Klassert struct esp_info { 14fca11ebdSSteffen Klassert struct ip_esp_hdr *esph; 15fca11ebdSSteffen Klassert __be64 seqno; 16fca11ebdSSteffen Klassert int tfclen; 17fca11ebdSSteffen Klassert int tailen; 18fca11ebdSSteffen Klassert int plen; 19fca11ebdSSteffen Klassert int clen; 20fca11ebdSSteffen Klassert int len; 21fca11ebdSSteffen Klassert int nfrags; 22fca11ebdSSteffen Klassert __u8 proto; 23fca11ebdSSteffen Klassert bool inplace; 24fca11ebdSSteffen Klassert }; 25fca11ebdSSteffen Klassert 26fca11ebdSSteffen Klassert int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 27fca11ebdSSteffen Klassert int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 28fca11ebdSSteffen Klassert int esp_input_done2(struct sk_buff *skb, int err); 29383d0350SSteffen Klassert int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 30383d0350SSteffen Klassert int esp6_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 31383d0350SSteffen Klassert int esp6_input_done2(struct sk_buff *skb, int err); 321da177e4SLinus Torvalds #endif 33