uint32_t clen, hlen, l2len, pdlen, pdofs, plen, tlen;
struct rte_mbuf *ml;
struct rte_esp_hdr *esph;
- struct esp_tail *espt;
+ struct rte_esp_tail *espt;
char *ph, *pt;
uint64_t *iv;
rte_memcpy(ph, sa->hdr, sa->hdr_len);
/* update original and new ip header fields */
- update_tun_l3hdr(sa, ph + sa->hdr_l3_off, mb->pkt_len - sqh_len,
- sa->hdr_l3_off, sqn_low16(sqc));
+ update_tun_outb_l3hdr(sa, ph + sa->hdr_l3_off, ph + hlen,
+ mb->pkt_len - sqh_len, sa->hdr_l3_off, sqn_low16(sqc));
/* update spi, seqn and iv */
esph = (struct rte_esp_hdr *)(ph + sa->hdr_len);
rte_memcpy(pt, esp_pad_bytes, pdlen);
/* update esp trailer */
- espt = (struct esp_tail *)(pt + pdlen);
+ espt = (struct rte_esp_tail *)(pt + pdlen);
espt->pad_len = pdlen;
espt->next_proto = sa->proto;
uint32_t clen, hlen, pdlen, pdofs, plen, tlen, uhlen;
struct rte_mbuf *ml;
struct rte_esp_hdr *esph;
- struct esp_tail *espt;
+ struct rte_esp_tail *espt;
char *ph, *pt;
uint64_t *iv;
rte_memcpy(pt, esp_pad_bytes, pdlen);
/* update esp trailer */
- espt = (struct esp_tail *)(pt + pdlen);
+ espt = (struct rte_esp_tail *)(pt + pdlen);
espt->pad_len = pdlen;
espt->next_proto = np;