Skip Navigation Links | |
Exit Print View | |
man pages section 9: DDI and DKI Driver Entry Points Oracle Solaris 11 Information Library |
- MAC ring info driver entry points
#include <sys/mac_provider.h> int prefix_ring_start(mac_ring_driver_t ring_handle, uint64_t gen_num);
void prefix_ring_stop(mac_ring_driver_t ring_handle);
mblk_t *prefix_ring_tx(void *arg, mblk_t *mp);
mblk_t *prefix_ring_poll(void *arg, int nbytes, int npackets);
int prefix_ring_stat(mac_ring_driver_t ring_handle, uint_t stat, uint64_t *val);
int mri_intr_enable(mac_intr_handle_t *ihandle);
int mri_intr_disable(mac_intr_handle_t *ihandle);
The opaque handle to the driver's representation of the specified ring.
Generation number for this ring.
Opaque handle to the driver's ring.
Chain of mblk packet buffers.
The number of total bytes that will be polled for this call to prefix_ring_poll().
The maximum number of packets that will be returned for this call to prefix_ring_poll().
The pointer to the ring statistic being queried.
The opaque handle to the driver private data representing this interrupt.
Solaris architecture specific (Solaris DDI).
The prefix_ring_start() function is the driver entry point called by the MAC layer to start the ring processing packets. The prefix_ring_stop() function is the driver entry point called by the MAC layer to stop the ring processing packets.
The mri_stop() function is the driver entry point called by the MAC layer to stop the ring processing packets
The prefix_ring_tx() function is the driver entry point called by the MAC layer to transmit packets. This is a TX ring only entry point.
The prefix_ring_poll() function is the driver entry point called by the MAC layer to poll for the reception of incoming packets. This is RX ring only driver entry point. Packets are returned to the MAC layer as a chain of mblks. The parameters of nbytes is used to cap the number of bytes that can be polled while the npackets parameters caps the number of packets that can be polled.
The prefix_ring_stat() function is the driver entry point called to get various ring statistics. Statistics included for TX/RX rings:
|
The mri_intr_enable() function is the driver entry point called by the MAC layer to enable interrupts to re-enable interrupts while transitioning the ring from polling mode to interrupt mode. This is an RX ring entry point.
The mri_intr_disable() function is the driver entry point called by the MAC layer to disable interrupts for the specified ring while transitioning the ring to polling mode.
The prefix_ring_start() function returns 0 on success and EIO when the operation fails.
The prefix_ring_tx() function returns NULL if all packets are transmitted. It returns some or all of the mblk chain if some or all of the packets where processed.
The prefix_ring_poll() function returns It returns a chain of packets received during this poll call or NULL if no packets where received.
The prefix_ring_stat() function returns 0 on success and ENOTUSP if the statistic is not supported.
The mri_intr_enable() function returns 0 on success.
The mri_intr_disable() function returns 0 on success.
See attributes(5) for descriptions of the following attributes:
|