The branch main has been updated by tuexen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=463b5aed0d62f094addb700604725767a8904901

commit 463b5aed0d62f094addb700604725767a8904901
Author:     Michael Tuexen <tue...@freebsd.org>
AuthorDate: 2025-08-12 14:08:26 +0000
Commit:     Michael Tuexen <tue...@freebsd.org>
CommitDate: 2025-08-12 14:12:06 +0000

    tcp: retire rstreason
    
    With the latest changes, this variable and parameter for
    tcp_dropwithreset() is not needed anymore.
    It also makes it harder to introduce the usage of multiple counters
    for TCP again, which might open side channel attacks.
    No funtional changes intended.
    
    Reviewed by:            rrs
    MFC after:              1 week
    Sponsored by:           Netflix, Inc.
    Differential Revision:  https://reviews.freebsd.org/D51872
---
 sys/netinet/tcp_input.c                  | 30 +++++++-----------------------
 sys/netinet/tcp_stacks/bbr.c             | 26 +++++++++++++-------------
 sys/netinet/tcp_stacks/rack.c            | 26 +++++++++++++-------------
 sys/netinet/tcp_stacks/rack_bbr_common.c | 10 +++++-----
 sys/netinet/tcp_stacks/rack_bbr_common.h |  4 ++--
 sys/netinet/tcp_var.h                    |  3 +--
 6 files changed, 41 insertions(+), 58 deletions(-)

diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index ddd0dbeafd06..6492495dc583 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -609,7 +609,6 @@ tcp_input_with_port(struct mbuf **mp, int *offp, int proto, 
uint16_t port)
        int tlen = 0, off;
        int drop_hdrlen;
        int thflags;
-       int rstreason = 0;      /* For badport_bandlim accounting purposes */
        int lookupflag;
        uint8_t iptos;
        struct m_tag *fwd_tag = NULL;
@@ -921,7 +920,6 @@ findpcb:
                        }
                        closed_port = true;
                }
-               rstreason = BANDLIM_TCP_RST;
                goto dropwithreset;
        }
        INP_LOCK_ASSERT(inp);
@@ -1012,13 +1010,11 @@ findpcb:
                 * down or it is in the CLOSED state.  Either way we drop the
                 * segment and send an appropriate response.
                 */
-               rstreason = BANDLIM_TCP_RST;
                closed_port = true;
                goto dropwithreset;
        }
 
        if ((tp->t_port != port) && (tp->t_state > TCPS_LISTEN)) {
-               rstreason = BANDLIM_TCP_RST;
                closed_port = true;
                goto dropwithreset;
        }
@@ -1134,7 +1130,6 @@ tfo_socket_result:
                                            V_tcp_sc_rst_sock_fail ?
                                            "sending RST" : "try again");
                                if (V_tcp_sc_rst_sock_fail) {
-                                       rstreason = BANDLIM_TCP_RST;
                                        goto dropwithreset;
                                } else
                                        goto dropunlock;
@@ -1201,7 +1196,6 @@ tfo_socket_result:
                                    s, __func__);
                        syncache_badack(&inc, port);    /* XXX: Not needed! */
                        TCPSTAT_INC(tcps_badsyn);
-                       rstreason = BANDLIM_TCP_RST;
                        goto dropwithreset;
                }
                /*
@@ -1277,7 +1271,6 @@ tfo_socket_result:
                                        "Connection attempt to deprecated "
                                        "IPv6 address rejected\n",
                                        s, __func__);
-                               rstreason = BANDLIM_TCP_RST;
                                goto dropwithreset;
                        }
                }
@@ -1398,8 +1391,7 @@ dropwithreset:
         * When blackholing do not respond with a RST but
         * completely ignore the segment and drop it.
         */
