app/testpmd: fix txonly forwarding
authorAlvin Zhang <alvinx.zhang@intel.com>
Thu, 23 Sep 2021 08:01:29 +0000 (16:01 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Oct 2021 16:57:48 +0000 (18:57 +0200)
commit02220e5305d72b70585f8798043409eb49d9f30c
tree6a579b5d471410d2ca961c950c19d9e2cee0910f
parenta78040c990cb7beac2a7daac8f18646c54e2fd07
app/testpmd: fix txonly forwarding

When random number of Tx segments is enabled, because the actual
number of segments may be only one, the first segment of the Tx
packets must accommodate a complete being sending Eth/IP/UDP packet.

Besides, if multiple flow is enabled, the forwarding will update
the IP and UDP header, these headers shouldn't cross segments.
This also requires the first Tx segment can accommodate a complete
Eth/IP/UDP packet.

In addition, if time stamp is enabled, the forwarding needs more
Tx segment space for time stamp information.

This patch adds checks in beginning of forward engine to make sure
all above conditions are met.

Bugzilla ID: 797
Fixes: 79bec05b32b7 ("app/testpmd: add ability to split outgoing packets")
Cc: stable@dpdk.org
Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
app/test-pmd/txonly.c