Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S974941AbdDXTnF (ORCPT ); Mon, 24 Apr 2017 15:43:05 -0400 Received: from mail-oi0-f51.google.com ([209.85.218.51]:32964 "EHLO mail-oi0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S974795AbdDXTm4 (ORCPT ); Mon, 24 Apr 2017 15:42:56 -0400 MIME-Version: 1.0 In-Reply-To: References: From: Neal Cardwell Date: Mon, 24 Apr 2017 15:42:24 -0400 Message-ID: Subject: Re: Get amount of fast retransmissions from TCP info To: =?UTF-8?Q?Lars_Erik_Storbuk=C3=A5s?= 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 v3OJhUKS024545 Content-Length: 1134 Lines: 31 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