ARM: SPEAr13xx: Fix static mapping table
[firefly-linux-kernel-4.4.55.git] / include / net / udp.h
index 5eb86874bcd68bc5b5d1c0069db35411b0573b85..68a1fefe3dfe46c3fc8f4847fa074fdb237573bb 100644 (file)
@@ -111,7 +111,9 @@ struct sk_buff;
  */
 static inline __sum16 __udp_lib_checksum_complete(struct sk_buff *skb)
 {
-       return __skb_checksum_complete_head(skb, UDP_SKB_CB(skb)->cscov);
+       return (UDP_SKB_CB(skb)->cscov == skb->len ?
+               __skb_checksum_complete(skb) :
+               __skb_checksum_complete_head(skb, UDP_SKB_CB(skb)->cscov));
 }
 
 static inline int udp_lib_checksum_complete(struct sk_buff *skb)
@@ -147,6 +149,15 @@ static inline __wsum udp_csum(struct sk_buff *skb)
        return csum;
 }
 
+static inline __sum16 udp_v4_check(int len, __be32 saddr,
+                                  __be32 daddr, __wsum base)
+{
+       return csum_tcpudp_magic(saddr, daddr, len, IPPROTO_UDP, base);
+}
+
+void udp_set_csum(bool nocheck, struct sk_buff *skb,
+                 __be32 saddr, __be32 daddr, int len);
+
 /* hash routines shared between UDPv4/6 and UDP-Litev4/6 */
 static inline void udp_lib_hash(struct sock *sk)
 {