On Sun, 10 Sep 2017 15:07:49 +0300 Shahaf Shuler <shah...@mellanox.com> wrote:
> Introduce a new API to configure Tx offloads. > > In the new API, offloads are divided into per-port and per-queue > offloads. The PMD reports capability for each of them. > Offloads are enabled using the existing DEV_TX_OFFLOAD_* flags. > To enable per-port offload, the offload should be set on both device > configuration and queue configuration. To enable per-queue offload, the > offloads can be set only on queue configuration. > > In addition the Tx offloads will be disabled by default and be > enabled per application needs. This will much simplify PMD management of > the different offloads. > > The new API does not have an equivalent for the below, benchmark > specific, flags: > > - ETH_TXQ_FLAGS_NOREFCOUNT > - ETH_TXQ_FLAGS_NOMULTMEMP > > Applications should set the ETH_TXQ_FLAGS_IGNORE flag on txq_flags > field in order to move to the new API. > > The old Tx offloads API is kept for the meanwhile, in order to enable a > smooth transition for PMDs and application to the new API. > > Signed-off-by: Shahaf Shuler <shah...@mellanox.com> > --- Agree on a conceptual and hardware level, that this is a property that could be per queue. But is there really an application that would want to have refcounting on one queue and not another? If application is cloning mbuf's it needs refcounting. One could even argue that for safety these should be library wide. That way if an application tried to manipulate ref count on an mbuf and refcountin was enabled it could be panic'd.