The following sections discuss programming issues that must be considered by a driver that transmits data from or receives data into memory that is shared between a DMA-capable NIC and the driver that manages it. As well, the section briefly describes synchronization issues.