On Wed, Mar 21, 2018 at 03:40:43PM +0100, Thomas Monjalon wrote: > 21/03/2018 15:28, Ferruh Yigit: > > On 3/21/2018 2:08 PM, Thomas Monjalon wrote: > > > 21/03/2018 11:54, Ferruh Yigit: > > >> On 3/21/2018 9:47 AM, Andrew Rybchenko wrote: > > >>> IMHO, it should be allowed to specify queue offloads on port level. > > >>> It should simply enable these offloads on all queues. Also it will > > >>> match dev_info [rt]x_offload_capa which include both port and queue > > >>> offloads. > > >>> > > >>> Yes, we lose possibility to enable on port level, but disable on queue > > >>> level by suggested changes, but I think it is OK - if you don't need > > >>> it for all queues, just control separately on queue level. > > >> > > >> What I understand was queue offload can only enable more, but it seems > > >> it can > > >> both enable or disable. > > > > > > Yes, queue offload should only enable more. > > > An offload enabled at port level, cannot be disabled at queue level. > > > > Agree an offload enabled at port level can't be disabled at queue level, > > but why > > not have the ability to disable a queue level offload with another queue > > setup call. > > Yes it should be possible to disable a queue offload: > 1/ enable offload in queue configuration > 2/ later disable this offload in queue configuration > > So, when I say "only enable more", I mean queue config should only enable > more than port config. In other words, a port-level offload cannot be > disabled at queue level. > > > > A port offload can be repeated in queue configuration. > > > If a port offload is not repeated in queue configuration, there should be > > > no impact: it is still in the port configuration, thus applying to all > > > queues. > > > > This was a requirement, this patch targets removing the requirement to > > repeat > > the port offload in queue config. > > Understood, and I agree with this change if it is well explained > in sphinx and doxygen. > It is important to say that queue configuration has no impact on offloads > already enabled at port level. > > > > About capabilities, the queue offloads must be a subset of port offloads. > > > The queue capabilities show which offloads can be enabled per queue. > > >
Why not abandon port-level config entirely? Then you just have queue-level configs, with the restriction that on some NICs all queues must be configured the same way. It can be up to the NIC drivers - or possibly ethdev layer - to identify and report an error in such cases. /Bruce