[PATCH v2 1/4] realtek: correct egress frame priority assignment

Birger Koblitz mail at birger-koblitz.de
Sun Jun 19 06:45:30 PDT 2022


On 19/06/2022 13:46, Sander Vanheule wrote:
> 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.

Perfect!

Best
  Birger



More information about the openwrt-devel mailing list