LINUX.ORG.RU
ФорумAdmin

Счетчик фреймов(L2) на сетевой карте

 , , ,


0

2

Добрый день! ОС: Fedora40

Необходим счетчик прошедших через сетевую карту фреймов(L2). Пробовал различные утилиты

sudo bmon

ip -s -s show eno1

ethtool -S eno1

Каждая из них выдает статистику, в выводе которой встречается tx/rx bytes и tx/rx packets Вопрос: В данных случаях packets являются L2 или L3? Смог найти только потери frame в cat /proc/net/dev Есть ли способ проверить статистику только на уровне L2?


ethtool

Да, там показываются ethernet-фреймы. Только современные сетевые карты, особенно серверные, умеют сами нарезать на фреймы аж tcp-поток, и что там показывается для них я не знаю. Но если не тут - то нигде не увидишь. А зачем тебе именно L2?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Думаю, что карта, даже умная, тупо считает пакеты.

А вот в каком виде оно попало в L3 - это уже совсем другой вопрос.

Если есть сборка/разборка пакетов картой, то не сходятся счетчики L2 и пакеты IP.

vel ★★★★★
()
Ответ на: комментарий от vel

Но в общем виде то нет - а ethtool её показывает всегда. Может быть там есть логика «если карта умеет считать то спрашиваем у неё, иначе считаем сами», а может и универсальный способ «считаем сами». В каких-то случаях в любом случае получается это.

firkax ★★★★★
()

Наверно, только экспериментально определять, брать управляемый коммутатор и сравинвать статистику. Причём для конкретной версии ядра и конкретного драйвера сетёвки. По «правильным» пакетам, наверно, те счётчики будут совпадать с тем, что показывает tcpdump, если он видит ip-фрагментированые пакеты, значит счётчики L2 и карта простая.

А если карта умная, и сама собирает/разбирает пакеты, то непонятно, особенно непонятно как такая карта считает битые пакеты и пакеты, которые не получилось собрать...

mky ★★★★★
()
Ответ на: комментарий от mky

на умных картах не сходится ни число пакетов в iptables, ни объём трафика если включено gro/sgo. tcpdump при этом показывает пакеты длиннее MTU.

Чем умнее сетевуха тем больше статистики и она очень разная.

82599EB 10-Gigabit SFI/SFP+

ethtool -S eth2 |wc
342

ip -s li show dev eth2; ethtool -S eth2 | grep rx_
4: eth2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 1000
    link/ether 00:1b:21:bf:61:38 brd ff:ff:ff:ff:ff:ff
    RX:       bytes      packets errors dropped  missed   mcast           
    109504586897520 121309898930      0   69988   39186  622204 
    TX:       bytes      packets errors dropped carrier collsns           
                216            4      0       0       0       0 

     rx_packets: 121309899396
     rx_bytes: 109504587319288
     rx_pkts_nic: 121309229436
     rx_bytes_nic: 110116740302371
     rx_errors: 0
     rx_dropped: 69988
     rx_no_buffer_count: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 0
     rx_missed_errors: 39186
     rx_length_errors: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     rx_csum_offload_errors: 273760

+ 64 очередей на приём/передачу пакетов/байт.

vel ★★★★★
()