[Intel-wired-lan] [PATCH net-next v2 4/6] taprio: Add support for txtime-assist mode.

Jakub Kicinski jakub.kicinski at netronome.com
Fri Jun 7 22:34:52 UTC 2019


On Fri, 7 Jun 2019 22:27:07 +0000, Patel, Vedang wrote:
> Hi Jacub, 
> 
> > On Jun 7, 2019, at 3:02 PM, Jakub Kicinski <jakub.kicinski at netronome.com> wrote:
> > 
> > On Fri, 7 Jun 2019 20:42:55 +0000, Patel, Vedang wrote:  
> >>> Thanks for the changes, since you now validate no unknown flags are
> >>> passed, perhaps there is no need to check if flags are == ~0?
> >>> 
> >>> IS_ENABLED() could just do: (flags) & TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST
> >>> No?
> >>>   
> >> This is specifically done so that user does not have to specify the
> >> offload flags when trying to install the another schedule which will
> >> be switched to at a later point of time (i.e. the admin schedule
> >> introduced in Vinicius’ last series). Setting taprio_flags to ~0
> >> will help us distinguish between the flags parameter not specified
> >> and flags set to 0.  
> > 
> > I'm not super clear on this, because of backward compat you have to
> > treat attr not present as unset.  Let's see:
> > 
> > new qdisc:
> > - flags attr = 0 -> txtime not used
> > - flags attr = 1 -> txtime used  
> > -> no flags attr -> txtime not used  
> > change qdisc:
> > - flags attr = old flags attr -> leave unchanged
> > - flags attr != old flags attr -> error
> > - no flags attr -> leave txtime unchanged
> > 
> > Doesn't that cover the cases?  Were you planning to have no flag attr
> > on change mean disabled rather than no change?  
> 
> You covered all the cases above.
> 
> Thinking a bit more about it, yes you are right. Initiializing flags
> to 0 will work.  I will incorporate this change in the next version.

Cool, thanks!  

FWIW I think historically TC used to require all parameters specified
and assumed 0 rather than not changed, but I think that was because C
structs were passed as blobs instead of breaking things out per attr.
So today I think its better to make full use of attrs and assume not
present to mean not changed 👍


More information about the Intel-wired-lan mailing list