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.

Reply via email to