svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
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)