Lines Matching refs:esp

10 #include <net/esp.h>
346 struct esp_info *esp,
354 len = skb->len + esp->tailen - skb_transport_offset(skb);
358 uh = (struct udphdr *)esp->esph;
378 struct esp_info *esp)
380 __be16 *lenp = (void *)esp->esph;
385 len = skb->len + esp->tailen - skb_transport_offset(skb);
404 struct esp_info *esp)
411 struct esp_info *esp)
428 esph = esp_output_udp_encap(skb, encap_type, esp, sport, dport);
431 esph = esp_output_tcp_encap(x, skb, esp);
438 esp->esph = esph;
443 int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp)
450 int tailen = esp->tailen;
454 int err = esp_output_encap(x, skb, esp);
477 esp->inplace = false;
493 esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto);
518 esph_offset = (unsigned char *)esp->esph - skb_transport_header(skb);
524 esp->esph = (struct ip_esp_hdr *)(skb_transport_header(skb) + esph_offset);
527 esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto);
535 int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp)
563 tmp = esp_alloc_tmp(aead, esp->nfrags + 2, extralen);
572 if (esp->inplace)
575 dsg = &sg[esp->nfrags];
577 esph = esp_output_set_extra(skb, x, esp->esph, extra);
578 esp->esph = esph;
580 sg_init_table(sg, esp->nfrags);
583 assoclen + ivlen + esp->clen + alen);
587 if (!esp->inplace) {
611 assoclen + ivlen + esp->clen + alen);
621 aead_request_set_crypt(req, sg, dsg, ivlen + esp->clen, iv);
625 memcpy(iv + ivlen - min(ivlen, 8), (u8 *)&esp->seqno + 8 - min(ivlen, 8),
663 struct esp_info esp;
665 esp.inplace = true;
667 esp.proto = *skb_mac_header(skb);
675 esp.tfclen = 0;
682 esp.tfclen = padto - skb->len;
685 esp.clen = ALIGN(skb->len + 2 + esp.tfclen, blksize);
686 esp.plen = esp.clen - skb->len - esp.tfclen;
687 esp.tailen = esp.tfclen + esp.plen + alen;
689 esp.esph = ip_esp_hdr(skb);
691 esp.nfrags = esp_output_head(x, skb, &esp);
692 if (esp.nfrags < 0)
693 return esp.nfrags;
695 esph = esp.esph;
699 esp.seqno = cpu_to_be64(XFRM_SKB_CB(skb)->seq.output.low +
704 return esp_output_tail(x, skb, &esp);
733 net_dbg_ratelimited("ipsec esp packet is garbage padlen=%d, elen=%d\n",