Re: Monitoring packet loss

From: Alan Somers <asomers_at_freebsd.org>
Date: Thu, 08 Aug 2024 02:05:51 UTC
On Wed, Aug 7, 2024 at 7:21 PM Navdeep Parhar <np@freebsd.org> wrote:
>
> On 8/7/24 7:06 AM, Alan Somers wrote:
> > I'd like to track the rate of packet loss for outbound packets from
> > some production servers.  Obviously, that's impossible.  But I think
> > that the rate of TCP retransmissions should be a close proxy for
> > packet loss.  Currently I can only observe TCP retransmissions by
> > using wireshark, a slow and laborious process.  But it seems to me
> > that the network stack should already have that information
>
> The kernel already maintains a VNET-virtualized tcpstat structure for
> aggregate TCP stats.  netstat and systat grab these using the
> net.inet.tcp.stats sysctl.  This might work for you if you're okay with
> global and not per-interface information.
>
> VNET_PCPUSTAT_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */
>
> $ netstat -sp tcp | grep -iE 'retr|rexm'
> $ systat -tcp

Yes, that's exactly what I'm looking for.  Thank you!