aboutsummaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2025-10-09 21:16:38 +0200
committerColin Percival <cperciva@FreeBSD.org>2025-10-17 10:58:52 -0700
commit46d39e9f09a4e7e97984933466228c3fc11600a6 (patch)
tree29f5198abac7ee85f24c5c42200511174537fbcc /usr.bin
parent4940dc8c352679a516ddc4463fb28e97ec9faddf (diff)
sockstat: show path state column only when useful
Showing the path state column is only useful, if there is at least one SCTP endpoint shown, which is not in the state CLOSED or LISTEN. Don't show it when it is not useful. Approved by: re (cperciva) Reviewed by: rrs Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52986 (cherry picked from commit 746eadecaa7dc8913721cbaa9be4e603bd36ea49) (cherry picked from commit 9a0a114b7f10c9510f6e2d4e5d1c5e40218f383b)
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/sockstat/main.c8
-rw-r--r--usr.bin/sockstat/sockstat.13
2 files changed, 8 insertions, 3 deletions
diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c
index f0eb83eb3e9f..7fedfd5b8724 100644
--- a/usr.bin/sockstat/main.c
+++ b/usr.bin/sockstat/main.c
@@ -103,6 +103,7 @@ static bool opt_u; /* Show Unix domain sockets */
static u_int opt_v; /* Verbose mode */
static bool opt_w; /* Automatically size the columns */
static bool is_xo_style_encoding;
+static bool show_path_state = false;
/*
* Default protocols to use if no -P was defined.
@@ -584,6 +585,7 @@ gather_sctp(void)
!(local_all_loopback ||
foreign_all_loopback))) {
RB_INSERT(socks_t, &socks, sock);
+ show_path_state = true;
} else {
free_socket(sock);
}
@@ -1485,7 +1487,7 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize)
} else if (!is_xo_style_encoding)
xo_emit(" {:encaps/%*s}", cw->encaps, "??");
}
- if (opt_s) {
+ if (opt_s && show_path_state) {
if (faddr != NULL &&
s->proto == IPPROTO_SCTP &&
s->state != SCTP_CLOSED &&
@@ -1632,7 +1634,9 @@ display(void)
if (opt_U)
xo_emit(" {T:/%*s}", cw.encaps, "ENCAPS");
if (opt_s) {
- xo_emit(" {T:/%-*s}", cw.path_state, "PATH STATE");
+ if (show_path_state)
+ xo_emit(" {T:/%-*s}", cw.path_state,
+ "PATH STATE");
xo_emit(" {T:/%-*s}", cw.conn_state, "CONN STATE");
}
if (opt_b)
diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1
index dabb3042bfd4..d14eb967ad0f 100644
--- a/usr.bin/sockstat/sockstat.1
+++ b/usr.bin/sockstat/sockstat.1
@@ -25,7 +25,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd October 7, 2025
+.Dd October 9, 2025
.Dt SOCKSTAT 1
.Os
.Sh NAME
@@ -205,6 +205,7 @@ is specified (only for SCTP or TCP).
The path state if
.Fl s
is specified (only for SCTP).
+This column is only shown when there is at least one path state shown.
.It Li CONN STATE
The connection state if
.Fl s