Lines Matching full:seg

192 static void __udpv4_gso_segment_csum(struct sk_buff *seg,  in __udpv4_gso_segment_csum()  argument
202 uh = udp_hdr(seg); in __udpv4_gso_segment_csum()
203 iph = ip_hdr(seg); in __udpv4_gso_segment_csum()
206 inet_proto_csum_replace4(&uh->check, seg, *oldip, *newip, in __udpv4_gso_segment_csum()
208 inet_proto_csum_replace2(&uh->check, seg, *oldport, *newport, in __udpv4_gso_segment_csum()
221 struct sk_buff *seg; in __udpv4_gso_segment_list_csum() local
225 seg = segs; in __udpv4_gso_segment_list_csum()
226 uh = udp_hdr(seg); in __udpv4_gso_segment_list_csum()
227 iph = ip_hdr(seg); in __udpv4_gso_segment_list_csum()
229 if ((udp_hdr(seg)->dest == udp_hdr(seg->next)->dest) && in __udpv4_gso_segment_list_csum()
230 (udp_hdr(seg)->source == udp_hdr(seg->next)->source) && in __udpv4_gso_segment_list_csum()
231 (ip_hdr(seg)->daddr == ip_hdr(seg->next)->daddr) && in __udpv4_gso_segment_list_csum()
232 (ip_hdr(seg)->saddr == ip_hdr(seg->next)->saddr)) in __udpv4_gso_segment_list_csum()
235 while ((seg = seg->next)) { in __udpv4_gso_segment_list_csum()
236 uh2 = udp_hdr(seg); in __udpv4_gso_segment_list_csum()
237 iph2 = ip_hdr(seg); in __udpv4_gso_segment_list_csum()
239 __udpv4_gso_segment_csum(seg, in __udpv4_gso_segment_list_csum()
242 __udpv4_gso_segment_csum(seg, in __udpv4_gso_segment_list_csum()
270 struct sk_buff *segs, *seg; in __udp_gso_segment() local
341 seg = segs; in __udp_gso_segment()
342 uh = udp_hdr(seg); in __udp_gso_segment()
345 skb_shinfo(seg)->tskey = skb_shinfo(gso_skb)->tskey; in __udp_gso_segment()
346 skb_shinfo(seg)->tx_flags |= in __udp_gso_segment()
355 seg->destructor = sock_wfree; in __udp_gso_segment()
356 seg->sk = sk; in __udp_gso_segment()
357 sum_truesize += seg->truesize; in __udp_gso_segment()
360 if (!seg->next) in __udp_gso_segment()
366 if (seg->ip_summed == CHECKSUM_PARTIAL) in __udp_gso_segment()
367 gso_reset_checksum(seg, ~check); in __udp_gso_segment()
369 uh->check = gso_make_checksum(seg, ~check) ? : in __udp_gso_segment()
372 seg = seg->next; in __udp_gso_segment()
373 uh = udp_hdr(seg); in __udp_gso_segment()
377 newlen = htons(skb_tail_pointer(seg) - skb_transport_header(seg) + in __udp_gso_segment()
378 seg->data_len); in __udp_gso_segment()
384 if (seg->ip_summed == CHECKSUM_PARTIAL) in __udp_gso_segment()
385 gso_reset_checksum(seg, ~check); in __udp_gso_segment()
387 uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0; in __udp_gso_segment()