mac_hcksum_get man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

mac_hcksum_get(9F)	 Kernel Functions for Drivers	    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(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWhea			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Committed			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       attributes(5), mac(9E)

SunOS 5.10			  26 Jul 2010		    mac_hcksum_get(9F)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net