Adding Rx rule for TCP or UDP

Check that Rx classification rule can redirect matching TCP/UDP traffic to a different Rx queue.

  1. Create the first pair of connected sockets on IUT and Tester.

  2. Compute RSS hash and predict the Rx queue init_queue that should process packets send from Tester over the first connection.

  3. Find another pair of ports on IUT and Tester such that the same Rx queue will be used to receive packets if sockets are bound to these new ports.

  4. Create the second pair of connected sockets on IUT and Tester bound to these new ports.

  5. Send packets from Tester to IUT via the first connection, check that on IUT they are received by init_queue Rx queue.

  6. Send packets from Tester to IUT via the second connection, check that on IUT they are received by init_queue Rx queue.

  7. Add Rx classification rule directing packets received via the first connection to another Rx queue new_queue.

  8. Send packets from Tester to IUT via the first connection, check that on IUT they are received by new_queue Rx queue.

  9. Send packets from Tester to IUT via the second connection, check that on IUT they are received by init_queue Rx queue.

Parameters:

env

Testing environment:

sock_type

Socket type:

  • SOCK_STREAM

  • SOCK_DGRAM

match_src

If FALSE, source address/port should be omitted in Rx rule

match_dst

If FALSE, destination address/port should be omitted in Rx rule

location

Location for the added rule:

  • first

  • last

  • any

  • specific (request specific place in rules table)