Lines Matching refs:chunk
413 struct sctp_chunk *chunk; in sctp_endpoint_bh_rcv() local
428 while (NULL != (chunk = sctp_inq_pop(inqueue))) { in sctp_endpoint_bh_rcv()
429 subtype = SCTP_ST_CHUNK(chunk->chunk_hdr->type); in sctp_endpoint_bh_rcv()
434 if (first_time && (subtype.chunk == SCTP_CID_AUTH)) { in sctp_endpoint_bh_rcv()
447 chunk->auth_chunk = skb_clone(chunk->skb, in sctp_endpoint_bh_rcv()
449 chunk->auth = 1; in sctp_endpoint_bh_rcv()
460 if (NULL == chunk->asoc) { in sctp_endpoint_bh_rcv()
462 sctp_source(chunk), in sctp_endpoint_bh_rcv()
464 chunk->asoc = asoc; in sctp_endpoint_bh_rcv()
465 chunk->transport = transport; in sctp_endpoint_bh_rcv()
469 if (sctp_auth_recv_cid(subtype.chunk, asoc) && !chunk->auth) in sctp_endpoint_bh_rcv()
475 if (asoc && sctp_chunk_is_data(chunk)) in sctp_endpoint_bh_rcv()
476 asoc->peer.last_data_from = chunk->transport; in sctp_endpoint_bh_rcv()
483 if (chunk->transport) in sctp_endpoint_bh_rcv()
484 chunk->transport->last_time_heard = ktime_get(); in sctp_endpoint_bh_rcv()
487 ep, asoc, chunk, GFP_ATOMIC); in sctp_endpoint_bh_rcv()
489 if (error && chunk) in sctp_endpoint_bh_rcv()
490 chunk->pdiscard = 1; in sctp_endpoint_bh_rcv()