svn commit: r298508 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Sat Apr 23 09:16:00 UTC 2016
Author: tuexen
Date: Sat Apr 23 09:15:58 2016
New Revision: 298508
URL: https://svnweb.freebsd.org/changeset/base/298508
Log:
Remove a function, which is not used anymore.
Modified:
head/sys/netinet/sctputil.c
head/sys/netinet/sctputil.h
Modified: head/sys/netinet/sctputil.c
==============================================================================
--- head/sys/netinet/sctputil.c Sat Apr 23 08:10:04 2016 (r298507)
+++ head/sys/netinet/sctputil.c Sat Apr 23 09:15:58 2016 (r298508)
@@ -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
*/
Modified: head/sys/netinet/sctputil.h
==============================================================================
--- head/sys/netinet/sctputil.h Sat Apr 23 08:10:04 2016 (r298507)
+++ head/sys/netinet/sctputil.h Sat Apr 23 09:15:58 2016 (r298508)
@@ -128,16 +128,6 @@ sctp_add_to_readq(struct sctp_inpcb *inp
#endif
);
-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 new_cumack,
- struct sockbuf *sb);
-
-
void sctp_iterator_worker(void);
uint32_t sctp_get_prev_mtu(uint32_t);
More information about the svn-src-head
mailing list