NET_ISVALIDCHECKSUM(9F) Kernel Functions for Drivers NET_ISVALIDCHECKSUM(9F)

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)