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

net_isvalidchecksum - verify layer 3 and layer 4 checksums

#include <sys/neti.h>
int net_isvalidchecksum(const net_data_t net, mblk_t *mb);

illumos DDI specific (illumos DDI).

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.

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.

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.

The net_isvalidchecksum() function may be called from user, kernel, or interrupt context.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed

attributes(7), net_ispartialchecksum(9F), net_protocol_lookup(9F)

May 1, 2008 OmniOS