Opened 4 years ago

Last modified 4 years ago

#461 closed баг

Странное поведение Ingress limit при скорости порта 1000 Мбит/с — at Version 6

Reported by: san Owned by: alx
Priority: высокий Milestone: 1 очередь
Component: sw Keywords:
Cc:

Description (last modified by san)

Установка значения ограничения Ingress limit rate менее 50 Мбит/с при скорости порта 1000 Мбит/с приводит к нарушению связности.

  1. подключил к Ethernet порту 8 платы Sw-01 компьютер (скорость порта 1000 Мбит/с)
  2. Запустил пинг(64 байта раз в секунду) на этот компьютер с другого компьютера, находящегося со стороны другого порта платы SW-01
  3. В настройках порта 8 платы SW-01 я установил чекбокс Ingress rate limit->Limit known unicast.
  4. При установке значения Limit: более примерно 50 000 kbit/s пинг проходит. При установке значение меньше (например 30 000 kbit/s) - пинг не проходит.

p.s. установил высокий приоритет тикета, т.к. "на носу" отгрузка схемы где используется эта настройка.

Change History (6)

comment:1 by san, 4 years ago

Description: modified (diff)

comment:2 by alx, 4 years ago

Вот здесь написано, как сделать хороший баг-рипорт. Если кратко, хороший баг-рипорт состоит из трех основных компонентов: что делали, что ожидали получить в результате и что получили вместо ожидаемого. В данном тикете, к сожалению, описано только что делали и что получили в результате. Судя по тому, что тип тикета установлен в значение "баг", я догадываюсь, что получен не тот результат, который ожидался, однако какой именно результат ожидался, не написано. В результате я пока не могу понять, в чем же по твоему мнению состоит баг. Уточни, пожалуйста.

comment:3 by san, 4 years ago

Ожидалось, что настройка Ingress rate limit устанавливает ограничение ширины полосы входящего в порт трафика и что установка значения ограничения в 30 Мбит/с не должна привести к нарушению связности между компьютерами.

comment:4 by alx, 4 years ago

Resolution: invalid
Status: newclosed

Спасибо за уточнения.

За включение Ingress rate limit порта 8 для known unicast отвечает бит 4 регистра 0x02008000 коммутатора. Я провел проверку: после установки указанного чекбокса из регистра читается 0x10 (бит 4 установлен), после снятия - 0x00 (бит 4 сброшен).

Величина ограничения ingress rate порта 8 устанавливается битами 5...20 регистра 0x02008010 коммутатора. Единица измерения лимита - 51.2 кбит/с.

После задания значения 50000 кбит/с из регистра читается значение 0x00007a20. Биты 5...20 содержат значение 0x3d1 или 977, что дает значение ограничения (977 * 51.2) = 50022.4 кбит/с.

После задания значения 30000 кбит/с из регистра читается значение 0x00004940. Биты 5...20 содержат значение 0x24a или 586, что дает значение ограничения (586 * 51.2) = 30003.2 кбит/с.

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

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

Ошибок в описанном поведении не вижу, вынужден закрыть тикет.

comment:5 by san, 4 years ago

Подтверждаю. Воспроизвести описанное не удалось, видимо в эксперименте была ошибка.

comment:6 by san, 4 years ago

Description: modified (diff)
Resolution: invalid
Status: closedreopened
Summary: Странное поведение при использовании Ingress limitСтранное поведение Ingress limit при скорости порта 1000 Мбит/с

Повторил эксперимент в месте проявления бага. Баг проявился.
Заметил, что обязательное условие проявления бага - скорость порта 1000 Мбит/с.

  1. Подключил два компьютера к портам платы SW-01 (один из них к порту 8, скорость порта 1000 Мбит/с)
  2. Запустил пинг между компьютерами - наблюдаю обмен данными (трафик между портами порядка 10-20 кбит/с)
  3. Установил все чекбоксы в настройке Ingress limit, задал rate=800 кбит/с.
  4. Через несколько секунд после применения настройки связность между компьютерами потерялась (пинг перестал проходить) - так быть не должно.
  5. Установил скорость порта компьютера подключенного к порту 8 в 100 Мбит/с., связность между компьютерами появилась.
Note: See TracTickets for help on using tickets.