Author: tuexen
Date: Thu Mar 19 21:01:16 2020
New Revision: 359152
URL: https://svnweb.freebsd.org/changeset/base/359152

Log:
  Consistently provide arguments for timer start and stop routines.
  This is another step in cleaning up timer handling.
  MFC after:            1 week

Modified:
  head/sys/netinet/sctp_asconf.c
  head/sys/netinet/sctp_asconf.h
  head/sys/netinet/sctp_indata.c
  head/sys/netinet/sctp_input.c
  head/sys/netinet/sctp_output.c
  head/sys/netinet/sctp_pcb.c
  head/sys/netinet/sctp_timer.c
  head/sys/netinet/sctp_usrreq.c
  head/sys/netinet/sctputil.c

Modified: head/sys/netinet/sctp_asconf.c
==============================================================================
--- head/sys/netinet/sctp_asconf.c      Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_asconf.c      Thu Mar 19 21:01:16 2020        
(r359152)
@@ -939,12 +939,12 @@ sctp_addr_match(struct sctp_paramhdr *ph, struct socka
  * Cleanup for non-responded/OP ERR'd ASCONF
  */
 void
-sctp_asconf_cleanup(struct sctp_tcb *stcb, struct sctp_nets *net)
+sctp_asconf_cleanup(struct sctp_tcb *stcb)
 {
        /*
         * clear out any existing asconfs going out
         */
-       sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, net,
+       sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, NULL,
            SCTP_FROM_SCTP_ASCONF + SCTP_LOC_2);
        stcb->asoc.asconf_seq_out_acked = stcb->asoc.asconf_seq_out;
        /* remove the old ASCONF on our outbound queue */
@@ -1725,7 +1725,7 @@ sctp_handle_asconf_ack(struct mbuf *m, int offset,
 
        if (serial_num == asoc->asconf_seq_out - 1) {
                /* stop our timer */
-               sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, 
net,
+               sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, 
NULL,
                    SCTP_FROM_SCTP_ASCONF + SCTP_LOC_5);
        }
 

Modified: head/sys/netinet/sctp_asconf.h
==============================================================================
--- head/sys/netinet/sctp_asconf.h      Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_asconf.h      Thu Mar 19 21:01:16 2020        
(r359152)
@@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$");
 /*
  * function prototypes
  */
-extern void sctp_asconf_cleanup(struct sctp_tcb *, struct sctp_nets *);
+extern void sctp_asconf_cleanup(struct sctp_tcb *);
 
 extern struct mbuf *sctp_compose_asconf(struct sctp_tcb *, int *, int);
 

Modified: head/sys/netinet/sctp_indata.c
==============================================================================
--- head/sys/netinet/sctp_indata.c      Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_indata.c      Thu Mar 19 21:01:16 2020        
(r359152)
@@ -4392,7 +4392,7 @@ again:
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN,
                            stcb->sctp_ep, stcb, netp);
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                           stcb->sctp_ep, stcb, netp);
+                           stcb->sctp_ep, stcb, NULL);
                } else if ((SCTP_GET_STATE(stcb) == 
SCTP_STATE_SHUTDOWN_RECEIVED) &&
                    (asoc->stream_queue_cnt == 0)) {
                        struct sctp_nets *netp;
@@ -5087,7 +5087,7 @@ hopeless_peer:
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN,
                            stcb->sctp_ep, stcb, netp);
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                           stcb->sctp_ep, stcb, netp);
+                           stcb->sctp_ep, stcb, NULL);
                        return;
                } else if ((SCTP_GET_STATE(stcb) == 
SCTP_STATE_SHUTDOWN_RECEIVED) &&
                    (asoc->stream_queue_cnt == 0)) {

Modified: head/sys/netinet/sctp_input.c
==============================================================================
--- head/sys/netinet/sctp_input.c       Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_input.c       Thu Mar 19 21:01:16 2020        
(r359152)
@@ -826,7 +826,7 @@ sctp_handle_abort(struct sctp_abort_chunk *abort,
                error = 0;
        }
        /* stop any receive timers */
-       sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, net,
+       sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, NULL,
            SCTP_FROM_SCTP_INPUT + SCTP_LOC_7);
        /* notify user of the abort and clean up... */
        sctp_abort_notification(stcb, 1, error, abort, SCTP_SO_NOT_LOCKED);
@@ -1110,13 +1110,12 @@ sctp_handle_shutdown_ack(struct sctp_shutdown_ack_chun
 }
 
 static void
