From: Vinicius Costa Gomes <[email protected]>
Date: Fri, 28 Sep 2018 17:59:43 -0700

> This traffic scheduler allows traffic classes states (transmission
> allowed/not allowed, in the simplest case) to be scheduled, according
> to a pre-generated time sequence. This is the basis of the IEEE
> 802.1Qbv specification.
> 
> Example configuration:
> 
> tc qdisc replace dev enp3s0 parent root handle 100 taprio \
>           num_tc 3 \
>         map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
>         queues 1@0 1@1 2@2 \
>         base-time 1528743495910289987 \
>         sched-entry S 01 300000 \
>         sched-entry S 02 300000 \
>         sched-entry S 04 300000 \
>         clockid CLOCK_TAI
> 
> The configuration format is similar to mqprio. The main difference is
> the presence of a schedule, built by multiple "sched-entry"
> definitions, each entry has the following format:
> 
>      sched-entry <CMD> <GATE MASK> <INTERVAL>
> 
> The only supported <CMD> is "S", which means "SetGateStates",
> following the IEEE 802.1Qbv-2015 definition (Table 8-6). <GATE MASK>
> is a bitmask where each bit is a associated with a traffic class, so
> bit 0 (the least significant bit) being "on" means that traffic class
> 0 is "active" for that schedule entry. <INTERVAL> is a time duration
> in nanoseconds that specifies for how long that state defined by <CMD>
> and <GATE MASK> should be held before moving to the next entry.
> 
> This schedule is circular, that is, after the last entry is executed
> it starts from the first one, indefinitely.
> 
> The other parameters can be defined as follows:
> 
>  - base-time: specifies the instant when the schedule starts, if
>   'base-time' is a time in the past, the schedule will start at
> 
>             base-time + (N * cycle-time)
> 
>    where N is the smallest integer so the resulting time is greater
>    than "now", and "cycle-time" is the sum of all the intervals of the
>    entries in the schedule;
> 
>  - clockid: specifies the reference clock to be used;
> 
> The parameters should be similar to what the IEEE 802.1Q family of
> specification defines.
> 
> Signed-off-by: Vinicius Costa Gomes <[email protected]>

Applied.

Reply via email to