[PATCH iproute2-next] ss: mptcp: print out last time counters

Matthieu Baerts (NGI0) posted 1 patch 2 weeks, 6 days ago
Failed in applying to current master (apply log)
include/uapi/linux/mptcp.h | 4 ++++
misc/ss.c                  | 6 ++++++
2 files changed, 10 insertions(+)
[PATCH iproute2-next] ss: mptcp: print out last time counters
Posted by Matthieu Baerts (NGI0) 2 weeks, 6 days ago
From: Geliang Tang <geliang@kernel.org>

Three new "last time" counters have been added to "struct mptcp_info":
last_data_sent, last_data_recv and last_ack_recv. They have been added
in commit 18d82cde7432 ("mptcp: add last time fields in mptcp_info") in
net-next recently.

This patch prints out these new counters into mptcp_stats output in ss.

Signed-off-by: Geliang Tang <geliang@kernel.org>
Acked-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 include/uapi/linux/mptcp.h | 4 ++++
 misc/ss.c                  | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h
index c2e6f3be..a0da2632 100644
--- a/include/uapi/linux/mptcp.h
+++ b/include/uapi/linux/mptcp.h
@@ -56,6 +56,10 @@ struct mptcp_info {
 	__u64	mptcpi_bytes_received;
 	__u64	mptcpi_bytes_acked;
 	__u8	mptcpi_subflows_total;
+	__u8	reserved[3];
+	__u32	mptcpi_last_data_sent;
+	__u32	mptcpi_last_data_recv;
+	__u32	mptcpi_last_ack_recv;
 };
 
 /* MPTCP Reset reason codes, rfc8684 */
diff --git a/misc/ss.c b/misc/ss.c
index 87008d7c..81b813c1 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -3279,6 +3279,12 @@ static void mptcp_stats_print(struct mptcp_info *s)
 		out(" bytes_acked:%llu", s->mptcpi_bytes_acked);
 	if (s->mptcpi_subflows_total)
 		out(" subflows_total:%u", s->mptcpi_subflows_total);
+	if (s->mptcpi_last_data_sent)
+		out(" last_data_sent:%u", s->mptcpi_last_data_sent);
+	if (s->mptcpi_last_data_recv)
+		out(" last_data_recv:%u", s->mptcpi_last_data_recv);
+	if (s->mptcpi_last_ack_recv)
+		out(" last_ack_recv:%u", s->mptcpi_last_ack_recv);
 }
 
 static void mptcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,

---
base-commit: 7a6d30c95da98fbb375e7f1520fad34c1e959441
change-id: 20240412-upstream-iproute2-next-20240412-mptcp-last-time-info-da09da8beacc

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>
Re: [PATCH iproute2-next] ss: mptcp: print out last time counters
Posted by David Ahern 2 weeks, 4 days ago
On 4/12/24 2:19 AM, Matthieu Baerts (NGI0) wrote:
> From: Geliang Tang <geliang@kernel.org>
> 
> Three new "last time" counters have been added to "struct mptcp_info":
> last_data_sent, last_data_recv and last_ack_recv. They have been added
> in commit 18d82cde7432 ("mptcp: add last time fields in mptcp_info") in
> net-next recently.
> 
> This patch prints out these new counters into mptcp_stats output in ss.
> 
> Signed-off-by: Geliang Tang <geliang@kernel.org>
> Acked-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
>  include/uapi/linux/mptcp.h | 4 ++++
>  misc/ss.c                  | 6 ++++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h
> index c2e6f3be..a0da2632 100644
> --- a/include/uapi/linux/mptcp.h
> +++ b/include/uapi/linux/mptcp.h

uapi headers are synced using scripts, meaning at best uapi updates
should be a separate patch (the updates can also be omitted).

