Am o mașină Linux care rulează Debian 11 care acționează ca un router între un dispozitiv aflat la margine și o mașină gazdă. În timp ce faci o răsuci
comandă pentru a descărca un fișier cu interfața care se află în fața marginii va începe să se acumuleze rx_crc_errors
sporadic dar constant - numărul crește în rafale, în medie poate unul sau două pe secundă. Rezultatul este că atât de la router mașina gazdă din spatele acestuia răsuci
comanda rulează foarte lent și se descarcă la o fracțiune din viteza disponibilă pe linie (și am verificat pe alte routere și servere care trec prin același dispozitiv edge și rulează la o viteză mai mare și nu acumulează rx_crc_errors).
Router-ul edge (gateway-ul pentru mașină/interfață care acumulează aceste rx_crc_errors) este un NetGate 1537 care rulează pfSense 22.01 (cel mai recent).
Lucruri pe care le-am încercat până acum:
- Inlocuit cablul
- Am înlocuit adaptorul SFP
- A folosit un alt port de comutare
- A înlocuit întreaga mașină gazdă cu una din aceeași configurație
Niciuna dintre acestea nu a schimbat comportamentul, care, din câte îmi dau seama, elimină hardware-ul ca sursă a problemei.
Face curl https://dl.google.com/go/go1.18.1.linux-amd64.tar.gz --output t.dat
de la marginea mașinii se completează în aproximativ 1 sec. De la routerul cu rx_crc_errors durează 17 secunde și 21 de secunde de la gazda din spatele acestuia.
Erorile apar pe interfața uplink astfel:
...
2: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq stare UP mod DEFAULT grup implicit qlen 1000
link/ether 10:1f:74:35:fc:94 brd ff:ff:ff:ff:ff:ff
RX: octeți pachete erori scăpat ratat mcast
1609100899 1250023 508 0 0 2534
TX: octeți pachete erori eliminate collsns de transportator
20574398 206727 0 0 0 0
...
Și apoi cu ethtool pot obține detalii suplimentare care arată eroarea CRC (rx_crc_errors: 508
)
ethtool -S enp3s0f0
Statistici NIC:
rx_bytes: 1609111223
rx_error_bytes: 0
tx_bytes: 20588905
tx_error_bytes: 0
rx_ucast_packets: 1245869
rx_mcast_packets: 2554
rx_bcast_packets: 1687
tx_ucast_packets: 202770
tx_mcast_packets: 4038
tx_bcast_packets: 0
tx_mac_errors: 0
tx_carrier_errors: 0
rx_crc_errors: 508
rx_align_errors: 0
tx_single_colisions: 0
tx_multi_colisions: 0
tx_deferred: 0
tx_excess_colisions: 0
tx_late_collisions: 0
tx_total_colisions: 0
rx_fragments: 22
rx_jabbers: 0
rx_undersize_packets: 0
rx_oversize_packets: 0
rx_64_byte_packets: 1823
rx_65_to_127_byte_packets: 9084
rx_128_to_255_byte_packets: 2371
rx_256_to_511_byte_packets: 585
rx_512_to_1023_byte_packets: 80
rx_1024_to_1522_byte_packets: 1236167
rx_1523_to_9022_byte_packets: 0
tx_64_byte_packets: 0
tx_65_to_127_byte_packets: 200168
tx_128_to_255_byte_packets: 5659
tx_256_to_511_byte_packets: 370
tx_512_to_1023_byte_packets: 230
tx_1024_to_1522_byte_packets: 381
tx_1523_to_9022_byte_packets: 0
rx_xon_frames: 0
rx_xoff_frames: 0
tx_xon_frames: 0
tx_xoff_frames: 0
rx_mac_ctrl_frames: 0
rx_filtered_packets: 33361
rx_ftq_discards: 0
rx_discards: 0
rx_fw_discards: 0
Rețineți că erorile pentru toate celelalte interfețe de pe orice alte mașini pe care le-am verificat sunt toate zero.
Sunt nedumerit în acest moment cu privire la ce să verific în continuare. Bănuiesc că problema este legată de routerul edge într-un fel, dar există și alte routere conectate la acest router edge care nu prezintă aceeași problemă. La un moment dat, am folosit trunking VLAN (etichetare 802.1q) de la routerul de margine la comutator, dar am dezactivat acest lucru și, de asemenea, am încercat să ridic MTU cu 4 octeți la 1504, niciunul dintre acestea nu a făcut nicio diferență vizibilă - rx_crc_errors încă se acumulează și performanța este slabă ca mai sus.
Alte idei despre diagnosticarea cauzei acestor erori rx_crc_?