-sctp_process_unrecog_chunk(struct sctp_tcb *stcb, uint8_t chunk_type,
-    struct sctp_nets *net)
+sctp_process_unrecog_chunk(struct sctp_tcb *stcb, uint8_t chunk_type)
 {
        switch (chunk_type) {
        case SCTP_ASCONF_ACK:
        case SCTP_ASCONF:
-               sctp_asconf_cleanup(stcb, net);
+               sctp_asconf_cleanup(stcb);
                break;
        case SCTP_IFORWARD_CUM_TSN:
        case SCTP_FORWARD_CUM_TSN:
@@ -1294,7 +1293,7 @@ sctp_handle_error(struct sctp_chunkhdr *ch,
                                struct sctp_error_unrecognized_chunk 
*unrec_chunk;
 
                                unrec_chunk = (struct 
sctp_error_unrecognized_chunk *)cause;
-                               sctp_process_unrecog_chunk(stcb, 
unrec_chunk->ch.chunk_type, net);
+                               sctp_process_unrecog_chunk(stcb, 
unrec_chunk->ch.chunk_type);
                        }
                        break;
                case SCTP_CAUSE_UNRECOG_PARAM:
@@ -1643,7 +1642,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle
                        SCTP_SET_STATE(stcb, SCTP_STATE_OPEN);
                        if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
                                sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                                   stcb->sctp_ep, stcb, 
asoc->primary_destination);
+                                   stcb->sctp_ep, stcb, NULL);
                        }
                        SCTP_STAT_INCR_GAUGE32(sctps_currestab);
                        sctp_stop_all_cookie_timers(stcb);
@@ -1886,7 +1885,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle
                SCTP_SET_STATE(stcb, SCTP_STATE_OPEN);
                if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                           stcb->sctp_ep, stcb, asoc->primary_destination);
+                           stcb->sctp_ep, stcb, NULL);
                }
                sctp_stop_all_cookie_timers(stcb);
                sctp_toss_old_cookies(stcb, asoc);
@@ -1956,7 +1955,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle
                if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
                        SCTP_SET_STATE(stcb, SCTP_STATE_OPEN);
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                           stcb->sctp_ep, stcb, asoc->primary_destination);
+                           stcb->sctp_ep, stcb, NULL);
 
                } else if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) {
                        /* move to OPEN state, if not in SHUTDOWN_SENT */
@@ -2352,7 +2351,7 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, in
        SCTP_SET_STATE(stcb, SCTP_STATE_OPEN);
        if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
                sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                   stcb->sctp_ep, stcb, asoc->primary_destination);
+                   stcb->sctp_ep, stcb, NULL);
        }
        sctp_stop_all_cookie_timers(stcb);
        SCTP_STAT_INCR_COUNTER32(sctps_passiveestab);
@@ -2980,7 +2979,7 @@ sctp_handle_cookie_ack(struct sctp_cookie_ack_chunk *c
                sctp_start_net_timers(stcb);
                if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
                        sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                           stcb->sctp_ep, stcb, asoc->primary_destination);
+                           stcb->sctp_ep, stcb, NULL);
 
                }
                /* update RTO */
@@ -3660,7 +3659,7 @@ sctp_clean_up_stream_reset(struct sctp_tcb *stcb)
        }
        asoc->str_reset = NULL;
        sctp_timer_stop(SCTP_TIMER_TYPE_STRRESET, stcb->sctp_ep, stcb,
-           chk->whoTo, SCTP_FROM_SCTP_INPUT + SCTP_LOC_28);
+           NULL, SCTP_FROM_SCTP_INPUT + SCTP_LOC_28);
        TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next);
        asoc->ctrl_queue_cnt--;
        if (chk->data) {

Modified: head/sys/netinet/sctp_output.c
==============================================================================
--- head/sys/netinet/sctp_output.c      Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_output.c      Thu Mar 19 21:01:16 2020        
(r359152)
@@ -6735,7 +6735,7 @@ sctp_sendall_iterator(struct sctp_inpcb *inp, struct s
                                        
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb,
                                            net);
                                        
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb,
-                                           asoc->primary_destination);
+                                           NULL);
                                        added_control = 1;
                                        do_chunk_output = 0;
                                }
@@ -6775,7 +6775,7 @@ sctp_sendall_iterator(struct sctp_inpcb *inp, struct s
                                                goto no_chunk_output;
                                        }
                                        
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb,
-                                           asoc->primary_destination);
+                                           NULL);
                                }
                        }
 
@@ -8447,7 +8447,7 @@ again_one_more_time:
                                                /* turn off the timer */
                                                if 
(SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer)) {
                                                        
sctp_timer_stop(SCTP_TIMER_TYPE_RECV,
-                                                           inp, stcb, net,
+                                                           inp, stcb, NULL,
                                                            
SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_1);
                                                }
                                        }
@@ -13577,7 +13577,7 @@ dataless_eof:
                                sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, 
stcb->sctp_ep, stcb,
                                    netp);
                                sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, 