> @@ -56,6 +56,10 @@ struct mptcp_info {
>  	__u64	mptcpi_bytes_received;
>  	__u64	mptcpi_bytes_acked;
>  	__u8	mptcpi_subflows_total;
> +	__u8	reserved[3];
> +	__u32	mptcpi_last_data_sent;
> +	__u32	mptcpi_last_data_recv;
> +	__u32	mptcpi_last_ack_recv;
>  };
>  
>  /* MPTCP Reset reason codes, rfc8684 */
> diff --git a/misc/ss.c b/misc/ss.c
> index 87008d7c..81b813c1 100644
> --- a/misc/ss.c
> +++ b/misc/ss.c
> @@ -3279,6 +3279,12 @@ static void mptcp_stats_print(struct mptcp_info *s)
>  		out(" bytes_acked:%llu", s->mptcpi_bytes_acked);
>  	if (s->mptcpi_subflows_total)
>  		out(" subflows_total:%u", s->mptcpi_subflows_total);
> +	if (s->mptcpi_last_data_sent)
> +		out(" last_data_sent:%u", s->mptcpi_last_data_sent);
> +	if (s->mptcpi_last_data_recv)
> +		out(" last_data_recv:%u", s->mptcpi_last_data_recv);
> +	if (s->mptcpi_last_ack_recv)
> +		out(" last_ack_recv:%u", s->mptcpi_last_ack_recv);
>  }
>  

applied to iproute2-next
Re: [PATCH iproute2-next] ss: mptcp: print out last time counters
Posted by Matthieu Baerts 2 weeks, 2 days ago
Hi David,

On 13/04/2024 18:45, David Ahern wrote:
> On 4/12/24 2:19 AM, Matthieu Baerts (NGI0) wrote:
>> From: Geliang Tang <geliang@kernel.org>
>>
>> Three new "last time" counters have been added to "struct mptcp_info":
>> last_data_sent, last_data_recv and last_ack_recv. They have been added
>> in commit 18d82cde7432 ("mptcp: add last time fields in mptcp_info") in
>> net-next recently.
>>
>> This patch prints out these new counters into mptcp_stats output in ss.
>>
>> Signed-off-by: Geliang Tang <geliang@kernel.org>
>> Acked-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
>> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
>> ---
>>  include/uapi/linux/mptcp.h | 4 ++++
>>  misc/ss.c                  | 6 ++++++
>>  2 files changed, 10 insertions(+)
>>
>> diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h
>> index c2e6f3be..a0da2632 100644
>> --- a/include/uapi/linux/mptcp.h
>> +++ b/include/uapi/linux/mptcp.h
> 
> uapi headers are synced using scripts, meaning at best uapi updates
> should be a separate patch (the updates can also be omitted).

Sorry for that, I didn't know. Thank you for the explanation, noted!

>> @@ -56,6 +56,10 @@ struct mptcp_info {
>>  	__u64	mptcpi_bytes_received;
>>  	__u64	mptcpi_bytes_acked;
>>  	__u8	mptcpi_subflows_total;
>> +	__u8	reserved[3];
>> +	__u32	mptcpi_last_data_sent;
>> +	__u32	mptcpi_last_data_recv;
>> +	__u32	mptcpi_last_ack_recv;
>>  };
>>  
>>  /* MPTCP Reset reason codes, rfc8684 */
>> diff --git a/misc/ss.c b/misc/ss.c
>> index 87008d7c..81b813c1 100644
>> --- a/misc/ss.c
>> +++ b/misc/ss.c
>> @@ -3279,6 +3279,12 @@ static void mptcp_stats_print(struct mptcp_info *s)
>>  		out(" bytes_acked:%llu", s->mptcpi_bytes_acked);
>>  	if (s->mptcpi_subflows_total)
>>  		out(" subflows_total:%u", s->mptcpi_subflows_total);
>> +	if (s->mptcpi_last_data_sent)
>> +		out(" last_data_sent:%u", s->mptcpi_last_data_sent);
>> +	if (s->mptcpi_last_data_recv)
>> +		out(" last_data_recv:%u", s->mptcpi_last_data_recv);
>> +	if (s->mptcpi_last_ack_recv)
>> +		out(" last_ack_recv:%u", s->mptcpi_last_ack_recv);
>>  }
>>  
> 
> applied to iproute2-next
Thank you!

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.