Subject: Re: [PATCH iproute2 net-next v2 3/4] ss: Buffer raw fields first, then render them as a table

From: Stefano Brivio <[email-masked]>
Date: Wed, 13 Feb 2019 23:20:47 +0100

On Wed, 13 Feb 2019 13:55:34 -0800
Stephen Hemminger <[email-masked]> wrote:

> What I would favor:
> 	* use big enough columns that for the common case everything lines up fine
> 	* if column is to wide just print that element wider (which is what print %Ns does)

This is very close to what was done before, but as soon as you mix,
say, UNIX sockets with TCP sockets, "big enough" columns typically make
output for TCP sockets unreadable.

With buffering, instead, I can decide that a line split is needed, and
keep fields aligned no matter what.

> and
> 	* add json output for programs that want to parse
> 	* use print_uint etc for that

Sure, I think we all agree with this, but it's not going to be quick to
implement (even though it's perhaps a bit easier with abstracted columns
and buffering). Eric reported a problem and I'm trying to fix it
quickly.

> The buffering patch (in iproute2-next) can/will be reverted.

I think it received generally good feedback (also from users, later on)
and this is the first report of a serious issue -- it's also an issue
which looks easy to fix (I'm half way through that by now).

By the way, this patch was merged in iproute2 more than one year ago
(December 2017, by you).

-- 
Stefano