On Mon, Jan 23, 2023 at 02:45:48PM -0800, Jakub Kicinski wrote: > On Mon, 23 Jan 2023 22:05:58 +0200 Maxim Mikityanskiy wrote: > > OK, I seem to get it now, thanks for the explanation! > > > > How do you set the priority for HTB, though? You mentioned this command > > to set priority of unclassified traffic: > > > > devlink -p dev param set pci/0002:04:00.0 name tl1_rr_prio value 6 \ > > cmode runtime > > > > But what is the command to change priority for HTB? > > > > What bothers me about using devlink to configure HTB priority is: > > > > 1. Software HTB implementation doesn't have this functionality, and it > > always prioritizes unclassified traffic. As far as I understand, the > > rule for tc stuff is that all features must have a reference > > implementation in software. > > > > 2. Adding a flag (prefer unclassified vs prefer classified) to HTB > > itself may be not straightforward, because your devlink command has a > > second purpose of setting priorities between PFs/VFs, and it may > > conflict with the HTB flag. > > If there is a two-stage hierarchy the lower level should be controlled > by devlink-rate, no? >From the last picture by Hariprasad, I understood that the user sets all priorities (for unclassified traffic per PF and VF, and for HTB traffic) on the same TL2 level, i.e. it's not two-stage. (Maybe I got it all wrong again?) I asked about the command to change the HTB priority, cause the parameters aren't easily guessed, but I assume it's also devlink (i.e. driver-specific). If there were two levels (the upper level chooses who goes first: HTB or unclassified, and the lower level sets priorities per PF and VF for unclassified traffic), that would be more straightforward to solve: the upper level should be controlled by a new HTB parameter, and the lower level is device-specific, thus it goes to devlink.