NET_ISVALIDCHECKSUM(9F) Kernel Functions for Drivers
NAME
net_isvalidchecksum - verify layer 3 and layer 4 checksums
SYNOPSIS
#include <sys/neti.h>
int net_isvalidchecksum(
const net_data_t net,
mblk_t *
mb);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
net value returned from a successful call to
net_protocol_lookup(9F).
mb the
mblk structure holding a packet that is the subject of this
query.
DESCRIPTION
The
net_isvalidchecksum() function verifies the layer 3 checksum
(and, in some case, the layer 4 checksum) in the packet. If possible,
fields that are used by hardware checksum'ing are examined rather
than manually verifying that the checksums are present for packets
received from a network interface.
For both
IPv4 and
IPv6,
TCP,
UDP and
ICMP (including
ICMPV6 for
IPv6)
layer 4 checksums are currently validated.
RETURN VALUES
The
net_isvalidchecksum() function returns:
-1 The network protocol does not support this function.
0 The packet does not contain partial checksums.
1 The packet does contain partial checksums.
CONTEXT
The
net_isvalidchecksum() function may be called from user, kernel,
or interrupt context.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
attributes(7),
net_ispartialchecksum(9F),
net_protocol_lookup(9F) May 1, 2008 NET_ISVALIDCHECKSUM(9F)