|
@@ -2024,6 +2024,11 @@ static inline int udp4_csum_init(struct sk_buff *skb, struct udphdr *uh,
|
|
err = udplite_checksum_init(skb, uh);
|
|
err = udplite_checksum_init(skb, uh);
|
|
if (err)
|
|
if (err)
|
|
return err;
|
|
return err;
|
|
|
|
+
|
|
|
|
+ if (UDP_SKB_CB(skb)->partial_cov) {
|
|
|
|
+ skb->csum = inet_compute_pseudo(skb, proto);
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/* Note, we are only interested in != 0 or == 0, thus the
|
|
/* Note, we are only interested in != 0 or == 0, thus the
|