On 3/21/2018 11:40 AM, Shahaf Shuler wrote: > Wednesday, March 21, 2018 1:37 PM, Andrew Rybchenko: >> On 03/21/2018 02:23 PM, Shahaf Shuler wrote: >>> >>> Wednesday, March 21, 2018 1:20 PM, *:*Andrew Rybchenko >>> >>>> Not exactly. We should add statement to allow to enable queue >>>> offloads on port level (to enable on all queues). >>> >>> Why it is needed ? >>> >> >> May be just a paranoia to avoid misreading/misunderstanding. >> >>> Queue offload is also a port offload, for the simple case it is >>> enabled on each of the queues. >>> >>> PMDs should report rx[tx]_offload_capa = port_offloads | >>> queue_offloads >>> >>> So from the application side it enables a **port** offload which, by >>> definition, will set the offload to each of the queues. >>> >>> it is not “enabling queue offload on the port”. >>> >> >> I think it would be really useful for understanding to highlight that what is >> enabled on port level is enabled on all queues regardless queue conf. > > So I think the extra wording should explain that queue offload is also a port > offload, and not to mix between the queue and port offload configuration.
+1 for more details, the sentences was the outcome of the previous discussion but not clear enough. Perhaps some sample values can be also good. Shahaf do you want to give a try? And is following correct based on latest : 1- Port capability is always covers queue capability P_cap = A, B, C, D Q_cap = B, C, D 2- Requested port offloads should be subset of port capabilities, they will be applied to all queues: P_req = A, B Q1: A, B Q2: A, B 3- Later, requested queue offloads should be subset of queue capabilities, they will be applied to specific queue: Q_req = 1:B, C Q1: A, B, C Q2: A, B Q_req = 2:D Q1: A, B, C Q2: A, D Scenario 2: 1- P_cap = A, B, C, D Q_cap = "" 2- P_req = A, B Q1: A, B Q2: A, B 3- Q_req = "" Q1: A, B Q2: A, B