The branch main has been updated by tuexen:

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

commit b2044c4557443bbce974101f04e2b465d1bbe769
Author:     Michael Tuexen <[email protected]>
AuthorDate: 2024-08-30 07:26:41 +0000
Commit:     Michael Tuexen <[email protected]>
CommitDate: 2024-08-30 07:26:41 +0000

    tcp rack, bbr: improve handling of soft errors
    
    Do not report an error, if it is stored as a soft error. This avoids,
    for example, the dropping of TCP connections using an interface,
    while enabling or disabling LRO on that interface.
    
    Reviewed by:            cc
    MFC after:              1 week
    Sponsored by:           Netflix, Inc.
    Differential Revision:  https://reviews.freebsd.org/D46427
---
 sys/netinet/tcp_stacks/bbr.c  | 1 +
 sys/netinet/tcp_stacks/rack.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c
index cf64451f0c87..3f8c749583b4 100644
--- a/sys/netinet/tcp_stacks/bbr.c
+++ b/sys/netinet/tcp_stacks/bbr.c
@@ -13867,6 +13867,7 @@ nomore:
                case ENETUNREACH:
                        if (TCPS_HAVERCVDSYN(tp->t_state)) {
                                tp->t_softerror = error;
+                               error = 0;
                        }
                        /* FALLTHROUGH */
                default:
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index da28fd25d195..e77604820b63 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -22450,6 +22450,7 @@ nomore:
                case ENETDOWN:
                        if (TCPS_HAVERCVDSYN(tp->t_state)) {
                                tp->t_softerror = error;
+                               error = 0;
                        }
                        /* FALLTHROUGH */
                default:

Reply via email to