svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
mac_register(9s)
Kernel & Driver Data Structures mac_register(9S)
NAME
mac_register - MAC device driver registration data structure
SYNOPSIS
#include <sys/mac_provider.h>
#include <sys/mac_ether.h>
INTERFACE LEVEL
Solaris architecture specific (Solaris DDI)
DESCRIPTION
The mac_register data structure is passed by device drivers to the MAC
layer when registering using the mac_register(9F).
STRUCTURE MEMBERS
uint_t m_version; /* set by framework */
const char *m_type_ident;
void *m_driver;
dev_info_t *m_dip;
uint_t m_instance;
uint8_t *m_src_addr;
uint8_t *m_dst_addr;
mac_callbacks_t *m_callbacks;
uint_t m_min_sdu;
uint_t m_max_sdu;
void *m_pdata;
size_t m_pdata_size;
char **m_priv_props;
uint32_t m_margin;
The following fields of mac_register_t must be set by the device driver
before invoking the mac_register()entry point:
m_version Set by mac_alloc(9F), device drivers should not modify
this field.
m_type_ident Must be set to one of the following depending on the
type of device being registered.
MAC_PLUGIN_IDENT_ETHER Ethernet driver
m_driver Driver handle, opaque to the framework, usually points
to a per-driver instance data structure. Passed back as
argument to driver's entry points invoked by the frame‐
work.
m_dip Pointer to the driver instance dev_info structure. For
more information, see the attach(9E) man page.
m_instance Used by the driver to specify the instance number to be
associated with the MAC being registered. This value
should always specified by 0.
m_src_addr Pointer to the primary MAC address value of the MAC
instance.
m_dst_addr Pointer to the destination MAC address value of a fixed
destination MAC address. This field is optional and
should be set to NULL for regular device drivers.
m_callbacks Pointer to an instance of the mac_callbacks(9S) struc‐
ture.
m_min_sdu Minimum Service Data Unit size, the minimum packet
size, not including the MAC header, that the device can
transmit. This can be zero if the device driver can
handle any required padding.
m_max_sdu Maximum Service Data Unit size, the maximum packet
size, not including the MAC header, that can be trans‐
mitted by the device. For Ethernet, this number is com‐
monly referred to as the MTU (maximum transmission
unit.)
m_priv_props Array of driver-private property names, terminated by a
null pointer.
m_margin Drivers set this value to the amount of data in bytes
that the device can transmit beyond m_max_sdu. For
example, if an Ethernet device can handle packets whose
payload section is no greater than 1522 bytes and
m_max_sdu is set to 1500 (as is typical for Ethernet),
then m_margin is set to 22.
For more information about the use of these fields, see the mac_regis‐
ter(9F) man page.
The driver is responsible for allocating the memory pointed to by the
fields m_priv_props, m_src_addr, and m_dst_addr. The driver can free
this memory after the call to mac_register() returns.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/header _ Interface StabilityCommit‐
ted
SEE ALSO
attributes(7), attach(9E), mac_register(9F), mac_callbacks(9S)
Oracle Solaris 11.4 30 Aug 2016 mac_register(9S)