Lines Matching defs:head

390 static void sctp_packet_gso_append(struct sk_buff *head, struct sk_buff *skb)
392 if (SCTP_OUTPUT_CB(head)->last == head)
393 skb_shinfo(head)->frag_list = skb;
395 SCTP_OUTPUT_CB(head)->last->next = skb;
396 SCTP_OUTPUT_CB(head)->last = skb;
398 head->truesize += skb->truesize;
399 head->data_len += skb->len;
400 head->len += skb->len;
401 refcount_add(skb->truesize, &head->sk->sk_wmem_alloc);
407 struct sk_buff *head, int gso, gfp_t gfp)
413 struct sock *sk = head->sk;
418 skb_shinfo(head)->gso_type = sk->sk_gso_type;
419 SCTP_OUTPUT_CB(head)->last = head;
421 nskb = head;
448 /* merge chunks into nskb and append nskb into head list */
501 sctp_packet_gso_append(head, nskb);
507 memset(head->cb, 0, max(sizeof(struct inet_skb_parm),
509 skb_shinfo(head)->gso_segs = pkt_count;
510 skb_shinfo(head)->gso_size = GSO_BY_FRAGS;
512 if (skb_dst(head) != tp->dst) {
523 if (!(skb_dst(head)->dev->features & NETIF_F_SCTP_CRC) ||
524 dst_xfrm(skb_dst(head)) || packet->ipfragok) {
526 (struct sctphdr *)skb_transport_header(head);
528 sh->checksum = sctp_compute_cksum(head, 0);
531 head->ip_summed = CHECKSUM_PARTIAL;
532 head->csum_not_inet = 1;
533 head->csum_start = skb_transport_header(head) - head->head;
534 head->csum_offset = offsetof(struct sctphdr, checksum);
552 struct sk_buff *head;
571 /* alloc head skb */
572 head = alloc_skb((gso ? packet->overhead : packet->size) +
574 if (!head)
576 skb_reserve(head, packet->overhead + MAX_HEADER);
577 skb_set_owner_w(head, sk);
580 sh = skb_push(head, sizeof(struct sctphdr));
581 skb_reset_transport_header(head);
591 kfree_skb(head);
594 skb_dst_set(head, dst);
597 pkt_count = sctp_packet_pack(packet, head, gso, gfp);
599 kfree_skb(head);
602 pr_debug("***sctp_transmit_packet*** skb->len:%d\n", head->len);
623 head->ignore_df = packet->ipfragok;
625 skb_set_dst_pending_confirm(head, 1);
629 if (tp->af_specific->sctp_xmit(head, tp) >= 0 &&