• Vinicius Costa Gomes's avatar
    taprio: Fix dropping packets when using taprio + ETF offloading · bfabd41d
    Vinicius Costa Gomes authored
    When using taprio offloading together with ETF offloading, configured
    like this, for example:
    
    $ tc qdisc replace dev $IFACE parent root handle 100 taprio \
      	num_tc 4 \
            map 2 2 1 0 3 2 2 2 2 2 2 2 2 2 2 2 \
    	queues 1@0 1@1 1@2 1@3 \
    	base-time $BASE_TIME \
    	sched-entry S 01 1000000 \
    	sched-entry S 0e 1000000 \
    	flags 0x2
    
    $ tc qdisc replace dev $IFACE parent 100:1 etf \
         	offload delta 300000 clockid CLOCK_TAI
    
    During enqueue, it works out that the verification added for the
    "txtime" assisted mode is run when using taprio + ETF offloading, the
    only thing missing is initializing the 'next_txtime' of all the cycle
    entries. (if we don't set 'next_txtime' all packets from SO_TXTIME
    sockets are dropped)
    
    Fixes: 4cfd5779 ("taprio: Add support for txtime-assist mode")
    Signed-off-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bfabd41d
sch_taprio.c 48.5 KB