* Texas Instruments CPSW ethernet driver

Multiqueue & CBS & MQPRIO
=====================================================================
=====================================================================

The cpsw has 3 CBS shapers for each external ports. This document
describes MQPRIO and CBS Qdisc offload configuration for cpsw driver
based on examples. It potentially can be used in audio video bridging
(AVB) and time sensitive networking (TSN).

The following examples were tested on AM572x EVM and BBB boards.

Test setup
==========

Under consideration two examples with AM572x EVM running cpsw driver
in dual_emac mode.

Several prerequisites:
- TX queues must be rated starting from txq0 that has highest priority
- Traffic classes are used starting from 0, that has highest priority
- CBS shapers should be used with rated queues
- The bandwidth for CBS shapers has to be set a little bit more then
  potential incoming rate, thus, rate of all incoming tx queues has
  to be a little less
- Real rates can differ, due to discreetness
- Map skb-priority to txq is not enough, also skb-priority to l2 prio
  map has to be created with ip or vconfig tool
- Any l2/socket prio (0 - 7) for classes can be used, but for
  simplicity default values are used: 3 and 2
- only 2 classes tested: A and B, but checked and can work with more,
  maximum allowed 4, but only for 3 rate can be set.

Test setup for examples
=======================
                                    +-------------------------------+
                                    |--+                            |
                                    |  |      Workstation0          |
                                    |E |  MAC 18:03:73:66:87:42     |
+-----------------------------+  +--|t |                            |
|                    | 1  | E |  |  |h |./tsn_listener -d \         |
|  Target board:     | 0  | t |--+  |0 | 18:03:73:66:87:42 -i eth0 \|
|  AM572x EVM        | 0  | h |     |  | -s 1500                    |
|                    | 0  | 0 |     |--+                            |
|  Only 2 classes:   |Mb  +---|     +-------------------------------+
|  class A, class B  |        |
|                    |    +---|     +-------------------------------+
|                    | 1  | E |     |--+                            |
|                    | 0  | t |     |  |      Workstation1          |
|                    | 0  | h |--+  |E |  MAC 20:cf:30:85:7d:fd     |
|                    |Mb  | 1 |  +--|t |                            |
+-----------------------------+     |h |./tsn_listener -d \         |
                                    |0 | 20:cf:30:85:7d:fd -i eth0 \|
                                    |  | -s 1500                    |
                                    |--+                            |
                                    +-------------------------------+

*********************************************************************
*********************************************************************
*********************************************************************
Example 1: One port tx AVB configuration scheme for target board
----------------------------------------------------------------------
(prints and scheme for AM572x evm, applicable for single port boards)

tc - traffic class
txq - transmit queue
p - priority
f - fifo (cpsw fifo)
S - shaper configured

+------------------------------------------------------------------+ u
| +---------------+  +---------------+  +------+ +------+          | s
| |               |  |               |  |      | |      |          | e
| | App 1         |  | App 2         |  | Apps | | Apps |          | r
| | Class A       |  | Class B       |  | Rest | | Rest |          |
| | Eth0          |  | Eth0          |  | Eth0 | | Eth1 |          | s
| | VLAN100       |  | VLAN100       |  |   |  | |   |  |          | p
| | 40 Mb/s       |  | 20 Mb/s       |  |   |  | |   |  |          | a
| | SO_PRIORITY=3 |  | SO_PRIORITY=2 |  |   |  | |   |  |          | c
| |   |           |  |   |           |  |   |  | |   |  |          | e
| +---|-----------+  +---|-----------+  +---|--+ +---|--+          |
+-----|------------------|------------------|--------|-------------+
    +-+     +------------+                  |        |
    |       |             +-----------------+     +--+
    |       |             |                       |
