Go to main content

man pages section 9: DDI and DKI Properties and Data Structures

Exit Print View

Updated: July 2017
 
 

mac_capab_rings(9S)

Name

mac_capab_rings - rings capability data structure

Synopsis

#include <sys/mac_provider.h>

Interface Level

Solaris architecture specific (Solaris DDI)

Description

The mac_capab_rings structure is used by a network device driver to describe its rings capability. The structure is used as the argument to the mc_getcapab(9E) driver entry point when querying the MAC_CAPAB_RINGS capability.

Structure Members

mac_ring_type_t         mr_type;
mac_group_type_t        mr_group_type;
uint32_t                mr_flags;
mac_rings_version_t     mr_version;
uint_t                  mr_rnum;
uint_t                  mr_gnum;
mac_get_ring_t          mr_rget;
mac_get_group_t         mr_gget;
mac_group_add_ring_t    mr_gaddring;
mac_group_rem_ring_t    mr_gremring;

The following fields of the mac_capab_rings structure are set to indicate the device's rings capability:

mr_type

Set by MAC layer to indicate which driver resources is being queried. Possible ring types are MAC_RING_TYPE_RX or MAC_RING_TYPE_TX.

mr_group_type

Set by the driver to indicate whether the device is capable of static or dynamic ring grouping. Possible grouping types for the driver are MAC_GROUP_TYPE_STATIC or MAC_GROUP_TYPE_DYNAMIC. If the driver can dynamically grow and shrink ring groups, then it should advertise the MAC_GROUP_TYPE_DYNAMIC group type and implement mr_gaddring() and mr_gremring() entry points.

mr_flags

Set by the driver to indicate various conditions. Currently, MAC_RINGS_VLAN_TRANSPARENT is the possible value to indicate the hardware is capable of transparent VLANs.

mr_version

Set by the driver to indicate the version of the rings capability that the driver implements. The current revision level is MAC_RINGS_VERSION_1.

mr_rnum

Set by the driver to indicate the total number of RX or TX rings the driver implements.

mr_gnum

Set by the driver to indicate the total number of RX or TX ring groups the hardware implements.

mr_rget

A driver entry point to get specific ring information for each RX and TX ring the hardware implements.

mr_gget

A driver entry point to get the specific information for each RX and TX ring group the driver implements.

mr_gaddring

A driver entry point to add a ring to a driver ring group. This entry point is implemented for drivers who support dynamic ring grouping.

mr_gremring

A driver entry point to remove a specific ring from a driver ring group.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/header
Interface Stability
Committed

See Also

attributes(5), mac_capab_rings(9E), mac_group_info(9E), mc_getcapab(9E), mac_register(9S)