Skip Navigation Links | |
Exit Print View | |
man pages section 9: DDI and DKI Driver Entry Points Oracle Solaris 11.1 Information Library |
- MAC capab rings driver entry points
#include <sys/mac_provider.h> void prefix_ring_get(void *driver_handle, mac_ring_type_t rtype, int group_index, int ring_index, mac_ring_info_t *rinfop, mac_ring_handle_t ring_handle);
void prefix_group_get(void *driver_handle, mac_ring_type_t rtype, int group_index, mac_group_info_t *ginfop, mac_group_handle_t group_handle);
void prefix_group_add_ring(mac_group_driver_t group_handle, mac_ring_driver_t ring_handle, mac_ring_type_t rtype);
void prefix_group_remove_ring(mac_group_driver_t group_handle, mac_ring_driver_t ring_handle, mac_ring_type_t, rtype);
Pointer to the driver-private handle which was specified by the device driver through the m_driver field of the mac_register(9S) structure during registration.
The ring type being queried, either RX or TX rings.
MAC_RING_TYPE_TX for TX rings or TX ring groups.
MAC_RING_TYPE_RX for RX rings or RX ring groups.
The ring group index supplied by the MAC layer to query a specific driver ring group. The group index should not exceed the number of ring groups reported in response to a MAC_CAPAB_RINGS query.
The ring index supplied by the MAC layer to query a specific ring. The ring index should not exceed the number of rings reported in a MAC_CAPAB_RINGS query.
The mac_ring_info(9S) structure to be filled by the driver for the mac layer. This structure provides the MAC layer the specific information it requires to manipulate this specific driver ring.
The mac_group_info(9S) structure to be filled by the driver for the mac layer. This structure provides the MAC layer the specific information it requires to manipulate this specific driver ring group.
An opaque handle to the MAC layer's representation of this ring group.
An opaque handle to the MAC layer's representation of this ring.
Solaris architecture specific (Solaris DDI).
The entry points described below are implement the MAC device driver and passed to the MAC layer through the mac_capab_rings structure as part of the response to a MAC_CAPAB_RINGS request from the MAC layer.
The mr_gget() function requests the driver to fill in the mac_group_info structure in response to the MAC layer. The MAC layer then uses the response to further manipulate the ring group of the driver.
The mr_rget() function requests the driver to fill in the mac_ring_info structure in response to the MAC layer. The MAC layer then uses the response to further manipulate a ring controlled by the driver.
The mr_gaddring() function adds the specified ring to the specified ring group. This action should be implemented only in MAC drivers that implement dynamic ring grouping as described in mac_capab_rings(9S).
The mr_gremring() function removes the specified ring from the specified ring group. This action should be implemented only in MAC drivers that implement dynamic ring grouping as described in mac_capab_rings(9S).
None of these entry points have return values.
See attributes(5) for descriptions of the following attributes:
|
attributes(5), mac_capab_rings(9S), mac_group_info(9S), mac_register(9S), mac_ring_info(9S)