mac_register(9s) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

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)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3