Starting and Stopping Network Interfaces

Starting

When a network interface is started, it becomes an active interface that is capable of transmitting and receiving data assuming an operational link to the network medium. A network interface may be started any time after the network interface has been successfully “added” to the system. A successful call to NetIF_Start() marks the end of the initialization sequence of µC/TCP-IP for a specific network interface. Recall that the first interface added and started will be the default interface.

The application developer may start a network interface by calling the NetIF_Start() API function with the necessary parameters. A call to NetIF_Start() is shown below.

Listing - Calling NetIF_Start()
NetIF_Start(if_nbr, &err);   (1)
  1. NetIF_Start() requires two arguments. The first function argument is the interface number that the application wants to start, and the second argument is a pointer to a NET_ERR to contain the return error code. The interface number is acquired upon successful addition of the interface and upon the successful start of the interface; the return error variable will contain the value NET_IF_ERR_NONE.

There are very few things that could cause a network interface to not start properly. The application developer should always inspect the return error code and take the appropriate action if an error occurs. Once the error is resolved, the application may again attempt to call NetIF_Start().

Stopping

Under some circumstances, it may be desirable to stop a network interface such as for saving power. A network interface may be stopped any time after it has been successfully “added” to the system. Stopping an interface may be performed by calling NetIF_Stop() with the appropriate arguments shown below.

Listing - Calling NetIF_Stop()
NetIF_Stop(if_nbr, &err);   (1)
  1. NetIF_Stop() requires two arguments. The first function argument is the interface number that the application wants to stop, and the second argument is a pointer to a NET_ERR to contain the return error code. The interface number is acquired upon the successful addition of the interface and upon the successful stop of the interface; the return error variable will contain the value NET_IF_ERR_NONE.

There are very few things that may cause a network interface to not stop properly. The application developer should always inspect the return error code and take the appropriate action if an error occurs. Once the error is resolved, the application may attempt to call NetIF_Stop() again.