openwrt/target
Sander Vanheule 0b35a08a05 realtek: correct egress frame priority assignment
Priority values passed to the egress (TX) frame header initialiser are
invalid when smaller than 0, and should not be assigned to the frame.
Queue assignment is then left to the switch core logic.

Current code for RTL83xx forces the passed priority value to be
positive, by always masking it to the lower bits, resulting in the
priority always being set and enabled. RTL93xx code doesn't even check
the value and unconditionally assigns the (32 bit) value to the (5 bit)
QID field without masking.

Fix priority assignment by only setting the AS_QID/AS_PRI flag when a
valid value is passed, and properly mask the value to not overflow the
QID/PRI field.

For RTL839x, also assign the priority to the right part of the frame
header. Counting from the leftmost bit, AS_PRI and PRI are in bits 36
and 37-39. The means they should be assigned to the third 16 bit value,
containing bits 32-47.

Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-07-17 10:06:46 +02:00
..
imagebuilder imagebuilder: export SOURCE_DATE_EPOCH to environment 2022-04-10 00:56:38 +01:00
linux realtek: correct egress frame priority assignment 2022-07-17 10:06:46 +02:00
llvm-bpf llvm-bpf: fix rebuild check for generating tarball 2021-11-26 11:37:19 +01:00
sdk build: scripts/config - update to kconfig-v5.14 2022-02-19 13:10:01 +01:00
toolchain toolchain: switch packaged toolchain to tar.xz 2021-10-21 08:25:38 -10:00
Config.in base-files: add eMMC sysupgrade support 2021-12-02 20:42:58 +00:00
Makefile tools/llvm-bpf: move tarball packing to target/llvm-bpf 2021-11-22 12:00:40 +01:00