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

개요

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

mac_register(9s)

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 in‐
                       stance.


       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 ex‐
                       ample, 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