[PATCH v3 2/2] app/testpmd: support TCP TSO in Tx only mode
Ferruh Yigit
ferruh.yigit at amd.com
Tue Nov 15 13:43:31 CET 2022
On 11/11/2022 9:04 AM, Andrew Rybchenko wrote:
> @@ -459,11 +486,16 @@ tx_only_begin(portid_t pi)
> {
> uint16_t pkt_hdr_len, pkt_data_len;
> int dynf;
> - uint8_t ip_proto = IPPROTO_UDP;
> + uint8_t ip_proto;
>
> pkt_hdr_len = (uint16_t)(sizeof(struct rte_ether_hdr) +
> sizeof(struct rte_ipv4_hdr));
> +
> + ip_proto = txonly_tso_segsz > 0 ? IPPROTO_TCP : IPPROTO_UDP;
Instead of detecting protocol via txonly_tso_segsz, what about
introducing '--tx-tcp' and use it?
I put some more comment to have tcp specific parameters in prev version
of the patch.
As far as I understand, '--tx-udp'/'--tx-tcp' parameters are optional,
that is why to detect protocol we can:
a) Use UDP by default if '--tx-udp'/'--tx-tcp' not provided
b) Have another argument to set protocol explicitly, something like
'--tx-proto='. In this case it is better to have '--tx-udp'/'--tx-tcp'
parameter as '--tx-l4-port', because otherwise protocol information will
be duplicated (need to check against '--tx-proto=txp --tx-udp' etc..).
I think both of us think it is not good idea to change existing
parameter name, that is why I prefer option a) above, what do you think?
> switch (ip_proto) {
> + case IPPROTO_TCP:
> + pkt_hdr_len += sizeof(struct rte_tcp_hdr);
> + break;
> case IPPROTO_UDP:
> pkt_hdr_len += sizeof(struct rte_udp_hdr);
> break;
More information about the dev
mailing list