diff options
Diffstat (limited to 'include/net/udp.h')
-rw-r--r-- | include/net/udp.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/net/udp.h b/include/net/udp.h index 70f941368ace..16f4e80f0519 100644 --- a/include/net/udp.h +++ b/include/net/udp.h | |||
@@ -158,6 +158,24 @@ static inline __sum16 udp_v4_check(int len, __be32 saddr, | |||
158 | void udp_set_csum(bool nocheck, struct sk_buff *skb, | 158 | void udp_set_csum(bool nocheck, struct sk_buff *skb, |
159 | __be32 saddr, __be32 daddr, int len); | 159 | __be32 saddr, __be32 daddr, int len); |
160 | 160 | ||
161 | struct sk_buff **udp_gro_receive(struct sk_buff **head, struct sk_buff *skb, | ||
162 | struct udphdr *uh); | ||
163 | int udp_gro_complete(struct sk_buff *skb, int nhoff); | ||
164 | |||
165 | static inline struct udphdr *udp_gro_udphdr(struct sk_buff *skb) | ||
166 | { | ||
167 | struct udphdr *uh; | ||
168 | unsigned int hlen, off; | ||
169 | |||
170 | off = skb_gro_offset(skb); | ||
171 | hlen = off + sizeof(*uh); | ||
172 | uh = skb_gro_header_fast(skb, off); | ||
173 | if (skb_gro_header_hard(skb, hlen)) | ||
174 | uh = skb_gro_header_slow(skb, hlen, off); | ||
175 | |||
176 | return uh; | ||
177 | } | ||
178 | |||
161 | /* hash routines shared between UDPv4/6 and UDP-Litev4/6 */ | 179 | /* hash routines shared between UDPv4/6 and UDP-Litev4/6 */ |
162 | static inline void udp_lib_hash(struct sock *sk) | 180 | static inline void udp_lib_hash(struct sock *sk) |
163 | { | 181 | { |