summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctputil.c
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2016-04-23 09:15:58 +0000
committertuexen <tuexen@FreeBSD.org>2016-04-23 09:15:58 +0000
commit3024748bc898a154736c41c4903426ba003ca620 (patch)
treef4dd6d6a4a8db794c009b05221b11075bb96242d /sys/netinet/sctputil.c
parent3764d53f49154237f2a09088144599fe67910c30 (diff)
downloadFreeBSD-src-3024748bc898a154736c41c4903426ba003ca620.zip
FreeBSD-src-3024748bc898a154736c41c4903426ba003ca620.tar.gz
Remove a function, which is not used anymore.
Diffstat (limited to 'sys/netinet/sctputil.c')
-rw-r--r--sys/netinet/sctputil.c153
1 files changed, 0 insertions, 153 deletions
diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c
index eab0320..77c62a1 100644
--- a/sys/netinet/sctputil.c
+++ b/sys/netinet/sctputil.c
@@ -4594,159 +4594,6 @@ sctp_add_to_readq(struct sctp_inpcb *inp,
}
}
-
-int
-sctp_append_to_readq(struct sctp_inpcb *inp,
- struct sctp_tcb *stcb,
- struct sctp_queued_to_read *control,
- struct mbuf *m,
- int end,
- int ctls_cumack,
- struct sockbuf *sb)
-{
- /*
- * A partial delivery API event is underway. OR we are appending on
- * the reassembly queue.
- *
- * If PDAPI this means we need to add m to the end of the data.
- * Increase the length in the control AND increment the sb_cc.
- * Otherwise sb is NULL and all we need to do is put it at the end
- * of the mbuf chain.
- */
- int len = 0;
- struct mbuf *mm, *tail = NULL, *prev = NULL;
-
- if (inp) {
- SCTP_INP_READ_LOCK(inp);
- }
- if (control == NULL) {
-get_out:
- if (inp) {
- SCTP_INP_READ_UNLOCK(inp);
- }
- return (-1);
- }
- if (inp && (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_CANT_READ)) {
- SCTP_INP_READ_UNLOCK(inp);
- return (0);
- }
- if (control->end_added) {
- /* huh this one is complete? */
- goto get_out;
- }
- mm = m;
- if (mm == NULL) {
- goto get_out;
- }
- while (mm) {
- if (SCTP_BUF_LEN(mm) == 0) {
- /* Skip mbufs with NO lenght */
- if (prev == NULL) {
- /* First one */
- m = sctp_m_free(mm);
- mm = m;
- } else {
- SCTP_BUF_NEXT(prev) = sctp_m_free(mm);
- mm = SCTP_BUF_NEXT(prev);
- }
- continue;
- }
- prev = mm;
- len += SCTP_BUF_LEN(mm);
- if (sb) {
- if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
- sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(mm));
- }
- sctp_sballoc(stcb, sb, mm);
- if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
- sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0);
- }
- }
- mm = SCTP_BUF_NEXT(mm);
- }
- if (prev) {
- tail = prev;
- } else {
- /* Really there should always be a prev */
- if (m == NULL) {
- /* Huh nothing left? */
-#ifdef INVARIANTS
- panic("Nothing left to add?");
-#else
- goto get_out;
-#endif
- }
- tail = m;
- }
- if (control->tail_mbuf) {
- /* append */
- SCTP_BUF_NEXT(control->tail_mbuf) = m;
- control->tail_mbuf = tail;
- } else {
- /* nothing there */
-#ifdef INVARIANTS
- if (control->data != NULL) {
- panic("This should NOT happen");
- }
-#endif
- control->data = m;
- control->tail_mbuf = tail;
- }
- atomic_add_int(&control->length, len);
- if (end) {
- /* message is complete */
- if (stcb && (control == stcb->asoc.control_pdapi)) {
- stcb->asoc.control_pdapi = NULL;
- }
- control->held_length = 0;
- control->end_added = 1;
- }
- if (stcb == NULL) {
- control->do_not_ref_stcb = 1;
- }
- /*
- * When we are appending in partial delivery, the cum-ack is used
- * for the actual pd-api highest tsn on this mbuf. The true cum-ack
- * is populated in the outbound sinfo structure from the true cumack
- * if the association exists...
- */
- control->sinfo_tsn = control->sinfo_cumtsn = ctls_cumack;
- if (inp) {
- SCTP_INP_READ_UNLOCK(inp);
- }
- if (inp && inp->sctp_socket) {
- if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_ZERO_COPY_ACTIVE)) {
- SCTP_ZERO_COPY_EVENT(inp, inp->sctp_socket);
- } else {
-#if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
- struct socket *so;
-
- so = SCTP_INP_SO(inp);
- if (stcb) {
- atomic_add_int(&stcb->asoc.refcnt, 1);
- SCTP_TCB_UNLOCK(stcb);
- }
- SCTP_SOCKET_LOCK(so, 1);
- if (stcb) {
- SCTP_TCB_LOCK(stcb);
- atomic_subtract_int(&stcb->asoc.refcnt, 1);
- }
- if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
- SCTP_SOCKET_UNLOCK(so, 1);
- return (0);
- }
-#endif
- sctp_sorwakeup(inp, inp->sctp_socket);
-#if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
- SCTP_SOCKET_UNLOCK(so, 1);
-#endif
- }
- }
- return (0);
-}
-
-
-
/*************HOLD THIS COMMENT FOR PATCH FILE OF
*************ALTERNATE ROUTING CODE
*/
OpenPOWER on IntegriCloud