stcb->sctp_ep, stcb,
-                                   asoc->primary_destination);
+                                   NULL);
                        }
                } else {
                        /*-
@@ -13629,7 +13629,7 @@ dataless_eof:
                                        goto out;
                                }
                                sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, 
stcb->sctp_ep, stcb,
-                                   asoc->primary_destination);
+                                   NULL);
                                sctp_feature_off(inp, SCTP_PCB_FLAGS_NODELAY);
                        }
                }

Modified: head/sys/netinet/sctp_pcb.c
==============================================================================
--- head/sys/netinet/sctp_pcb.c Thu Mar 19 18:55:54 2020        (r359151)
+++ head/sys/netinet/sctp_pcb.c Thu Mar 19 21:01:16 2020        (r359152)
@@ -3444,15 +3444,13 @@ sctp_inpcb_free(struct sctp_inpcb *inp, int immediate,
                                        sctp_send_shutdown(asoc, netp);
                                        
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, asoc->sctp_ep, asoc,
                                            netp);
-                                       
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, asoc->sctp_ep, asoc,
-                                           asoc->asoc.primary_destination);
+                                       
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, asoc->sctp_ep, asoc, NULL);
                                        sctp_chunk_output(inp, asoc, 
SCTP_OUTPUT_FROM_SHUT_TMR, SCTP_SO_LOCKED);
                                }
                        } else {
                                /* mark into shutdown pending */
                                SCTP_ADD_SUBSTATE(asoc, 
SCTP_STATE_SHUTDOWN_PENDING);
-                               sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, 
asoc->sctp_ep, asoc,
-                                   asoc->asoc.primary_destination);
+                               sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, 
asoc->sctp_ep, asoc, NULL);
                                if 
((*asoc->asoc.ss_functions.sctp_ss_is_user_msgs_incomplete) (asoc, 
&asoc->asoc)) {
                                        SCTP_ADD_SUBSTATE(asoc, 
SCTP_STATE_PARTIAL_MSG_LEFT);
                                }

Modified: head/sys/netinet/sctp_timer.c
==============================================================================
--- head/sys/netinet/sctp_timer.c       Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_timer.c       Thu Mar 19 21:01:16 2020        
(r359152)
@@ -1202,7 +1202,7 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_
                         * and cleanup.
                         */
                        SCTPDBG(SCTP_DEBUG_TIMER1, "asconf_timer: Peer has not 
responded to our repeated ASCONFs\n");
-                       sctp_asconf_cleanup(stcb, net);
+                       sctp_asconf_cleanup(stcb);
                        return (0);
                }
                /*

Modified: head/sys/netinet/sctp_usrreq.c
==============================================================================
--- head/sys/netinet/sctp_usrreq.c      Thu Mar 19 18:55:54 2020        
(r359151)
+++ head/sys/netinet/sctp_usrreq.c      Thu Mar 19 21:01:16 2020        
(r359152)
@@ -768,7 +768,7 @@ sctp_disconnect(struct socket *so)
                                        
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN,
                                            stcb->sctp_ep, stcb, netp);
                                        
sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
-                                           stcb->sctp_ep, stcb, netp);
+                                           stcb->sctp_ep, stcb, NULL);
                                        sctp_chunk_output(stcb->sctp_ep, stcb, 
SCTP_OUTPUT_FROM_T3, SCTP_SO_LOCKED);
                                }
                        } else {
@@ -791,8 +791,7 @@ sctp_disconnect(struct socket *so)
                                }
 
                                SCTP_ADD_SUBSTATE(stcb, 
SCTP_STATE_SHUTDOWN_PENDING);
-                               sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, 
stcb->sctp_ep, stcb,
-                                   netp);
+                               sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, 
stcb->sctp_ep, stcb, NULL);
                                if 
((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete) (stcb, asoc)) {
                                        SCTP_ADD_SUBSTATE(stcb, 
SCTP_STATE_PARTIAL_MSG_LEFT);
                                }
@@ -996,7 +995,7 @@ sctp_shutdown(struct socket *so)
                                return (0);
                        }
                }
-               sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, 
stcb, netp);
+               sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, 
stcb, NULL);
                /*
                 * XXX: Why do this in the case where we have still data
                 * queued?

Modified: head/sys/netinet/sctputil.c
==============================================================================
--- head/sys/netinet/sctputil.c Thu Mar 19 18:55:54 2020        (r359151)
+++ head/sys/netinet/sctputil.c Thu Mar 19 21:01:16 2020        (r359152)
@@ -1875,7 +1875,7 @@ sctp_timeout_handler(void *t)
                                inp->sctp_ep.secret_key[secret][i] =
                                    sctp_select_initial_TSN(&inp->sctp_ep);
                        }
-                       sctp_timer_start(SCTP_TIMER_TYPE_NEWCOOKIE, inp, stcb, 
net);
+                       sctp_timer_start(SCTP_TIMER_TYPE_NEWCOOKIE, inp, NULL, 
NULL);
                }
                did_output = 0;
                break;
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to