Check Rx mode combinations

Check that Rx mode is appropriately handled by the driver and packets are received or not depending on configured Rx mode and destination MAC address.

  1. Enable or disable promiscuous mode on the IUT interface according to promisc parameter.

  2. Enable or disable all-multicast mode on the IUT interface according to allmulti parameter.

  3. Create UDP socket on IUT, bind it to iut_addr.

  4. Create a CSAP on IUT to capture UDP packets sent to iut_addr.

  5. Create a CSAP on Tester to send packets to iut_addr.

  6. Send a packet to iut_lladdr MAC address (currently set on the IUT interface) from the Tester CSAP. Check that IUT socket receives data and IUT CSAP captures the packet.

  7. Send a packet to the broadcast MAC address from the Tester CSAP. Check that IUT socket receives data and IUT CSAP captures the packet.

  8. Send a packet to iut_alien_mac MAC address from the Tester CSAP. Check that IUT socket does not receive data. Check that IUT CSAP captures the packet only when promisc is true.

  9. Send a packet to mcast_addr MAC address from the Tester CSAP. Check that IUT socket receives data if either promiscuous or all-multicast mode is enabled. Check that IUT CSAP captures the packet when promisc and/or allmulti is true.

  10. Add mcast_addr to the iut_if.

  11. Send a packet to the just added mcast_addr MAC address from the Tester CSAP. Check that IUT socket receives data. Check that IUT CSAP captures the packet.

Andrew Rybchenko andrew.rybchenko@oktetlabs.ru

Parameters:

env

Testing environment:

promisc

If true, enable promiscuous mode on the IUT interface, otherwise disable it.

allmulti

If true, enable all-multicast mode on the IUT interface, otherwise disable it.