udi_nd_disable_req(3udi)
Network link disable request operation
#include <udi.h>void udi_nd_disable_req ( udi_nic_cb_t *cb );ARGUMENTS cb is a pointer to a Network Interface Metalanguage standard control block.
TARGET CHANNEL This request is issued to the ND over the Network Interface Metalanguage control channel.
DESCRIPTION The udi_nd_disable_req is used when the NSR wishes to shutdown an active link interface and terminate any data transfer activity for that link. This does not cause an unbind operation, and all control and data transfer channels between the NSR and the ND are preserved, but the hardware link interface state is set to remove the adapter from the network. This request must be honored and implemented by the ND; there is no failure case and correspondingly there is no acknowledgement to the NSR of this operation and the ND is responsible for deallocating this control block after processing the disable request.
The NSR may be notified of the link down state as a result of the ND issuing a udi_nsr_status_ind, but this is not required and the ND is not expected to communicate any link state changes to the NSR when the interface state is down.
When this operation is received by the ND, the ND should remove any requests queued to (but not yet acted upon by) the hardware and discard all currently held requests via appropriate actions. Operations which cannot be de-queued from the hardware are allowed to complete and should be handled on completion.
This request cannot be aborted.
This operation causes the ND and NSR to enter the BOUND state (see Section 2.4.1, "NIC Metalanguage States").
REFERENCES udi_nd_enable_req, udi_nic_cb_t
3.3.6 Control and Status Operations
The purpose of the control operation is to perform a specific network-related function on the driver (ND) or the controlled hardware. The most common functions that have been identified are:
setting a multicast address
setting adapter physical address
setting a filtering mode (i.e. promiscuous mode)
resetting the driver/card
All of the above functions have been implemented using a single pair of channel operations: udi_nd_ctrl_req and udi_nsr_ctrl_ack. A command field in the udi_nic_ctrl_cb_t control block informs the ND of the type of control function the caller wishes to execute. The normal flow for the control operation is illustrated in Figure 3-4
.The information request/response operations are used by the NSR to obtain configuration and statistics information.
The status operation is an unsolicited event indication issued by the ND to the NSR to inform the NSR of a change in status. Some of the status events indicated by the udi_nsr_status_ind indications are similar to those that can be queried via the udi_nd_ctrl_req operation.