| Current File : //usr/man/man9s/mac_capab_rings.9s |
'\" te
.\" Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
.TH mac_capab_rings 9S "16 Jun 2011" "SunOS 5.11" "Data Structures for Drivers"
.SH NAME
mac_capab_rings \- rings capability data structure
.SH SYNOPSIS
.LP
.nf
#include <sys/mac_provider.h>
.fi
.SH INTERFACE LEVEL
.sp
.LP
Solaris architecture specific (Solaris DDI)
.SH DESCRIPTION
.sp
.LP
The \fBmac_capab_rings\fR structure is used by a network device driver to describe its rings capability. The structure is used as the argument to the \fBmc_getcapab\fR(9E) driver entry point when querying the \fBMAC_CAPAB_RINGS\fR capability.
.SH STRUCTURE MEMBERS
.sp
.in +2
.nf
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;
.fi
.in -2
.sp
.LP
The following fields of the \fBmac_capab_rings\fR structure are set to indicate the device's rings capability:
.sp
.ne 2
.mk
.na
\fB\fImr_type\fR\fR
.ad
.RS 17n
.rt
Set by MAC layer to indicate which driver resources is being queried. Possible ring types are \fBMAC_RING_TYPE_RX\fR or \fBMAC_RING_TYPE_TX\fR.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_group_type\fR\fR
.ad
.RS 17n
.rt
Set by the driver to indicate whether the device is capable of static or dynamic ring grouping. Possible grouping types for the driver are \fBMAC_GROUP_TYPE_STATIC\fR or \fBMAC_GROUP_TYPE_DYNAMIC\fR. If the driver can dynamically grow and shrink ring groups, then it should advertise the \fBMAC_GROUP_TYPE_DYNAMIC\fR group type and implement \fBmr_gaddring()\fR and \fBmr_gremring()\fR entry points.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_flags\fR\fR
.ad
.RS 17n
.rt
Set by the driver to indicate various conditions. Currently, \fBMAC_RINGS_VLAN_TRANSPARENT\fR is the possible value to indicate the hardware is capable of transparent VLANs.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_version\fR\fR
.ad
.RS 17n
.rt
Set by the driver to indicate the version of the rings capability that the driver implements. The current revision level is \fBMAC_RINGS_VERSION_1\fR.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_rnum\fR\fR
.ad
.RS 17n
.rt
Set by the driver to indicate the total number of RX or TX rings the driver implements.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_gnum\fR\fR
.ad
.RS 17n
.rt
Set by the driver to indicate the total number of RX or TX ring groups the hardware implements.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_rget\fR\fR
.ad
.RS 17n
.rt
A driver entry point to get specific ring information for each RX and TX ring the hardware implements.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_gget\fR\fR
.ad
.RS 17n
.rt
A driver entry point to get the specific information for each RX and TX ring group the driver implements.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_gaddring\fR\fR
.ad
.RS 17n
.rt
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.
.RE
.sp
.ne 2
.mk
.na
\fB\fImr_gremring\fR\fR
.ad
.RS 17n
.rt
A driver entry point to remove a specific ring from a driver ring group.
.RE
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Availabilitysystem/header
_
Interface StabilityCommitted
.TE
.SH SEE ALSO
.sp
.LP
\fBattributes\fR(5), \fBmac_capab_rings\fR(9E), \fBmac_group_info\fR(9E), \fBmc_getcapab\fR(9E), \fBmac_register\fR(9S)