+---|-------|-------------|-----------------------|----------------+
| +----+ +----+ +----+ +----+                   +----+             |
| | p3 | | p2 | | p1 | | p0 |                   | p0 |             | k
| \    / \    / \    / \    /                   \    /             | e
|  \  /   \  /   \  /   \  /                     \  /              | r
|   \/     \/     \/     \/                       \/               | n
|    |     |             |                        |                | e
|    |     |       +-----+                        |                | l
|    |     |       |                              |                |
| +----+ +----+ +----+                          +----+             | s
| |tc0 | |tc1 | |tc2 |                          |tc0 |             | p
| \    / \    / \    /                          \    /             | a
|  \  /   \  /   \  /                            \  /              | c
|   \/     \/     \/                              \/               | e
|   |      |       +-----+                        |                |
|   |      |       |     |                        |                |
|   |      |       |     |                        |                |
|   |      |       |     |                        |                |
| +----+ +----+ +----+ +----+                   +----+             |
| |txq0| |txq1| |txq2| |txq3|                   |txq4|             |
| \    / \    / \    / \    /                   \    /             |
|  \  /   \  /   \  /   \  /                     \  /              |
|   \/     \/     \/     \/                       \/               |
| +-|------|------|------|--+                  +--|--------------+ |
| | |      |      |      |  | Eth0.100         |  |     Eth1     | |
+---|------|------|------|------------------------|----------------+
    |      |      |      |                        |
    p      p      p      p                        |
    3      2      0-1, 4-7  <- L2 priority        |
    |      |      |      |                        |
    |      |      |      |                        |
+---|------|------|------|------------------------|----------------+
|   |      |      |      |             |----------+                |
| +----+ +----+ +----+ +----+       +----+                         |
| |dma7| |dma6| |dma5| |dma4|       |dma3|                         |
| \    / \    / \    / \    /       \    /                         | c
|  \S /   \S /   \  /   \  /         \  /                          | p
|   \/     \/     \/     \/           \/                           | s
|   |      |      | +-----            |                            | w
|   |      |      | |                 |                            |
|   |      |      | |                 |                            | d
| +----+ +----+ +----+p            p+----+                         | r
| |    | |    | |    |o            o|    |                         | i
| | f3 | | f2 | | f0 |r            r| f0 |                         | v
| |tc0 | |tc1 | |tc2 |t            t|tc0 |                         | e
| \CBS / \CBS / \CBS /1            2\CBS /                         | r
|  \S /   \S /   \  /                \  /                          |
|   \/     \/     \/                  \/                           |
+------------------------------------------------------------------+
========================================Eth==========================>

1)
// Add 4 tx queues, for interface Eth0, and 1 tx queue for Eth1
$ ethtool -L eth0 rx 1 tx 5
rx unmodified, ignoring

2)
// Check if num of queues is set correctly:
$ ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX:             8
TX:             8
Other:          0
Combined:       0
Current hardware settings:
RX:             1
TX:             5
Other:          0
Combined:       0

3)
// TX queues must be rated starting from 0, so set bws for tx0 and tx1
// Set rates 40 and 20 Mb/s appropriately.
// Pay attention, real speed can differ a bit due to discreetness.
// Leave last 2 tx queues not rated.
$ echo 40 > /sys/class/net/eth0/queues/tx-0/tx_maxrate
$ echo 20 > /sys/class/net/eth0/queues/tx-1/tx_maxrate

4)
// Check maximum rate of tx (cpdma) queues:
$ cat /sys/class/net/eth0/queues/tx-*/tx_maxrate
40
20
0
0
0

5)
// Map skb->priority to traffic class:
// 3pri -> tc0, 2pri -> tc1, (0,1,4-7)pri -> tc2
// Map traffic class to transmit queue:
// tc0 -> txq0, tc1 -> txq1, tc2 -> (txq2, txq3)
$ tc qdisc replace dev eth0 handle 100: parent root mqprio 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 hw 1

5a)
// As two interface sharing same set of tx queues, assign all traffic
// coming to interface Eth1 to separate queue in order to not mix it
// with traffic from interface Eth0, so use separate txq to send
// packets to Eth1, so all prio -> tc0 and tc0 -> txq4
// Here hw 0, so here still default configuration for eth1 in hw
$ tc qdisc replace dev eth1 handle 100: parent root mqprio num_tc 1 \
map 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 queues 1@4 hw 0

6)
// Check classes settings
$ tc -g class show dev eth0
+---(100:ffe2) mqprio
|    +---(100:3) mqprio
|    +---(100:4) mqprio
|
+---(100:ffe1) mqprio
|    +---(100:2) mqprio
|
+---(100:ffe0) mqprio
     +---(100:1) mqprio

$ tc -g class show dev eth1
+---(100:ffe0) mqprio
     +---(100:5) mqprio

7)
// Set rate for class A - 41 Mbit (tc0, txq0) using CBS Qdisc
// Set it +1 Mb for reserve (important!)
// here only idle slope is important, others arg are ignored
// Pay attention, real speed can differ a bit due to discreetness
$ tc qdisc add dev eth0 parent 100:1 cbs locredit -1438 \
hicredit 62 sendslope -959000 idleslope 41000 offload 1
net eth0: set FIFO3 bw = 50

