Что является различием между “ошибками”: “отброшенный”: “переполнения”: и “кадр”: поля в ifconfig пакетах RX производятся?

Если каталог расположен на Вашем разделе Windows, это означает, что раздел находится в NTFS. NTFS не поддерживает полномочия и таким образом chown/chmod не будет работать на файлы и каталоги в том разделе. На самом деле я был бы удивлен, сказали ли Вы, что это когда-либо работало прежде.

10
13.02.2015, 03:45
2 ответа

, что информация плохо документирована. Я скажу вам, что я понимаю из моего опыта.

  • Рамка учитывает только смешиваемые кадры, это означает кадры с длиной, не делимой на 8. Из-за этой длины не является действительным кадром, и она просто отбрасывается.

  • Тем временем ошибки считает ошибки CRC, слишком короткие рамки и слишком длинные кадры.

  • Переполняет подсчитывает это время, когда есть переполнение FIFO, вызванное темпом, на котором заполняется буфер, и ядро ​​не сможет его опустошить.

  • Наконец, упал подсчитывает такие вещи, как непреднамеренные теги VLAN или получение фреймов IPv6, когда интерфейс не настроен для IPv6.

16
27.01.2020, 20:00

Я знаю, что это вопрос годичной давности, но он первый в Google, так что, возможно, я смогу добавить к нему 5 копеек.

Во-первых, я не знал об этом правиле mod 8 на поле кадра... Это правило драйвера или ядра?

В том небольшом опыте, который у меня есть, эти цифры довольно общие и больше информации можно получить из ethtool (если драйвер поддерживает его), например: это из команды watch.

Every 1s: ethtool -S eth1 | grep rx_ && echo  && ifconfig eth1                                                   1970-01-01 00:21:07

 rx_octets: 12635134290
 rx_frames: 8488675
 rx_broadcast_frames: 103
 rx_multicast_frames: 0
 rx_pause_frames: 0
 rx_64_byte_frames: 113
 rx_65_127_byte_frames: 47
 rx_128_255_byte_frames: 186340
 rx_256_511_byte_frames: 1
 rx_512_1023_byte_frames: 0
 rx_1024_1518_byte_frames: 8302174
 rx_greater_than_1518_byte_frames: 0
 rx_undersized_frames: 0
 rx_oversize_frames: 0
 rx_jabbers: 0
 rx_frame_check_sequence_errors: 0
 rx_length_field_frame_errors: 0
 rx_symbol_errors: 0
 rx_alignment_errors: 0
 rx_resource_errors: 283
 rx_overruns: 132
 rx_ip_header_checksum_errors: 0
 rx_tcp_checksum_errors: 0
 rx_udp_checksum_errors: 0

eth1      Link encap:Ethernet  HWaddr AA:BB:CC:DD:20:16  
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a8bb:ccff:fedd:2016/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:8488675 errors:415 dropped:4 overruns:132 frame:283
          TX packets:647464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3892403548 (3.6 GiB)  TX bytes:62273943 (59.3 MiB)
          Interrupt:147 Base address:0xc000 

В зависимости от драйвера будут разные поля в ethtool и ifconfig поля также могут указывать на заниженные/завышенные кадры.

Если ваша сетевая карта и драйвер поддерживают это, вы можете (или должны) сделать ex:

ifdown eth1 && modprobe -r macb && modprobe macb && ifup eth1 && ethtool -offload  eth1  rx off  tx off && ethtool -K eth1 gso off && ethtool --show-offload eth1

чтобы получить больше информации (включить отображение информации в ethtool). Я использую драйвер macb... поэтому проверьте ethtool для вашего драйвера.

ethtool -i eth1

Вот что обычно помогает мне понять, что происходит.

Иногда ошибок нет, но пакеты повреждены... тогда это скорее проблема PHYsical или драйвера... а иногда снифферы показывают, что все правильно, но есть проблема после того, как он попадает в драйвер/ядро (это случай, описанный выше).

Некоторые другие данные можно получить из netstat -s, или если вы поместите это в скрипт (для небольших встроенных систем):

awk '(f==0) { i=1; while ( i<=NF) {n[i] = $i; i++ }; f=1; next} (f==1){ i=2; while ( i<=NF){ printf "%s = %d\n", n[i], $i; i++}; f=0}'  /proc/net/netstat

поскольку netstat -s может быть недоступен.

7
27.01.2020, 20:00

Теги

Похожие вопросы