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
       receive  outbound  packets that may not have a fully computed checksum.
       It is the responsibility of the driver to  invoke  mac_hcksum_get()  to
       retrieve 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