Hi everyone. The ethtool interface has ETHTOOL_PERQUEUE command that is used to read/set per-queue parameters for multiqueue Ethernet devices.
I want to apply additional per-queue commands like per-queue bandwidth and per-queue number of descriptors (like number of rings). Currently only ETHTOOL_G/SCOALESCE sub commands are added for per-queue interface (but I haven't seen counterpart for ethtool util). Using ETHTOOL_G/SCOALESCE per-queue command as an example, I'm going to add 2 additional and 2 known commands for ethtool per-queue interface: ETHTOOL_G/SBANDWIDTH /* Get/Set ethtool per queue bandwidth. Bandwidth can be set with % or absolute in Mb/s */ ETHTOOL_G/SRINGPARAM /* is going to be used to control number of descriptors per queue in my driver */ It's not clear how PERQUEUE command splits rx and tx queues, as they can have different enumeration and different parameters. Actually, there are several questions: - how to split enumeration of rx / tx queues in per queue command, as it uses linear bitmap to mirror affected channels. - where is ethtool util counterpart for per queue command? - is it correct way to use ethtool to configure h/w shaper? In my case, by default, multi queue h/w shaper is working in priority mode. The setting of bandwidth for queues can be used to switch shaper to throughput aware mode when every queue can be bandwidth limited. -- Regards, Ivan Khoronzhuk