Setting rx_coalesce_usecs to a specific valueΒΆ

Check that when rx_coalesce_usecs is set to a specific value, Rx interrupts coalescing works accordingly.

  1. Establish connection between a pair of UDP sockets on IUT and Tester.

  2. Send a packet from Tester and receive it on IUT to be sure that IUT IP address is resolved.

  3. Disable use_adaptive_rx_coalesce on IUT interface.

  4. Set rx_coalesce_usecs to the value of coalesce_usecs for the IUT interface. Also for nonzero coalesce_usecs set rx_max_coalesced_frames to zero so that it is not taken into account when coalescing; for zero coalesce_usecs set it to 1.

    • If setting fails with EOPNOTSUPP, try to set only rx_coalesce_usecs, as setting rx_max_coalesced_frames may be not available.

  5. Create a CSAP on Tester to capture packets sent from it to IUT.

  6. Create a CSAP on IUT to capture packets received from Tester.

  7. For some time send UDP packets from Tester to IUT, waiting a little after sending every packet. Receive and check data on IUT.

  8. Investigate timestamps of Tx packets captured by Tester CSAP. Memorize numbers of packets sent after big delays to ignore them when computing coalescing statistics on IUT.

  9. Investigate timestamps of packets captured by CSAP on IUT. If coalesce_usecs is 0, there should be only small delays after every packet. If coalesce_usecs is not zero, packets should be received in groups separated by larger delays.

Dmitry Izbitsky Dmitry.Izbitsky@oktetlabs.ru

Parameters:

env

Testing environment:

coalesce_usecs

Value to set for rx_coalesce_usecs:

  • 0 (interrupt moderation is disabled)

  • 300

  • 800