Lines Matching refs:chunk
90 struct sctp_chunk *chunk);
126 static inline void sctp_set_owner_w(struct sctp_chunk *chunk) in sctp_set_owner_w() argument
128 struct sctp_association *asoc = chunk->asoc; in sctp_set_owner_w()
134 if (chunk->shkey) in sctp_set_owner_w()
135 sctp_auth_shkey_hold(chunk->shkey); in sctp_set_owner_w()
137 skb_set_owner_w(chunk->skb, sk); in sctp_set_owner_w()
139 chunk->skb->destructor = sctp_wfree; in sctp_set_owner_w()
141 skb_shinfo(chunk->skb)->destructor_arg = chunk; in sctp_set_owner_w()
144 asoc->sndbuf_used += chunk->skb->truesize + sizeof(struct sctp_chunk); in sctp_set_owner_w()
145 sk_wmem_queued_add(sk, chunk->skb->truesize + sizeof(struct sctp_chunk)); in sctp_set_owner_w()
146 sk_mem_charge(sk, chunk->skb->truesize); in sctp_set_owner_w()
149 static void sctp_clear_owner_w(struct sctp_chunk *chunk) in sctp_clear_owner_w() argument
151 skb_orphan(chunk->skb); in sctp_clear_owner_w()
156 msg = chunk->msg; \
174 struct sctp_chunk *chunk, *c; in sctp_for_each_tx_datachunk() local
178 list_for_each_entry(chunk, &t->transmitted, transmitted_list) in sctp_for_each_tx_datachunk()
181 list_for_each_entry(chunk, &q->retransmit, transmitted_list) in sctp_for_each_tx_datachunk()
184 list_for_each_entry(chunk, &q->sacked, transmitted_list) in sctp_for_each_tx_datachunk()
187 list_for_each_entry(chunk, &q->abandoned, transmitted_list) in sctp_for_each_tx_datachunk()
190 list_for_each_entry(chunk, &q->out_chunk_list, list) in sctp_for_each_tx_datachunk()
470 struct sctp_chunk *chunk) in sctp_send_asconf() argument
478 list_add_tail(&chunk->list, &asoc->addip_chunk_list); in sctp_send_asconf()
483 sctp_chunk_hold(chunk); in sctp_send_asconf()
484 retval = sctp_primitive_ASCONF(asoc->base.net, asoc, chunk); in sctp_send_asconf()
486 sctp_chunk_free(chunk); in sctp_send_asconf()
488 asoc->addip_last_asconf = chunk; in sctp_send_asconf()
564 struct sctp_chunk *chunk; in sctp_send_asconf_add_ip() local
621 chunk = sctp_make_asconf_update_ip(asoc, &laddr->a, addrs, in sctp_send_asconf_add_ip()
623 if (!chunk) { in sctp_send_asconf_add_ip()
657 retval = sctp_send_asconf(asoc, chunk); in sctp_send_asconf_add_ip()
767 struct sctp_chunk *chunk; in sctp_send_asconf_del_ip() local
776 chunk = NULL; in sctp_send_asconf_del_ip()
868 chunk = sctp_make_asconf_update_ip(asoc, laddr, addrs, addrcnt, in sctp_send_asconf_del_ip()
870 if (!chunk) { in sctp_send_asconf_del_ip()
903 retval = sctp_send_asconf(asoc, chunk); in sctp_send_asconf_del_ip()
1524 struct sctp_chunk *chunk; in sctp_close() local
1526 chunk = sctp_make_abort_user(asoc, NULL, 0); in sctp_close()
1527 sctp_primitive_ABORT(net, asoc, chunk); in sctp_close()
1775 struct sctp_chunk *chunk; in sctp_sendmsg_check_sflags() local
1777 chunk = sctp_make_abort_user(asoc, msg, msg_len); in sctp_sendmsg_check_sflags()
1778 if (!chunk) in sctp_sendmsg_check_sflags()
1782 sctp_primitive_ABORT(net, asoc, chunk); in sctp_sendmsg_check_sflags()
1801 struct sctp_chunk *chunk; in sctp_sendmsg_to_asoc() local
1868 list_for_each_entry(chunk, &datamsg->chunks, frag_list) { in sctp_sendmsg_to_asoc()
1869 sctp_chunk_hold(chunk); in sctp_sendmsg_to_asoc()
1870 sctp_set_owner_w(chunk); in sctp_sendmsg_to_asoc()
1871 chunk->transport = transport; in sctp_sendmsg_to_asoc()
2139 if (event->chunk && event->chunk->head_skb) in sctp_recvmsg()
2140 head_skb = event->chunk->head_skb; in sctp_recvmsg()
3319 struct sctp_chunk *chunk; in sctp_setsockopt_peer_primary_addr() local
3362 chunk = sctp_make_asconf_set_prim(asoc, in sctp_setsockopt_peer_primary_addr()
3364 if (!chunk) in sctp_setsockopt_peer_primary_addr()
3367 err = sctp_send_asconf(asoc, chunk); in sctp_setsockopt_peer_primary_addr()
9163 struct sctp_chunk *chunk = skb_shinfo(skb)->destructor_arg; in sctp_wfree() local
9164 struct sctp_association *asoc = chunk->asoc; in sctp_wfree()
9173 if (chunk->shkey) { in sctp_wfree()
9174 struct sctp_shared_key *shkey = chunk->shkey; in sctp_wfree()
9190 sctp_auth_shkey_release(chunk->shkey); in sctp_wfree()