Name

skb_checksum_trimmed — validate checksum of an skb

Synopsis

struct sk_buff * skb_checksum_trimmed (struct sk_buff * skb,
 unsigned int transport_len,
 __sum16(*skb_chkf) (struct sk_buff *skb));
 

Arguments

struct sk_buff * skb

the skb to check

unsigned int transport_len

the data length beyond the network header

__sum16(*)(struct sk_buff *skb) skb_chkf

checksum function to use

Description

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.