On 10/14/2017 4:28 PM, avia...@dev.mellanox.co.il wrote:
From: Aviad Yehezkel <avia...@mellanox.com> IP length was incorrect causing corrupted ICMP packets for example Signed-off-by: Aviad Yehezkel <avia...@mellanox.com> --- examples/ipsec-secgw/esp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c index 81ebf55..12c6f8c 100644 --- a/examples/ipsec-secgw/esp.c +++ b/examples/ipsec-secgw/esp.c @@ -205,13 +205,13 @@ esp_inbound_post(struct rte_mbuf *m, struct ipsec_sa *sa, if (likely(ip->ip_v == IPVERSION)) { memmove(ip4, ip, ip->ip_hl * 4); ip4->ip_p = *nexthdr; - ip4->ip_len = htons(rte_pktmbuf_data_len(m)); + ip4->ip_len = htons(rte_pktmbuf_pkt_len(m)); } else { ip6 = (struct ip6_hdr *)ip4; /* XXX No option headers supported */ memmove(ip6, ip, sizeof(struct ip6_hdr)); ip6->ip6_nxt = *nexthdr; - ip6->ip6_plen = htons(rte_pktmbuf_data_len(m)); + ip6->ip6_plen = htons(rte_pktmbuf_pkt_len(m)); } } else ipip_inbound(m, sizeof(struct esp_hdr) + sa->iv_len);
Tested-by: Aviad Yehezkel <avia...@mellanox.com>