DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

udi_nd_tx_req(3udi)


Network send packet

SYNOPSIS

#include <udi.h>

void udi_nd_tx_req (

	udi_nic_tx_cb_t *cb );
 

ARGUMENTS cb is a pointer to a Network Interface Metalanguage transmit control block.

TARGET CHANNEL This request is issued to the ND over the Network Interface Metalanguage transmit data channel.

DESCRIPTION The udi_nd_tx_req is called by the NSR to pass one or more packet buffers to the ND for transmission on the network. The NSR has already build the datalink frame header for the packet and obtained a udi_nic_tx_cb_t from the ND to associate with the packet. The NSR issues the udi_nd_tx_req to the ND; once the packet has been successfully transmitted the ND will deallocate the packet buffer and pass the udi_nd_tx_cb_t back to the NSR in the udi_nsr_tx_rdy operation.

The NSR may chain multiple udi_nic_tx_cb_t structures together as a linked list via the chain field in the structure and pass the entire chain to the ND in a single udi_nd_tx_req operation; each udi_nic_tx_cb_t has an associated buffer which represents a separate packet. When passing the udi_nic_tx_cb_t structures back to the NSR via the udi_nsr_tx_rdy operation the ND is free to subdivide the chain and pass it back in pieces, or it may return the entire chain at once.

Each udi_nd_tx_cb_t contains a completion urgency hint field which is used to indicate to the ND that the corresponding packet transmission should be completed as quickly as possible to return the packet buffer. If this hint does not indicate any packet transmission urgency, the ND is not required to detect transmission completion in any set time period.

The ND is responsible for removing the buffer from the net_tx_cb structure and deallocating the buffer (udi_buf_free) before posting the structure back to the NSR via the udi_nsr_tx_rdy operation.

Note that in the special case where the NSR has initiated a udi_nsr_disable_req operation to this ND, it will return any transmit control blocks it owns via the udi_nd_tx_req operations; these control blocks have no attached buffers and are simply being recycled to the ND device.

REFERENCES udi_nsr_tx_rdy, udi_nd_exp_tx_req


UDI NIC Driver Specification Contents