skb_checksum_trimmed — validate checksum of an skb
struct sk_buff * skb_checksum_trimmed ( | struct sk_buff * skb, |
| unsigned int transport_len, | |
__sum16(*skb_chkf)
(struct sk_buff *skb)); |
skbthe skb to check
transport_lenthe data length beyond the network header
skb_chkfchecksum function to use
Applies the given checksum function skb_chkf to the provided skb. Returns a checked and maybe trimmed skb. Returns NULL on error.
If the skb has data beyond the given transport length, then a trimmed & cloned skb is checked and returned.
Caller needs to set the skb transport header and free any returned skb if it differs from the provided skb.