8)
// Set rate for class B - 21 Mbit (tc1, txq1) using CBS Qdisc:
// Set it +1 Mb for reserve (important!)
$ tc qdisc add dev eth0 parent 100:2 cbs locredit -1468 \
hicredit 65 sendslope -979000 idleslope 21000 offload 1
net eth0: set FIFO2 bw = 30

9)
// Create vlan 100 to map sk->priority to vlan qos
$ ip link add link eth0 name eth0.100 type vlan id 100
8021q: 802.1Q VLAN Support v1.8
8021q: adding VLAN 0 to HW filter on device eth0
8021q: adding VLAN 0 to HW filter on device eth1
net eth0: Adding vlanid 100 to vlan filter

10)
// Map skb->priority to L2 prio, 1 to 1
$ ip link set eth0.100 type vlan \
egress 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

11)
// Check egress map for vlan 100
$ cat /proc/net/vlan/eth0.100
[...]
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESS priority mappings: 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

12)
// Run your appropriate tools with socket option "SO_PRIORITY"
// to 3 for class A and/or to 2 for class B
// (I took at https://www.spinics.net/lists/netdev/msg460869.html)
./tsn_talker -d 18:03:73:66:87:42 -i eth0.100 -p3 -s 1500&
./tsn_talker -d 18:03:73:66:87:42 -i eth0.100 -p2 -s 1500&

13)
// run your listener on workstation (should be in same vlan)
// (I took at https://www.spinics.net/lists/netdev/msg460869.html)
./tsn_listener -d 18:03:73:66:87:42 -i enp5s0 -s 1500
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39000 kbps

14)
// Restore default configuration if needed
$ ip link del eth0.100
$ tc qdisc del dev eth1 root
$ tc qdisc del dev eth0 root
net eth0: Prev FIFO2 is shaped
net eth0: set FIFO3 bw = 0
net eth0: set FIFO2 bw = 0
$ ethtool -L eth0 rx 1 tx 1

*********************************************************************
*********************************************************************
*********************************************************************
Example 2: Two port tx AVB configuration scheme for target board
----------------------------------------------------------------------
(prints and scheme for AM572x evm, for dual emac boards only)

+------------------------------------------------------------------+ u
| +----------+  +----------+  +------+  +----------+  +----------+ | s
| |          |  |          |  |      |  |          |  |          | | e
| | App 1    |  | App 2    |  | Apps |  | App 3    |  | App 4    | | r
| | Class A  |  | Class B  |  | Rest |  | Class B  |  | Class A  | |
| | Eth0     |  | Eth0     |  |   |  |  | Eth1     |  | Eth1     | | s
| | VLAN100  |  | VLAN100  |  |   |  |  | VLAN100  |  | VLAN100  | | p
| | 40 Mb/s  |  | 20 Mb/s  |  |   |  |  | 10 Mb/s  |  | 30 Mb/s  | | a
| | SO_PRI=3 |  | SO_PRI=2 |  |   |  |  | SO_PRI=3 |  | SO_PRI=2 | | c
| |   |      |  |   |      |  |   |  |  |   |      |  |   |      | | e
| +---|------+  +---|------+  +---|--+  +---|------+  +---|------+ |
+-----|-------------|-------------|---------|-------------|--------+
    +-+     +-------+             |         +----------+  +----+
    |       |             +-------+------+             |       |
    |       |             |              |             |       |
+---|-------|-------------|--------------|-------------|-------|---+
| +----+ +----+ +----+ +----+          +----+ +----+ +----+ +----+ |
| | p3 | | p2 | | p1 | | p0 |          | p0 | | p1 | | p2 | | p3 | | k
| \    / \    / \    / \    /          \    / \    / \    / \    / | e
|  \  /   \  /   \  /   \  /            \  /   \  /   \  /   \  /  | r
|   \/     \/     \/     \/              \/     \/     \/     \/   | n
|   |      |             |                |             |      |   | e
|   |      |        +----+                +----+        |      |   | l
|   |      |        |                          |        |      |   |
| +----+ +----+ +----+                        +----+ +----+ +----+ | s
| |tc0 | |tc1 | |tc2 |                        |tc2 | |tc1 | |tc0 | | p
| \    / \    / \    /                        \    / \    / \    / | a
|  \  /   \  /   \  /                          \  /   \  /   \  /  | c
|   \/     \/     \/                            \/     \/     \/   | e
|   |      |       +-----+                +-----+      |       |   |
|   |      |       |     |                |     |      |       |   |
|   |      |       |     |                |     |      |       |   |
|   |      |       |     |    E      E    |     |      |       |   |
| +----+ +----+ +----+ +----+ t      t +----+ +----+ +----+ +----+ |
| |txq0| |txq1| |txq4| |txq5| h      h |txq6| |txq7| |txq3| |txq2| |
| \    / \    / \    / \    / 0      1 \    / \    / \    / \    / |
|  \  /   \  /   \  /   \  /  .      .  \  /   \  /   \  /   \  /  |
|   \/     \/     \/     \/   1      1   \/     \/     \/     \/   |
| +-|------|------|------|--+ 0      0 +-|------|------|------|--+ |
| | |      |      |      |  | 0      0 | |      |      |      |  | |
+---|------|------|------|---------------|------|------|------|----+
    |      |      |      |               |      |      |      |
    p      p      p      p               p      p      p      p
    3      2      0-1, 4-7   <-L2 pri->  0-1, 4-7      2      3
    |      |      |      |               |      |      |      |
    |      |      |      |               |      |      |      |
