mac_hcksum_get(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

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

mac_hcksum_get(9f)

mac_hcksum_get(9F)             Kernel Functions             mac_hcksum_get(9F)

NAME
       mac_hcksum_get, mac_hcksum_set - hardware checksumming offload routines

SYNOPSIS
       #include <sys/mac_provider.h>

       void mac_hcksum_get(mblk_t *mp, uint32_t *start, uint32_t *stuff,
           uint32_t *end, uint32_t *value, uint32_t *flags);


       void mac_hcksum_set(mblk_t *mp, uint32_t start, uint32_t stuff,
           uint32_t end, uint32_t value, uint32_t flags);

PARAMETERS
       mp       pointer to a message block


       start    offset, in bytes, from the start of the IP header to the start
                of the checksum span


       end      offset,  in  bytes, from the start of the IP header to the end
                of the checksum span


       stuff    offset, in bytes, from the start  of  the  IP  header  to  the
                checksum field in the protocol header


       value    hardware computed checksum value


       flags    per-packet  flags  indicating  the hardware checksumming to be
                performed on outbound packets, or  the  hardware  checksumming
                performed on inbound packet


INTERFACE LEVEL
       Solaris architecture specific (Solaris DDI)

DESCRIPTION
       Hardware  checksumming  allows the checksum computation to be offloaded
       to the network device hardware  for  lower  CPU  utilization.  Hardware
       checksumming  capabilities  are  advertised from the driver's mc_getca‐
       pab(9E) entry point. The description  of  mc_getcapab()  also  includes
       more  information  about  the expected behavior of drivers for full and
       partial checksumming offload.


       For received traffic, the hardware can  enable  hardware  checksumming,
       and  the network stack will know how to handle packets for which check‐
       sum computation  or  verification  has  been  performed.  The  mac_hck‐
       sum_set() function can be used by a device driver to associate informa‐
       tion related to the hardware checksumming performed on the packet.


       The flags argument can be a combination of the following:

       HCK_FULLCKSUM           The  full  checksum was computed, and is passed
                               through the value argument.


       HCK_FULLCKSUM_OK        The full checksum was verified in hardware  and
                               is correct.


       HCK_PARTIALCKSUM        Partial  checksum  computed  and passed through
                               the value argument. The start and end arguments
                               specify the checksum span.


       HCK_IPV4_HDRCKSUM_OK    IP header checksum was verified in hardware and
                               is correct.



       HCK_PARTIALCKSUM is  mutually  exclusive  with  the  HCK_FULLCKSUM  and
       HCK_FULLCKSUM_OK flags.


       For  outbound  packets,  hardware checksumming capabilities are queried
       via the mc_getcapab() entry point. Hardware checksumming is enabled  by
       the  network  stack  based on the MAC_CAPAB_HCKSUM capability. A device
       driver that advertised support for this capability can subsequently re‐
       ceive outbound packets that may not have a fully computed checksum.  It
       is  the  responsibility of the driver to invoke mac_hcksum_get() to re‐
       trieve the per-packet hardware checksumming metadata.

       HCK_FULLCKSUM        Compute full checksum for this packet.


       HCK_PARTIALCKSUM     Compute partial 1's complement checksum  based  on
                            the start, stuff, and offset.


       HCK_IPV4_HDRCKSUM    Compute the IP header checksum.



       HCK_PARTIALCKSUM is mutually exclusive with HCK_FULLCKSUM.


       The  flags  HCK_FULLCKSUM,  HCK_FULLCKSUM_OK,  and HCK_PARTIALCKSUM are
       used for both IPv4 and IPv6 packets. The driver advertises support  for
       IPv4  and/or  IPv6 full checksumming during capability negotiation. See
       mc_getcapab(9E).

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), mac(9E)

Oracle Solaris 11.4               11 Jan 2012               mac_hcksum_get(9F)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3