2016-03-23 05:57, Yong Wang:
> From: Ding, HengX
> > Testpmd will fail to start up with vmxnet3 port.
[...]
> Currently vmxnet3?s default_txconf.txq_flags is set to the following, which
> is used by testpmd
> as there is no explicit txconf passed when initializing tx queue:
>
> dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS |
> ETH_TXQ_FLAGS_NOOFFLOADS;
In vmxnet3_dev_tx_queue_setup:
if ((tx_conf->txq_flags & ETH_TXQ_FLAGS_NOXSUMS) !=
ETH_TXQ_FLAGS_NOXSUMSCTP) {
PMD_INIT_LOG(ERR, "SCTP checksum offload not supported");
return -EINVAL;
}
It means we cannot disable TCP or UDP checksum offload.
ETH_TXQ_FLAGS_NOXSUMS = NOXSUMSCTP + NOXSUMUDP + NOXSUMTCP
I think it should be:
if ((tx_conf->txq_flags & ETH_TXQ_FLAGS_NOXSUMSCTP) !=
ETH_TXQ_FLAGS_NOXSUMSCTP) {
> With the referred patch that introduced l4 cksum offload, we should update
> the default txq
> flags check accordingly. Heng, can you post the error logs to confirm this
> is indeed the cause
> of the error you reported?
The default conf is ETH_TXQ_FLAGS_NOOFFLOADS (= NOVLANOFFL + NOXSUMS).
Yes you can update the default conf, *and* fix the check above.
> Related to this, I saw that the check for NOMULTISEGS has been removed and
> the check for
> NOVLANOFF was never implemented. Should we just remove the offload flags
> check as well
> as I don?t see much value of this check. Basically we know that the device
> does not support
> certain offload and we have to set those flags to let the device initialize.
> But doing this does
> nothing to prevent users to request these non-supported offload. I also saw
> another thread
> discussing better device capability APIs and hopefully this will not be
> needed then
These checks are important to throw an error if an offload is requested
but not supported.