Skip Navigation Links | |
Exit Print View | |
man pages section 9: DDI and DKI Driver Entry Points Oracle Solaris 11.1 Information Library |
- MAC ring info driver entry points
#include <sys/mac_provider.h> int mri_start(mac_ring_driver_t ring_handle, uint64_t gen_num);
void mri_stop(mac_ring_driver_t ring_handle);
mblk_t *mri_tx(void *arg, mblk_t *mp);
mblk_t *mri_poll(void *arg, int nbytes, int npackets);
int mri_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 mri_poll().
The maximum number of packets that will be returned for this call to mri_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 mri_start() function is the driver entry point called by the MAC layer to start 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 mri_stop() function is the driver entry point called by the MAC layer to stop the ring processing packets
The mri_tx() function is the driver entry point called by the MAC layer to transmit packets. This is a TX ring only entry point.
The mri_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 mri_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 mri_start() function returns 0 on success and EIO when the operation fails.
The mri_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 mri_poll() function returns It returns a chain of packets received during this poll call or NULL if no packets where received.
The mri_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:
|
attributes(5), mac_capab_rings(9E), mac_group_info(9E), mac_capab_rings(9S), mac_register(9S)