NET_ISVALIDCHECKSUM(9F) Kernel Functions for Drivers
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 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)