Date: Wed, 1 Feb 2023 23:33:38 GMT From: Michael Tuexen <tuexen@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 423b1e36a64f - stable/13 - tcp: improve BBLog for output events when using the FreeBSD stack Message-ID: <202302012333.311NXc4x076010@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=423b1e36a64f187f6bf2eea01c8864d24cc40658 commit 423b1e36a64f187f6bf2eea01c8864d24cc40658 Author: Michael Tuexen <tuexen@FreeBSD.org> AuthorDate: 2022-08-08 11:07:10 +0000 Commit: Michael Tuexen <tuexen@FreeBSD.org> CommitDate: 2023-02-01 23:33:06 +0000 tcp: improve BBLog for output events when using the FreeBSD stack Put the return value of ip_output()/ip6_output in the output event instead of adding another one in case of an error. This improves consistency with other similar places. Reviewed by: rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D36085 (cherry picked from commit bd30a1216e03e14cfaa7e91b1fc72ad76e9cd240) --- sys/netinet/tcp_output.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index a30f8eab389d..fea54cdcc5cb 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -219,6 +219,7 @@ tcp_output(struct tcpcb *tp) int tso, mtu; struct tcpopt to; struct udphdr *udp = NULL; + struct tcp_log_buffer *lgb; unsigned int wanted_cookie = 0; unsigned int dont_sendalot = 0; #if 0 @@ -1452,8 +1453,13 @@ send: TCP_PROBE3(debug__output, tp, th, m); /* We're getting ready to send; log now. */ - TCP_LOG_EVENT(tp, th, &so->so_rcv, &so->so_snd, TCP_LOG_OUT, ERRNO_UNK, - len, NULL, false); + /* XXXMT: We are not honoring verbose logging. */ + if (tp->t_logstate != TCP_LOG_STATE_OFF) + lgb = tcp_log_event_(tp, th, &so->so_rcv, &so->so_snd, + TCP_LOG_OUT, ERRNO_UNK, len, NULL, false, NULL, NULL, 0, + NULL); + else + lgb = NULL; /* * Fill in IP length and desired time to live and @@ -1553,6 +1559,10 @@ send: } #endif /* INET */ + if (lgb != NULL) { + lgb->tlb_errno = error; + lgb = NULL; + } out: if (error == 0) tcp_account_for_send(tp, len, (tp->snd_nxt != tp->snd_max), 0, hw_tls); @@ -1666,10 +1676,6 @@ timer: tcp_clean_dsack_blocks(tp); } if (error) { - /* Record the error. */ - TCP_LOG_EVENT(tp, NULL, &so->so_rcv, &so->so_snd, TCP_LOG_OUT, - error, 0, NULL, false); - /* * We know that the packet was lost, so back out the * sequence number advance, if any.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302012333.311NXc4x076010>