+---|------|------|------|---------------|------|------|------|----+
|   |      |      |      |               |      |      |      |    |
| +----+ +----+ +----+ +----+          +----+ +----+ +----+ +----+ |
| |dma7| |dma6| |dma3| |dma2|          |dma1| |dma0| |dma4| |dma5| |
| \    / \    / \    / \    /          \    / \    / \    / \    / | c
|  \S /   \S /   \  /   \  /            \  /   \  /   \S /   \S /  | p
|   \/     \/     \/     \/              \/     \/     \/     \/   | s
|   |      |      | +-----                |      |      |      |   | w
|   |      |      | |                     +----+ |      |      |   |
|   |      |      | |                          | |      |      |   | d
| +----+ +----+ +----+p                      p+----+ +----+ +----+ | r
| |    | |    | |    |o                      o|    | |    | |    | | i
| | f3 | | f2 | | f0 |r        CPSW          r| f3 | | f2 | | f0 | | v
| |tc0 | |tc1 | |tc2 |t                      t|tc0 | |tc1 | |tc2 | | e
| \CBS / \CBS / \CBS /1                      2\CBS / \CBS / \CBS / | r
|  \S /   \S /   \  /                          \S /   \S /   \  /  |
|   \/     \/     \/                            \/     \/     \/   |
+------------------------------------------------------------------+
========================================Eth==========================>

1)
// Add 8 tx queues, for interface Eth0, but they are common, so are accessed
// by two interfaces Eth0 and Eth1.
$ ethtool -L eth1 rx 1 tx 8
rx unmodified, ignoring

2)
// Check if num of queues is set correctly:
$ ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX:             8
TX:             8
Other:          0
Combined:       0
Current hardware settings:
RX:             1
TX:             8
Other:          0
Combined:       0

3)
// TX queues must be rated starting from 0, so set bws for tx0 and tx1 for Eth0
// and for tx2 and tx3 for Eth1. That is, rates 40 and 20 Mb/s appropriately
// for Eth0 and 30 and 10 Mb/s for Eth1.
// Real speed can differ a bit due to discreetness
// Leave last 4 tx queues as not rated
$ echo 40 > /sys/class/net/eth0/queues/tx-0/tx_maxrate
$ echo 20 > /sys/class/net/eth0/queues/tx-1/tx_maxrate
$ echo 30 > /sys/class/net/eth1/queues/tx-2/tx_maxrate
$ echo 10 > /sys/class/net/eth1/queues/tx-3/tx_maxrate

4)
// Check maximum rate of tx (cpdma) queues:
$ cat /sys/class/net/eth0/queues/tx-*/tx_maxrate
40
20
30
10
0
0
0
0

5)
// Map skb->priority to traffic class for Eth0:
// 3pri -> tc0, 2pri -> tc1, (0,1,4-7)pri -> tc2
// Map traffic class to transmit queue:
// tc0 -> txq0, tc1 -> txq1, tc2 -> (txq4, txq5)
$ tc qdisc replace dev eth0 handle 100: parent root mqprio 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@4 hw 1

6)
// Check classes settings
$ tc -g class show dev eth0
+---(100:ffe2) mqprio
|    +---(100:5) mqprio
|    +---(100:6) mqprio
|
+---(100:ffe1) mqprio
|    +---(100:2) mqprio
|
+---(100:ffe0) mqprio
     +---(100:1) mqprio

