MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sctp_toss_old_asconf

Function sctp_toss_old_asconf

freebsd/netinet/sctp_output.c:6905–6932  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6903}
6904
6905void
6906sctp_toss_old_asconf(struct sctp_tcb *stcb)
6907{
6908 struct sctp_association *asoc;
6909 struct sctp_tmit_chunk *chk, *nchk;
6910 struct sctp_asconf_chunk *acp;
6911
6912 asoc = &stcb->asoc;
6913 TAILQ_FOREACH_SAFE(chk, &asoc->asconf_send_queue, sctp_next, nchk) {
6914 /* find SCTP_ASCONF chunk in queue */
6915 if (chk->rec.chunk_id.id == SCTP_ASCONF) {
6916 if (chk->data) {
6917 acp = mtod(chk->data, struct sctp_asconf_chunk *);
6918 if (SCTP_TSN_GT(ntohl(acp->serial_number), asoc->asconf_seq_out_acked)) {
6919 /* Not Acked yet */
6920 break;
6921 }
6922 }
6923 TAILQ_REMOVE(&asoc->asconf_send_queue, chk, sctp_next);
6924 asoc->ctrl_queue_cnt--;
6925 if (chk->data) {
6926 sctp_m_freem(chk->data);
6927 chk->data = NULL;
6928 }
6929 sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
6930 }
6931 }
6932}
6933
6934static void
6935sctp_clean_up_datalist(struct sctp_tcb *stcb,

Callers 2

sctp_asconf_cleanupFunction · 0.85
sctp_handle_asconf_ackFunction · 0.85

Calls 1

sctp_m_freemFunction · 0.85

Tested by

no test coverage detected