udp: remove headers from UDP packets before queueing
[deliverable/linux.git] / include / net / udp.h
index d870ec1611c4e011256d6b301c8c6655f719e5cf..a0b0da97164c03a9ad6c796247181e242254a682 100644 (file)
@@ -158,6 +158,15 @@ static inline __sum16 udp_v4_check(int len, __be32 saddr,
 void udp_set_csum(bool nocheck, struct sk_buff *skb,
                  __be32 saddr, __be32 daddr, int len);
 
+static inline void udp_csum_pull_header(struct sk_buff *skb)
+{
+       if (skb->ip_summed == CHECKSUM_NONE)
+               skb->csum = csum_partial(udp_hdr(skb), sizeof(struct udphdr),
+                                        skb->csum);
+       skb_pull_rcsum(skb, sizeof(struct udphdr));
+       UDP_SKB_CB(skb)->cscov -= sizeof(struct udphdr);
+}
+
 struct sk_buff **udp_gro_receive(struct sk_buff **head, struct sk_buff *skb,
                                 struct udphdr *uh);
 int udp_gro_complete(struct sk_buff *skb, int nhoff);
This page took 0.026674 seconds and 5 git commands to generate.