NET_ISPARTIALCHECKSUM(9F) Kernel Functions for Drivers

NAME


net_ispartialchecksum - indicate if a packet is being scheduled for
hardware checksum calculation

SYNOPSIS


#include <sys/neti.h>

int net_ispartialchecksum(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_ispartialchecksum() function looks at the fields within the mblk
structure to determine if the packet contained inside contains headers
with only partial checksum values. Partial checksum values are stored
inside headers when the calculation of the complete checksum is being
handled by the hardware.

RETURN VALUES


The net_ispartialchecksum() function returns:

-1
The network protocol does not support this function.


0
The packet does not contain partial checksums.


If a packet is marked for hardware checksum'ing, the following values are
returned:

NET_HCK_L3_FULL
Complete layer 3 checksum calculated


NET_HCK_L3_PART
Partial layer 3 checksum calculated


NET_HCK_L4_FULL
Complete layer 4 checksum calculated


NET_HCK_L4_PART
Partial layer 4 checksum calculated


CONTEXT


The net_ispartialchecksum() 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_isvalidchecksum(9F), net_protocol_lookup(9F)

May 1, 2008 NET_ISPARTIALCHECKSUM(9F)