Date: Thu, 9 Oct 2025 14:39:47 -0600 From: Alan Somers <asomers@freebsd.org> To: Michael Tuexen <tuexen@freebsd.org> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 746eadecaa7d - main - sockstat: show path state column only when useful Message-ID: <CAOtMX2iy_Tb7e8XHTW%2BCAXinJRHBTPa3UBEpPkuTRuh4WKzg5w@mail.gmail.com> In-Reply-To: <2B20483E-F15A-4BEA-AEE5-6490A94AC8B0@FreeBSD.org> References: <202510091919.599JJ5dd028526@gitrepo.freebsd.org> <CAOtMX2g_JyhQY%2BccLmt4c5Tq-oh%2BMazz4xCHdvcZzCyi%2BDGYcw@mail.gmail.com> <995AAC96-FFE6-4D25-90C5-1BE9B6BF3729@FreeBSD.org> <CAOtMX2hsa2v3ZVK2i93s%2Bt0AvYrEsYWTnQkqz0koiBbDFXdmyQ@mail.gmail.com> <2B20483E-F15A-4BEA-AEE5-6490A94AC8B0@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Thu, Oct 9, 2025 at 2:38 PM Michael Tuexen <tuexen@freebsd.org> wrote: > > On 9. Oct 2025, at 22:25, Alan Somers <asomers@FreeBSD.org> wrote: > > > > On Thu, Oct 9, 2025 at 2:22 PM Michael Tuexen <tuexen@freebsd.org> > wrote: > > > On 9. Oct 2025, at 22:01, Alan Somers <asomers@FreeBSD.org> wrote: > > > > > > It looks like this change will cause sockstat to skip output path > state even in JSON output mode. Is that deliberate? I would think that it > would be better for machine-readable formats if the output were predictable. > > I haven't used it in that setup. So you would prefer to only drop the > column > > when generating plain text? > > > > Yes > What about HTML? Wondering if I could base the display of the column > on is_xo_style_encoding. > I would think that HTML should behave like JSON, since it's used for creating tables. > > > Also, the English in the man page is awkward. I think you mean "at > least one path to show". > > Would "at least one path state to show" be acceptable? > > > > Yes, that would be good. > Will fix it in combination with the above issue. > > Best regards > Michael > > Best regards > > Michael > > > > > > On Thu, Oct 9, 2025 at 1:19 PM Michael Tuexen <tuexen@freebsd.org> > wrote: > > > The branch main has been updated by tuexen: > > > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=746eadecaa7dc8913721cbaa9be4e603bd36ea49 > > > > > > commit 746eadecaa7dc8913721cbaa9be4e603bd36ea49 > > > Author: Michael Tuexen <tuexen@FreeBSD.org> > > > AuthorDate: 2025-10-09 19:16:38 +0000 > > > Commit: Michael Tuexen <tuexen@FreeBSD.org> > > > CommitDate: 2025-10-09 19:16:38 +0000 > > > > > > 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. > > > > > > Reviewed by: rrs > > > MFC after: 3 days > > > Sponsored by: Netflix, Inc. > > > Differential Revision: https://reviews.freebsd.org/D52986 > > > --- > > > usr.bin/sockstat/main.c | 8 ++++++-- > > > usr.bin/sockstat/sockstat.1 | 3 ++- > > > 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 > > > > [-- Attachment #2 --] <div dir="ltr"><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Oct 9, 2025 at 2:38 PM Michael Tuexen <<a href="mailto:tuexen@freebsd.org">tuexen@freebsd.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> On 9. Oct 2025, at 22:25, Alan Somers <asomers@FreeBSD.org> wrote:<br> > <br> > On Thu, Oct 9, 2025 at 2:22 PM Michael Tuexen <<a href="mailto:tuexen@freebsd.org" target="_blank">tuexen@freebsd.org</a>> wrote:<br> > > On 9. Oct 2025, at 22:01, Alan Somers <asomers@FreeBSD.org> wrote:<br> > > <br> > > It looks like this change will cause sockstat to skip output path state even in JSON output mode. Is that deliberate? I would think that it would be better for machine-readable formats if the output were predictable.<br> > I haven't used it in that setup. So you would prefer to only drop the column<br> > when generating plain text?<br> > <br> > Yes<br> What about HTML? Wondering if I could base the display of the column<br> on is_xo_style_encoding.<br></blockquote><div><br></div><div>I would think that HTML should behave like JSON, since it's used for creating tables.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> > > Also, the English in the man page is awkward. I think you mean "at least one path to show".<br> > Would "at least one path state to show" be acceptable?<br> > <br> > Yes, that would be good.<br> Will fix it in combination with the above issue.<br> <br> Best regards<br> Michael<br> > Best regards<br> > Michael<br> > > <br> > > On Thu, Oct 9, 2025 at 1:19 PM Michael Tuexen <<a href="mailto:tuexen@freebsd.org" target="_blank">tuexen@freebsd.org</a>> wrote:<br> > > The branch main has been updated by tuexen:<br> > > <br> > > URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=746eadecaa7dc8913721cbaa9be4e603bd36ea49" rel="noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=746eadecaa7dc8913721cbaa9be4e603bd36ea49</a><br> > > <br> > > commit 746eadecaa7dc8913721cbaa9be4e603bd36ea49<br> > > Author: Michael Tuexen <tuexen@FreeBSD.org><br> > > AuthorDate: 2025-10-09 19:16:38 +0000<br> > > Commit: Michael Tuexen <tuexen@FreeBSD.org><br> > > CommitDate: 2025-10-09 19:16:38 +0000<br> > > <br> > > sockstat: show path state column only when useful<br> > > <br> > > Showing the path state column is only useful, if there is at least one<br> > > SCTP endpoint shown, which is not in the state CLOSED or LISTEN.<br> > > Don't show it when it is not useful.<br> > > <br> > > Reviewed by: rrs<br> > > MFC after: 3 days<br> > > Sponsored by: Netflix, Inc.<br> > > Differential Revision: <a href="https://reviews.freebsd.org/D52986" rel="noreferrer" target="_blank">https://reviews.freebsd.org/D52986</a><br> > > ---<br> > > usr.bin/sockstat/main.c | 8 ++++++--<br> > > usr.bin/sockstat/sockstat.1 | 3 ++-<br> > > 2 files changed, 8 insertions(+), 3 deletions(-)<br> > > <br> > > diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c<br> > > index f0eb83eb3e9f..7fedfd5b8724 100644<br> > > --- a/usr.bin/sockstat/main.c<br> > > +++ b/usr.bin/sockstat/main.c<br> > > @@ -103,6 +103,7 @@ static bool opt_u; /* Show Unix domain sockets */<br> > > static u_int opt_v; /* Verbose mode */<br> > > static bool opt_w; /* Automatically size the columns */<br> > > static bool is_xo_style_encoding;<br> > > +static bool show_path_state = false;<br> > > <br> > > /*<br> > > * Default protocols to use if no -P was defined.<br> > > @@ -584,6 +585,7 @@ gather_sctp(void)<br> > > !(local_all_loopback ||<br> > > foreign_all_loopback))) {<br> > > RB_INSERT(socks_t, &socks, sock);<br> > > + show_path_state = true;<br> > > } else {<br> > > free_socket(sock);<br> > > }<br> > > @@ -1485,7 +1487,7 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize)<br> > > } else if (!is_xo_style_encoding)<br> > > xo_emit(" {:encaps/%*s}", cw->encaps, "??");<br> > > }<br> > > - if (opt_s) {<br> > > + if (opt_s && show_path_state) {<br> > > if (faddr != NULL &&<br> > > s->proto == IPPROTO_SCTP &&<br> > > s->state != SCTP_CLOSED &&<br> > > @@ -1632,7 +1634,9 @@ display(void)<br> > > if (opt_U)<br> > > xo_emit(" {T:/%*s}", cw.encaps, "ENCAPS");<br> > > if (opt_s) {<br> > > - xo_emit(" {T:/%-*s}", cw.path_state, "PATH STATE");<br> > > + if (show_path_state)<br> > > + xo_emit(" {T:/%-*s}", cw.path_state,<br> > > + "PATH STATE");<br> > > xo_emit(" {T:/%-*s}", cw.conn_state, "CONN STATE");<br> > > }<br> > > if (opt_b)<br> > > diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1<br> > > index dabb3042bfd4..d14eb967ad0f 100644<br> > > --- a/usr.bin/sockstat/sockstat.1<br> > > +++ b/usr.bin/sockstat/sockstat.1<br> > > @@ -25,7 +25,7 @@<br> > > .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF<br> > > .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br> > > .\"<br> > > -.Dd October 7, 2025<br> > > +.Dd October 9, 2025<br> > > .Dt SOCKSTAT 1<br> > > .Os<br> > > .Sh NAME<br> > > @@ -205,6 +205,7 @@ is specified (only for SCTP or TCP).<br> > > The path state if<br> > > .Fl s<br> > > is specified (only for SCTP).<br> > > +This column is only shown when there is at least one path state shown.<br> > > .It Li CONN STATE<br> > > The connection state if<br> > > .Fl s<br> > <br> <br> </blockquote></div></div>help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2iy_Tb7e8XHTW%2BCAXinJRHBTPa3UBEpPkuTRuh4WKzg5w>