7)
// Set rate for class A - 41 Mbit (tc0, txq0) using CBS Qdisc for Eth0
// here only idle slope is important, others ignored
// Real speed can differ a bit due to discreetness
$ tc qdisc add dev eth0 parent 100:1 cbs locredit -1470 \
hicredit 62 sendslope -959000 idleslope 41000 offload 1
net eth0: set FIFO3 bw = 50

8)
// Set rate for class B - 21 Mbit (tc1, txq1) using CBS Qdisc for Eth0
$ tc qdisc add dev eth0 parent 100:2 cbs locredit -1470 \
hicredit 65 sendslope -979000 idleslope 21000 offload 1
net eth0: set FIFO2 bw = 30

9)
// Create vlan 100 to map sk->priority to vlan qos for Eth0
$ ip link add link eth0 name eth0.100 type vlan id 100
net eth0: Adding vlanid 100 to vlan filter

10)
// Map skb->priority to L2 prio for Eth0.100, one to one
$ ip link set eth0.100 type vlan \
egress 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

11)
// Check egress map for vlan 100
$ cat /proc/net/vlan/eth0.100
[...]
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESS priority mappings: 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

12)
// Map skb->priority to traffic class for Eth1:
// 3pri -> tc0, 2pri -> tc1, (0,1,4-7)pri -> tc2
// Map traffic class to transmit queue:
// tc0 -> txq2, tc1 -> txq3, tc2 -> (txq6, txq7)
$ tc qdisc replace dev eth1 handle 100: parent root mqprio num_tc 3 \
map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@2 1@3 2@6 hw 1

13)
// Check classes settings
$ tc -g class show dev eth1
+---(100:ffe2) mqprio
|    +---(100:7) mqprio
|    +---(100:8) mqprio
|
+---(100:ffe1) mqprio
|    +---(100:4) mqprio
|
+---(100:ffe0) mqprio
     +---(100:3) mqprio

14)
// Set rate for class A - 31 Mbit (tc0, txq2) using CBS Qdisc for Eth1
// here only idle slope is important, others ignored, but calculated
// for interface speed - 100Mb for eth1 port.
// Set it +1 Mb for reserve (important!)
$ tc qdisc add dev eth1 parent 100:3 cbs locredit -1035 \
hicredit 465 sendslope -69000 idleslope 31000 offload 1
net eth1: set FIFO3 bw = 31

15)
// Set rate for class B - 11 Mbit (tc1, txq3) using CBS Qdisc for Eth1
// Set it +1 Mb for reserve (important!)
$ tc qdisc add dev eth1 parent 100:4 cbs locredit -1335 \
hicredit 405 sendslope -89000 idleslope 11000 offload 1
net eth1: set FIFO2 bw = 11

16)
// Create vlan 100 to map sk->priority to vlan qos for Eth1
$ ip link add link eth1 name eth1.100 type vlan id 100
net eth1: Adding vlanid 100 to vlan filter

17)
// Map skb->priority to L2 prio for Eth1.100, one to one
$ ip link set eth1.100 type vlan \
egress 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

18)
// Check egress map for vlan 100
$ cat /proc/net/vlan/eth1.100
[...]
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESS priority mappings: 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

19)
// Run appropriate tools with socket option "SO_PRIORITY" to 3
// for class A and to 2 for class B. For both interfaces
./tsn_talker -d 18:03:73:66:87:42 -i eth0.100 -p2 -s 1500&
./tsn_talker -d 18:03:73:66:87:42 -i eth0.100 -p3 -s 1500&
./tsn_talker -d 20:cf:30:85:7d:fd -i eth1.100 -p2 -s 1500&
./tsn_talker -d 20:cf:30:85:7d:fd -i eth1.100 -p3 -s 1500&

20)
// run your listener on workstation (should be in same vlan)
// (I took at https://www.spinics.net/lists/netdev/msg460869.html)
./tsn_listener -d 18:03:73:66:87:42 -i enp5s0 -s 1500
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39012 kbps
Receiving data rate: 39000 kbps

21)
// Restore default configuration if needed
$ ip link del eth1.100
$ ip link del eth0.100
$ tc qdisc del dev eth1 root
net eth1: Prev FIFO2 is shaped
net eth1: set FIFO3 bw = 0
net eth1: set FIFO2 bw = 0
$ tc qdisc del dev eth0 root
net eth0: Prev FIFO2 is shaped
net eth0: set FIFO3 bw = 0
net eth0: set FIFO2 bw = 0
$ ethtool -L eth0 rx 1 tx 1
