Hi again Juraj,
sorry for yet another comment!
On 11/04/2024 09:48, Juraj Linkeš wrote:
+ def get_capas_rxq(
+ self, supported_capabilities: MutableSet, unsupported_capabilities:
MutableSet
+ ) -> None:
+ """Get all rxq capabilities and divide them into supported and
unsupported.
+
+ Args:
+ supported_capabilities: A set where capabilities which are
supported will be stored.
+ unsupported_capabilities: A set where capabilities which are
+ not supported will be stored.
+ """
+ self._logger.debug("Getting rxq capabilities.")
+ command = "show rxq info 0 0"
In my testing of Jeremy's patches which depend on this one ("Add second
scatter test case"), I've discovered that the Intel E810-C NIC I am
using to test does not automatically show "RX scattered packets: on".
But I've noticed it does if the MTU is set to something big like 9000.
I've tested a change of this by adding:
self.set_port_mtu(0, 9000)
+ rxq_info = self.send_command(command)
self.set_port_mtu(1, 9000)
And it seems to work alright. I've also tested this specific change with
Mellanox NICs and it didn't seem to affect them at all. No errors or
problems and they still showed "RX scattered packets: off" as expected.
The `set_port_mtu` method comes from Jeremy's patch...
+ for line in rxq_info.split("\n"):
+ bare_line = line.strip()
+ if bare_line.startswith("RX scattered packets:"):
+ if bare_line.endswith("on"):
+ supported_capabilities.add(NicCapability.scattered_rx)
+ else:
+ unsupported_capabilities.add(NicCapability.scattered_rx)