18/09/2017 16:27, Shahaf Shuler:
> Monday, September 18, 2017 2:38 PM, Bruce Richardson
> > On Mon, Sep 18, 2017 at 01:32:29PM +0200, Thomas Monjalon wrote:
> > > 18/09/2017 13:11, Ananyev, Konstantin:
> > > > From: Richardson, Bruce
> > > > > >
> > > > > > I think we all in favor to have a separate API here.
> > > > > > Though from the discussion we had at latest TB, I am not sure it
> > > > > > is doable in 17.11 timeframe.
> > > > >
> > > > > Ok, so does that imply no change in this release, and that the
> > > > > existing set is to be ignored?
> > > >
> > > > No, my understanding the current plan is to go forward with Shahaf
> > > > patches, and then apply another one (new set/get API) on top of them.
> > >
> > > Yes, it is what we agreed (hope to see it in minutes).
> > > If someone can do these new patches in 17.11 timeframe, it's great!
> > > Bruce, do you want to make it a try?
> >
> > If I have the chance, I can try, but given how short time is and that
> > userspace
> > is on next week, I very much doubt I'll even get it started.
>
> I wasn't aware to the techboard decision on the extra patchset needed.
> I think it will be wrong to introduce an API on 17.11 and change it again on
> 18.02.
> I will do my best to make everything ready for 17.11 so we can have one solid
> API on top of which all PMDs and application will be converted. Considering
> some Holidays and the DPDK summit I won't have much time to work on it.
>
> The plan is as follows:
> 1. complete the last comment on the current series and integrate it.
> 2. send a new patchset to convert to the API suggested above.
Thank you Shahaf.
> Aggregating the different suggestions I come up with the below. if this is
> agreed, then I will move with the implementation.
> (I thought it is good to return error values for the get function).
[...]
> **
> * Set Tx offloads on a specific port.
> *
> * @param port_id
> * The port identifier of the Ethernet device.
> * @param offloads_mask
> * Indicates which offloads to be set using DEV_TX_OFFLOAD_* flags.
> * @return
> * (0) if all offloads set successfully, otherwise offloads
> * flags which were not set.
> *
> */
> uint64_t rte_eth_set_port_tx_offloads(uint8_t port_id, uint64_t
> offloads_mask);
You need to have a parameter for the offloads value,
different of offloads mask:
set(port, value, mask)
Or as proposed by Bruce, you need 2 functions:
enable(port, mask)
disable(port, mask)