can-tc-init-etf: add example script to setup queuing for etf

pull/389/head
Marc Kleine-Budde 2022-12-08 16:40:47 +01:00
parent c6f2cf7c2f
commit 5b5f1523c4
2 changed files with 50 additions and 0 deletions

View File

@ -106,6 +106,7 @@ EXTRA_DIST += \
autogen.sh \
can-j1939-kickstart.md \
can-j1939.md \
can-tc-init-etf.sh \
mcp251xfd/99-devcoredump.rules \
mcp251xfd/devcoredump

49
can-tc-init-etf.sh 100755
View File

@ -0,0 +1,49 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022 Pengutronix, Marc Kleine-Budde <kernel@pengutronix.de>
set -e
IFACE=${1:-can0}
MARK=${2:-1}
clear() {
tc -batch - <<EOF
qdisc replace dev ${IFACE} root pfifo_fast
EOF
}
show() {
tc -batch - <<EOF
qdisc show dev ${IFACE}
filter show dev ${IFACE}
EOF
}
prio_etf_mark() {
tc -batch - <<EOF
qdisc replace dev ${IFACE} parent root handle 100 prio \
bands 3
qdisc replace dev ${IFACE} handle 1001 parent 100:1 etf clockid CLOCK_TAI \
delta 200000
qdisc replace dev ${IFACE} handle 1002 parent 100:3 pfifo_fast
filter add dev ${IFACE} parent 100: prio 1 \
handle ${MARK} fw flowid 100:1
filter add dev ${IFACE} parent 100: prio 2 \
basic match canid (sff 0x0:0x0 eff 0x0:0x0) flowid 100:2
EOF
}
clear
prio_etf_mark
show