Lines Matching defs:seg

348 static void __udpv4_gso_segment_csum(struct sk_buff *seg,
358 uh = udp_hdr(seg);
359 iph = ip_hdr(seg);
362 inet_proto_csum_replace4(&uh->check, seg, *oldip, *newip,
364 inet_proto_csum_replace2(&uh->check, seg, *oldport, *newport,
377 struct sk_buff *seg;
381 seg = segs;
382 uh = udp_hdr(seg);
383 iph = ip_hdr(seg);
385 if ((udp_hdr(seg)->dest == udp_hdr(seg->next)->dest) &&
386 (udp_hdr(seg)->source == udp_hdr(seg->next)->source) &&
387 (ip_hdr(seg)->daddr == ip_hdr(seg->next)->daddr) &&
388 (ip_hdr(seg)->saddr == ip_hdr(seg->next)->saddr))
391 while ((seg = seg->next)) {
392 uh2 = udp_hdr(seg);
393 iph2 = ip_hdr(seg);
395 __udpv4_gso_segment_csum(seg,
398 __udpv4_gso_segment_csum(seg,
406 static void __udpv6_gso_segment_csum(struct sk_buff *seg,
411 struct udphdr *uh = udp_hdr(seg);
417 inet_proto_csum_replace16(&uh->check, seg, oldip->s6_addr32,
420 inet_proto_csum_replace2(&uh->check, seg, *oldport, newport,
435 struct sk_buff *seg;
438 seg = segs;
439 uh = udp_hdr(seg);
440 iph = ipv6_hdr(seg);
441 uh2 = udp_hdr(seg->next);
442 iph2 = ipv6_hdr(seg->next);
449 while ((seg = seg->next)) {
450 uh2 = udp_hdr(seg);
451 iph2 = ipv6_hdr(seg);
453 __udpv6_gso_segment_csum(seg, &iph2->saddr, &iph->saddr,
455 __udpv6_gso_segment_csum(seg, &iph2->daddr, &iph->daddr,
485 struct sk_buff *segs, *seg;
565 seg = segs;
566 uh = udp_hdr(seg);
569 skb_shinfo(seg)->tskey = skb_shinfo(gso_skb)->tskey;
570 skb_shinfo(seg)->tx_flags |=
579 seg->destructor = sock_wfree;
580 seg->sk = sk;
581 sum_truesize += seg->truesize;
584 if (!seg->next)
590 if (seg->ip_summed == CHECKSUM_PARTIAL)
591 gso_reset_checksum(seg, ~check);
593 uh->check = gso_make_checksum(seg, ~check) ? :
596 seg = seg->next;
597 uh = udp_hdr(seg);
601 newlen = htons(skb_tail_pointer(seg) - skb_transport_header(seg) +
602 seg->data_len);
608 if (seg->ip_summed == CHECKSUM_PARTIAL)
609 gso_reset_checksum(seg, ~check);
611 uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0;