Skip site navigation (1)Skip section navigation (2)
To:        Alan Somers <asomers@FreeBSD.org>

| raw e-mail | index | archive | help
> On 9. Oct 2025, at 22:39, Alan Somers <asomers@FreeBSD.org> wrote:
>=20
> On Thu, Oct 9, 2025 at 2:38=E2=80=AFPM Michael Tuexen =
<tuexen@freebsd.org> wrote:
> > On 9. Oct 2025, at 22:25, Alan Somers <asomers@FreeBSD.org> wrote:
> >=20
> > On Thu, Oct 9, 2025 at 2:22=E2=80=AFPM Michael Tuexen =
<tuexen@freebsd.org> wrote:
> > > On 9. Oct 2025, at 22:01, Alan Somers <asomers@FreeBSD.org> wrote:
> > >=20
> > > 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?
> >=20
> > Yes
> What about HTML? Wondering if I could base the display of the column
> on is_xo_style_encoding.
>=20
> I would think that HTML should behave like JSON, since it's used for =
creating tables.
I think https://reviews.freebsd.org/D53005 should address your comments.

Thanks for the feedback!

Best regards
Michael
>   >   > 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?
> >=20
> > Yes, that would be good.
> Will fix it in combination with the above issue.
>=20
> Best regards
> Michael
> >   Best regards
> > Michael
> > >=20
> > > On Thu, Oct 9, 2025 at 1:19=E2=80=AFPM Michael Tuexen =
<tuexen@freebsd.org> wrote:
> > > The branch main has been updated by tuexen:
> > >=20
> > > URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D746eadecaa7dc8913721cbaa9be4e603=
bd36ea49
> > >=20
> > > 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
> > >=20
> > >     sockstat: show path state column only when useful
> > >=20
> > >     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.
> > >=20
> > >     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(-)
> > >=20
> > > 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 =3D false;
> > >=20
> > >  /*
> > >   * 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 =3D 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 !=3D NULL &&
> > >                             s->proto =3D=3D IPPROTO_SCTP &&
> > >                             s->state !=3D 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
> >=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?>