examples/tep_term: fix packet length with multi-segments

For multi-seg mbuf, ip->total_length should be pkt_len subtract
ether len.

Fixes: 4abe471ed6 ("examples/tep_term: implement VXLAN processing")

Signed-off-by: Michael Qiu <qiudayu@chinac.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
This commit is contained in:
Michael Qiu 2016-10-18 13:49:07 +08:00 committed by Thomas Monjalon
parent 39f84786a2
commit 8e22aae5cb

View File

@ -221,7 +221,7 @@ encapsulation(struct rte_mbuf *m, uint8_t queue_id)
/* copy in IP header */
ip = rte_memcpy(ip, &app_ip_hdr[vport_id],
sizeof(struct ipv4_hdr));
ip->total_length = rte_cpu_to_be_16(m->data_len
ip->total_length = rte_cpu_to_be_16(m->pkt_len
- sizeof(struct ether_hdr));
/* outer IP checksum */