-       if (rstreason == BANDLIM_TCP_RST &&
-           ((!closed_port && V_blackhole == 3) ||
+       if (((!closed_port && V_blackhole == 3) ||
             (closed_port &&
              ((V_blackhole == 1 && (thflags & TH_SYN)) || V_blackhole > 1))) &&
            (V_blackhole_local || (
@@ -1414,7 +1406,7 @@ dropwithreset:
            )))
                goto dropunlock;
        TCP_PROBE5(receive, NULL, tp, m, tp, th);
-       tcp_dropwithreset(m, th, tp, tlen, rstreason);
+       tcp_dropwithreset(m, th, tp, tlen);
        m = NULL;       /* mbuf chain got consumed. */
 
 dropunlock:
@@ -1523,7 +1515,7 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct 
tcphdr *th,
        uint16_t thflags;
        int acked, ourfinisacked, needoutput = 0;
        sackstatus_t sack_changed;
-       int rstreason, todrop, win, incforsyn = 0;
+       int todrop, win, incforsyn = 0;
        uint32_t tiwin;
        uint16_t nsegs;
        char *s;
@@ -1568,7 +1560,6 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct 
tcphdr *th,
         */
        if ((tp->t_state == TCPS_SYN_SENT) && (thflags & TH_ACK) &&
            (SEQ_LEQ(th->th_ack, tp->iss) || SEQ_GT(th->th_ack, tp->snd_max))) {
-               rstreason = BANDLIM_TCP_RST;
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
                goto dropwithreset;
        }
@@ -1984,7 +1975,6 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct 
tcphdr *th,
                if ((thflags & TH_ACK) &&
                    (SEQ_LEQ(th->th_ack, tp->snd_una) ||
                     SEQ_GT(th->th_ack, tp->snd_max))) {
-                               rstreason = BANDLIM_TCP_RST;
                                tcp_log_end_status(tp, 
TCP_EI_STATUS_RST_IN_FRONT);
                                goto dropwithreset;
                }
@@ -1997,7 +1987,6 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct 
tcphdr *th,
                         * FIN, or a RST.
                         */
                        if ((thflags & (TH_SYN|TH_ACK)) == (TH_SYN|TH_ACK)) {
-                               rstreason = BANDLIM_TCP_RST;
                                tcp_log_end_status(tp, 
TCP_EI_STATUS_RST_IN_FRONT);
                                goto dropwithreset;
                        } else if (thflags & TH_SYN) {
@@ -2264,7 +2253,6 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct 
tcphdr *th,
         * for the "LAND" DoS attack.
         */
        if (tp->t_state == TCPS_SYN_RECEIVED && SEQ_LT(th->th_seq, tp->irs)) {
-               rstreason = BANDLIM_TCP_RST;
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
                goto dropwithreset;
        }
@@ -2346,7 +2334,6 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct 
tcphdr *th,
                tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
                tp = tcp_close(tp);
                TCPSTAT_INC(tcps_rcvafterclose);
-               rstreason = BANDLIM_TCP_RST;
                goto dropwithreset;
        }
 
@@ -3443,7 +3430,6 @@ dropafterack:
        if (tp->t_state == TCPS_SYN_RECEIVED && (thflags & TH_ACK) &&
            (SEQ_GT(tp->snd_una, th->th_ack) ||
             SEQ_GT(th->th_ack, tp->snd_max)) ) {
-               rstreason = BANDLIM_TCP_RST;
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
                goto dropwithreset;
        }
@@ -3455,11 +3441,10 @@ dropafterack:
        return;
 
 dropwithreset:
+       tcp_dropwithreset(m, th, NULL, tlen);
        if (tp != NULL) {
-               tcp_dropwithreset(m, th, tp, tlen, rstreason);
                INP_WUNLOCK(inp);
-       } else
-               tcp_dropwithreset(m, th, NULL, tlen, rstreason);
+       }
        return;
 
 drop:
@@ -3479,8 +3464,7 @@ drop:
  * tp may be NULL.
  */
 void
-tcp_dropwithreset(struct mbuf *m, struct tcphdr *th, struct tcpcb *tp,
-    int tlen, int rstreason)
+tcp_dropwithreset(struct mbuf *m, struct tcphdr *th, struct tcpcb *tp, int 
tlen)
 {
 #ifdef INET
        struct ip *ip;
@@ -3520,7 +3504,7 @@ tcp_dropwithreset(struct mbuf *m, struct tcphdr *th, 
struct tcpcb *tp,
 #endif
 
        /* Perform bandwidth limiting. */
-       if (badport_bandlim(rstreason) < 0)
+       if (badport_bandlim(BANDLIM_TCP_RST) < 0)
                goto drop;
 
        /* tcp_respond consumes the mbuf chain. */
diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c
index f2960ab9c636..fed259f4d8e1 100644
--- a/sys/netinet/tcp_stacks/bbr.c
+++ b/sys/netinet/tcp_stacks/bbr.c
@@ -7863,7 +7863,7 @@ nothing_left:
                        /* tcp_close will kill the inp pre-log the Reset */
                        tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
                        tp = tcp_close(tp);
-                       ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+                       ctf_do_dropwithreset(m, tp, th, tlen);
                        BBR_STAT_INC(bbr_dropped_af_data);
                        return (1);
                }
@@ -8763,7 +8763,7 @@ bbr_do_syn_sent(struct mbuf *m, struct tcphdr *th, struct 
socket *so,
            (SEQ_LEQ(th->th_ack, tp->iss) ||
            SEQ_GT(th->th_ack, tp->snd_max))) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return (1);
        }
        if ((thflags & (TH_ACK | TH_RST)) == (TH_ACK | TH_RST)) {
@@ -8965,7 +8965,7 @@ bbr_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct 
socket *so,
            (SEQ_LEQ(th->th_ack, tp->snd_una) ||
             SEQ_GT(th->th_ack, tp->snd_max))) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return (1);
        }
        if (tp->t_flags & TF_FASTOPEN) {
@@ -8977,7 +8977,7 @@ bbr_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct 
socket *so,
                 */
                if ((thflags & (TH_SYN | TH_ACK)) == (TH_SYN | TH_ACK)) {
                        tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-                       ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+                       ctf_do_dropwithreset(m, tp, th, tlen);
                        return (1);
                } else if (thflags & TH_SYN) {
                        /* non-initial SYN is ignored */
@@ -9010,7 +9010,7 @@ bbr_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct 
socket *so,
         */
        if (SEQ_LT(th->th_seq, tp->irs)) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return (1);
        }
        if (ctf_drop_checks(to, m, th, tp, &tlen, &thflags, &drop_hdrlen, 
&ret_val)) {
@@ -9288,7 +9288,7 @@ bbr_do_established(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        bbr_log_progress_event(bbr, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -9385,7 +9385,7 @@ bbr_do_close_wait(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        bbr_log_progress_event(bbr, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -9405,7 +9405,7 @@ close_now:
                tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
                tp = tcp_close(tp);
                KMOD_TCPSTAT_INC(tcps_rcvafterclose);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, (*tlen));
+               ctf_do_dropwithreset(m, tp, th, *tlen);
                return (1);
        }
        if (sbavail(&so->so_snd) == 0)
@@ -9535,7 +9535,7 @@ bbr_do_fin_wait_1(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        bbr_log_progress_event(bbr, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -9637,7 +9637,7 @@ bbr_do_closing(struct mbuf *m, struct tcphdr *th, struct 
socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        bbr_log_progress_event(bbr, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -9739,7 +9739,7 @@ bbr_do_lastack(struct mbuf *m, struct tcphdr *th, struct 
socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        bbr_log_progress_event(bbr, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -9848,7 +9848,7 @@ bbr_do_fin_wait_2(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        bbr_log_progress_event(bbr, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -11510,7 +11510,7 @@ bbr_do_segment_nounlock(struct tcpcb *tp, struct mbuf 
*m, struct tcphdr *th,
        if ((tp->t_state == TCPS_SYN_SENT) && (thflags & TH_ACK) &&
            (SEQ_LEQ(th->th_ack, tp->iss) || SEQ_GT(th->th_ack, tp->snd_max))) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset_conn(m, tp, th, tlen);
                return (1);
        }
        if (tiwin > bbr->r_ctl.rc_high_rwnd)
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index 2dfcad84ad99..71dd4de6baf9 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -12038,7 +12038,7 @@ rack_process_ack(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                        /* tcp_close will kill the inp pre-log the Reset */
                        tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
                        tp = tcp_close(tp);
-                       ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+                       ctf_do_dropwithreset(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -12876,7 +12876,7 @@ rack_do_syn_sent(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
            (SEQ_LEQ(th->th_ack, tp->iss) ||
            SEQ_GT(th->th_ack, tp->snd_max))) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return (1);
        }
        if ((thflags & (TH_ACK | TH_RST)) == (TH_ACK | TH_RST)) {
@@ -13090,7 +13090,7 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
            (SEQ_LEQ(th->th_ack, tp->snd_una) ||
            SEQ_GT(th->th_ack, tp->snd_max))) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return (1);
        }
        if (tp->t_flags & TF_FASTOPEN) {
@@ -13103,7 +13103,7 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                 */
                if ((thflags & (TH_SYN | TH_ACK)) == (TH_SYN | TH_ACK)) {
                        tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-                       ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+                       ctf_do_dropwithreset(m, tp, th, tlen);
                        return (1);
                } else if (thflags & TH_SYN) {
                        /* non-initial SYN is ignored */
@@ -13137,7 +13137,7 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
         */
        if (SEQ_LT(th->th_seq, tp->irs)) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return (1);
        }
        if (ctf_drop_checks(to, m, th, tp, &tlen, &thflags, &drop_hdrlen, 
&ret_val)) {
@@ -13400,7 +13400,7 @@ rack_do_established(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
        if (sbavail(&so->so_snd)) {
                if (ctf_progress_timeout_check(tp, true)) {
                        rack_log_progress_event(rack, tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -13496,7 +13496,7 @@ rack_do_close_wait(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                if (ctf_progress_timeout_check(tp, true)) {
                        rack_log_progress_event((struct tcp_rack *)tp->t_fb_ptr,
                                                tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -13518,7 +13518,7 @@ rack_check_data_after_close(struct mbuf *m,
                tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
                tp = tcp_close(tp);
                KMOD_TCPSTAT_INC(tcps_rcvafterclose);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, (*tlen));
+               ctf_do_dropwithreset(m, tp, th, *tlen);
                return (1);
        }
        if (sbavail(&so->so_snd) == 0)
@@ -13646,7 +13646,7 @@ rack_do_fin_wait_1(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                if (ctf_progress_timeout_check(tp, true)) {
                        rack_log_progress_event((struct tcp_rack *)tp->t_fb_ptr,
                                                tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -13747,7 +13747,7 @@ rack_do_closing(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                if (ctf_progress_timeout_check(tp, true)) {
                        rack_log_progress_event((struct tcp_rack *)tp->t_fb_ptr,
                                                tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -13849,7 +13849,7 @@ rack_do_lastack(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                if (ctf_progress_timeout_check(tp, true)) {
                        rack_log_progress_event((struct tcp_rack *)tp->t_fb_ptr,
                                                tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -13953,7 +13953,7 @@ rack_do_fin_wait_2(struct mbuf *m, struct tcphdr *th, 
struct socket *so,
                if (ctf_progress_timeout_check(tp, true)) {
                        rack_log_progress_event((struct tcp_rack *)tp->t_fb_ptr,
                                                tp, tick, PROGRESS_DROP, 
__LINE__);
-                       ctf_do_dropwithreset_conn(m, tp, th, BANDLIM_TCP_RST, 
tlen);
+                       ctf_do_dropwithreset_conn(m, tp, th, tlen);
                        return (1);
                }
        }
@@ -16653,7 +16653,7 @@ rack_do_segment_nounlock(struct tcpcb *tp, struct mbuf 
*m, struct tcphdr *th,
        if ((tp->t_state == TCPS_SYN_SENT) && (thflags & TH_ACK) &&
            (SEQ_LEQ(th->th_ack, tp->iss) || SEQ_GT(th->th_ack, tp->snd_max))) {
                tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
 #ifdef TCP_ACCOUNTING
                sched_unpin();
 #endif
diff --git a/sys/netinet/tcp_stacks/rack_bbr_common.c 
b/sys/netinet/tcp_stacks/rack_bbr_common.c
index fb013d3d17f0..fc12672a45f7 100644
--- a/sys/netinet/tcp_stacks/rack_bbr_common.c
+++ b/sys/netinet/tcp_stacks/rack_bbr_common.c
@@ -507,9 +507,9 @@ ctf_flight_size(struct tcpcb *tp, uint32_t rc_sacked)
 
 void
 ctf_do_dropwithreset(struct mbuf *m, struct tcpcb *tp, struct tcphdr *th,
-    int32_t rstreason, int32_t tlen)
+    int32_t tlen)
 {
-       tcp_dropwithreset(m, th, tp, tlen, rstreason);
+       tcp_dropwithreset(m, th, tp, tlen);
        if (tp != NULL)
                INP_WUNLOCK(tptoinpcb(tp));
 }
@@ -670,7 +670,7 @@ ctf_do_dropafterack(struct mbuf *m, struct tcpcb *tp, 
struct tcphdr *th, int32_t
            (SEQ_GT(tp->snd_una, th->th_ack) ||
            SEQ_GT(th->th_ack, tp->snd_max))) {
                *ret_val = 1;
-               ctf_do_dropwithreset(m, tp, th, BANDLIM_TCP_RST, tlen);
+               ctf_do_dropwithreset(m, tp, th, tlen);
                return;
        } else
                *ret_val = 0;
@@ -864,10 +864,10 @@ ctf_calc_rwin(struct socket *so, struct tcpcb *tp)
 
 void
 ctf_do_dropwithreset_conn(struct mbuf *m, struct tcpcb *tp, struct tcphdr *th,
-    int32_t rstreason, int32_t tlen)
+    int32_t tlen)
 {
 
-       tcp_dropwithreset(m, th, tp, tlen, rstreason);
+       tcp_dropwithreset(m, th, tp, tlen);
        tp = tcp_drop(tp, ETIMEDOUT);
        if (tp)
                INP_WUNLOCK(tptoinpcb(tp));
diff --git a/sys/netinet/tcp_stacks/rack_bbr_common.h 
b/sys/netinet/tcp_stacks/rack_bbr_common.h
index 6a8a056d89b0..cd33cb8ce50b 100644
--- a/sys/netinet/tcp_stacks/rack_bbr_common.h
+++ b/sys/netinet/tcp_stacks/rack_bbr_common.h
@@ -101,7 +101,7 @@ ctf_do_dropafterack(struct mbuf *m, struct tcpcb *tp,
 
 void
 ctf_do_dropwithreset(struct mbuf *m, struct tcpcb *tp,
-       struct tcphdr *th, int32_t rstreason, int32_t tlen);
+       struct tcphdr *th, int32_t tlen);
 void
 ctf_do_drop(struct mbuf *m, struct tcpcb *tp);
 
@@ -125,7 +125,7 @@ ctf_calc_rwin(struct socket *so, struct tcpcb *tp);
 
 void
 ctf_do_dropwithreset_conn(struct mbuf *m, struct tcpcb *tp, struct tcphdr *th,
-    int32_t rstreason, int32_t tlen);
+    int32_t tlen);
 
 uint32_t
 ctf_fixed_maxseg(struct tcpcb *tp);
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index b90f65e83cb1..53856bae9a66 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -1379,8 +1379,7 @@ int        tcp_reass(struct tcpcb *, struct tcphdr *, 
tcp_seq *, int *,
 void    tcp_reass_global_init(void);
 void    tcp_reass_flush(struct tcpcb *);
 void    tcp_dooptions(struct tcpopt *, u_char *, int, int);
-void   tcp_dropwithreset(struct mbuf *, struct tcphdr *,
-                    struct tcpcb *, int, int);
+void    tcp_dropwithreset(struct mbuf *, struct tcphdr *, struct tcpcb *, int);
 void   tcp_pulloutofband(struct socket *,
                     struct tcphdr *, struct mbuf *, int);
 void   tcp_xmit_timer(struct tcpcb *, int);

Reply via email to