Precisa de ajuda para obter estatísticas de queda de pacotes relatadas por ethtool (EL7/EL8)

Precisa de ajuda para obter estatísticas de queda de pacotes relatadas por ethtool (EL7/EL8)

Tenho tentado ler os detalhes das quedas conforme elas são relatadas por várias ferramentas (e em vários níveis) do sistema operacional. Até agora, a maior parte das informações que consegui desenterrar pesquisando no Google parece um tanto "ondulada" para mim.

Primeiro, deixe-me afirmar que o host de exemplo que estou vendo mostra ZERO drop in /proc/net/softnet_stat. Isso indica para mim que os buffers de anel da NIC provavelmente estão dimensionados adequadamente. Agora, para ethtool...

Esta é a aparência da fila múltipla da NIC:

# ethtool -l em1
Channel parameters for em1:
Pre-set maximums:
RX:     16
TX:     16
Other:      n/a
Combined:   n/a
Current hardware settings:
RX:     16
TX:     16
Other:      n/a
Combined:   n/a

Agora, aqui está a aparência dos drops de rx para a mesma interface:

# ethtool -S em1 | grep rx.*dropped:
     rx_dropped: 1742
     rx0_dropped: 0
     rx1_dropped: 0
     rx2_dropped: 0
     rx3_dropped: 0
     rx4_dropped: 0
     rx5_dropped: 0
     rx6_dropped: 0
     rx7_dropped: 0
     rx8_dropped: 0
     rx9_dropped: 0
     rx10_dropped: 0
     rx11_dropped: 0
     rx12_dropped: 0
     rx13_dropped: 0
     rx14_dropped: 0
     rx15_dropped: 0

Minha suposição aquié que as 16 filas individuais aqui estão relacionadas à multifila do buffer de anel da NIC. Todos os zeros aqui parecem concordar com o que estou vendo softnet_stat. Além disso, estou assumindo que quaisquer quedas contadas softnet_statseriam refletidas nesta ethtoolsaída, se estivessem acontecendo (o que não acontece atualmente).

Isso deixa um tipo de 'rx_dropped'campo vago, que na verdade está aumentando. Portanto, minha suposição sobre isso é que NÃO está relacionado ao buffer de anel da NIC, mas é um contador de queda de protocolo superior. Na verdade, essa contagem se reflete nas ip -sestatísticas da interface:

# ip -s link show dev em1
2: em1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    link/ether 94:18:82:70:2e:42 brd ff:ff:ff:ff:ff:ff
    RX:       bytes      packets errors dropped  missed   mcast
    219512805660516 147616023841      0    1742       0 5624266
    TX:       bytes      packets errors dropped carrier collsns
    649765242476657 450168813646      0       0       0       0

Acredito que essas quedas podem ser o resultado de uma série de problemas relacionados ao protocolo, como pacotes malformados, portas defeituosas, buffers de aplicativos congestionados, etc., etc.

Esta parece uma análise razoável que explica as estatísticas de queda "diferentes" relatadas por ethtool -S?

informação relacionada