STP-пакеты отбрасывались (1 пакет каждые 2 секунды), когда к интерфейсу присоединилась несоответствующая многоадресная группа

Я пытаюсь понять странную проблему отбрасывания пакетов при присоединении к определенной группе многоадресной рассылки.

Я думаю, что эта проблема связана с патчем, введенным в ядре версии 2.6.37.

Beginning with kernel 2.6.37, it has been changed the meaning of dropped
packet count. Before, dropped packets was most likely due to an error.
Now, the rx_dropped counter shows statistics for dropped frames because 
of:

Softnet backlog full -- (Measured from /proc/net/softnet_stat)
Bad / Unintended VLAN tags
Unknown / Unregistered protocols
IPv6 frames when the server is not configured for IPv6

If any frames meet those conditions, they are dropped before the 
protocol stack and the rx_dropped counter is incremented.

На чистом SLES11 SP3 мне удалось воспроизвести это, присоединившись к многоадресной группе STP (01:80:c2:00:00:00).

Без каких-либо изменений нет пакетов /proc/net/dev (RX) или netstat -i потому что моя система не присоединилась к многоадресной группе STP (поэтому игнорирует пакеты).

Когда я присоединяюсь к группе многоадресной рассылки STP, я вижу отбрасывание пакетов (1 пакет каждые 2 секунды), которые, как я считаю, отбрасываются из-за исправления, введенного в ядре 2.6.37 (неизвестные / незарегистрированные протоколы), и это нормально.

hostname:~ # ip maddr add 01:80:c2:00:00:00 dev eth1

Насколько я понимаю, когда я встраиваю модуль modprobe llc/stp в ядро, он распознает протокол и поэтому прекращает отбрасывать пакеты (тесты доказывают, что я прав).

Modprobing llc или же stp модуль (зависит от llc) "исправляет" проблему отброшенного пакета.

Теперь вопрос:

У меня есть приложение, которое присоединяется к нескольким группам многоадресной рассылки при запуске. И по какой-то причине одно конкретное соединение вызывает сбрасывание пакета (1 пакет за 2 секунды).

Проблема в том, что это не многоадресный адрес STP 01:80:c2:00:00:00 но совсем другой (01:00:5e:46:ac:04 aka 239.70.172.4). Вставка модуля llc / stp "исправляет" приращение счетчика пропущенных пакетов. Все другие многоадресные группы не вызывают эту проблему, например (01:00:5e:46:ac:02) а также многие другие.

Кадры STP являются единственными, которые появляются на интерфейсе каждые 2 секунды, но их MAC-адрес назначения - 01: 80: c2: 00: 00: 00.

00:21:1b:4f:a3:bf > 01:80:c2:00:00:00, 802.3, length 119: LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP 802.1s, Rapid STP, CIST Flags [Learn, Forward]

Как это возможно? Почему группа многоадресной рассылки 01: 00: 5e: 46: ac: 04 вызывает такое поведение, как если бы оно каким-то образом было связано с группой STP и позволяло кадрам / пакетам проходить дальше через стек?

0 ответов

Другие вопросы по тегам