Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1428285AbdDXUU0 (ORCPT ); Mon, 24 Apr 2017 16:20:26 -0400 Received: from mail-oi0-f43.google.com ([209.85.218.43]:36136 "EHLO mail-oi0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1174301AbdDXUUQ (ORCPT ); Mon, 24 Apr 2017 16:20:16 -0400 MIME-Version: 1.0 In-Reply-To: References: From: =?UTF-8?Q?Lars_Erik_Storbuk=C3=A5s?= Date: Mon, 24 Apr 2017 22:20:15 +0200 Message-ID: Subject: Re: Get amount of fast retransmissions from TCP info To: Neal Cardwell Cc: LKML , Netdev Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v3OKKUFX028717 Content-Length: 1526 Lines: 42 2017-04-24 21:42 GMT+02:00 Neal Cardwell : > On Mon, Apr 24, 2017 at 3:11 PM, Lars Erik Storbukås > wrote: >> I'm trying to get amount of congestion events in TCP caused by >> DUPACK's (fast retransmissions), and can't seem to find any variable >> in the TCP info struct which hold that value. There are three >> variables in the TCP info struct that seem to hold similar congestion >> values: __u8 tcpi_retransmits;__u32 tcpi_retrans; __u32 >> tcpi_total_retrans; >> >> Does anyone have any pointers on how to find this value in the TCP code? >> >> Please CC me personally if answering this question. Any help is >> greatly appreciated. > > [I'm cc-ing the netdev list.] > > Do you need this per-socket? On a per-socket basis, I do not think > there are separate totals for fast retransmits and timeout > retransmits. > > If a global number is good enough, then you can get that number from > the global network statistics. In "nstat" output they look like: > > TcpExtTCPFastRetrans = packets sent in fast retransmit / fast recovery > > TcpExtTCPSlowStartRetrans = packets sent in timeout recovery > > It sounds like TcpExtTCPFastRetrans is what you are after. > > Hope that helps, > neal Thanks for your answer Neal. Yes, I need this information per-socket. What would be the most appropriate place to update this value? If none of the variables (mentioned above) contain any value in regards to fast retransmits, what does the different values represent? /Lars Erik