IF Start / Stop


The purpose of the Interface Start / Stop test is to validate that the driver can successfully stop a network interface and restart it again. Testing the driver’s ability to stop the network interface is often skipped, but it is an essential function. Stopping and starting the network interface of your device is one of the ways to detect buffer leaks since stopping the device will deallocate all the network buffers and descriptors. If restarting the network interface fails, it might indicate that you have a buffer leak situation.

IF Start / Stop Test using NDIT

To validate the start/stop function, the NDIT verifies that the network device should:

  • Respond to an echo request (ping) before stopping the network interface.
  • Ignore an echo request after the network interface has been stopped.
  • Respond again to an echo request after restarting the network interface
Figure - Interface Start / Stop test tab

There is a single option for the Interface Start / Stop test:

Delay

The time between the Interface Stops and the Interface Starts (in seconds).

IF #

The Interface number to Start / Stop.

Analyzing the results

If the Test Result column does not indicate a PASS, it will show a FAIL followed by three echo request results. The first result should be 1 and represents a 100% echo reply success rate before the interface is stopped. The second result should be 0 and represents a 0% echo reply success rate while the interface is stopped. The final result should be 1 and represents a 100% echo reply success rate after the interface is restarted.

In the example shown in Figure 8-5, the test result that shows "FAIL – 1 1 1" indicates that the Interface continued replying to the test station host after it has sent the ifss stop command. Since all commands sent by the NDIT are acknowledged by the target, it is unlikely that the command wasn't received and processed by the target. Furthermore, the 100% success rate for the ICMP echo shows that the target is responsive. Therefore the error should be in the implementation of the NetDev_Stop() function.