Opened 4 years ago

Last modified 19 months ago

#758 new улучшение

Ingress limit GE-04, GE-12, PE-04 — at Version 2

Reported by: AlexLir Owned by: ledol
Priority: major Component: MC04-DSL-3U и его платы
Keywords: Cc:

Description (last modified by AlexLir)

Требуется добавить настройку ограничения входной скорости в порт(Port Ingress Rate Limit ).

Пользователь настраивает Limit в пределах от 100 кб/с до 1000000 кб\с

Регистры PIRL доступны через механизм косвенной адрессации:(регистр команд 0x1C09 и регистр данных 0x1C0A.)

Запись регистра PIRL(№порта, №регистра PIRL):

  • в регистр данных по адресу 0x1C0A, записать данные.
  • считать 15-й бит(IRLBusy) регистра 0x1C09, если он равен 0, то продолжать.
  • в регистр команд по адресу 0x1C09, записать: 0xBX0Y, где X - №порта, Y - №регистра PIRL.

Чтение регистра PIRL(№порта, №регистра PIRL):

  • считать 15-й бит(IRLBusy) регистра 0x1C09, если он равен 0, то продолжать.
  • в регистр команд по адресу 0x1C09, записать: 0xCX0Y, где X - №порта, Y - №регистра PIRL.
  • считать данные из регистра 0x1C0A

Алгоритм настройки:

1) Первичная инициализация.

1.1) Cбросить все ресурсы портов: записать в регистр команд по адресу 0x1C09, команду сброса 0x9000.
1.2) Тюнинг регистр: в PIRL регистр(№порта=0xF, №регистра=0x1) записать 0x0004


2) Настройка ограничения скорости порта(№порта), если Limit больше 0.

2.1) Выключить порт(№порта).

2.2) Включить ограничение скорости: В PIRL регистр(№порта, №регистра=0x0) записать 0x8000.

2.3) Записать Bucket Increment: В PIRL регистр(№порта, №регистра=0x1) записать:

Если Limit <= 10000 кб/с, то записать 0x003D.
Если Limit выше 10000 кб/с, то записать 0x0006.

2.4) Записать Bucket Rate Factor: В PIRL регистр(№порта, №регистра=0x2) записать:

Если Limit <= 10000 кб/с, то записать (Limit / 100).
Если Limit выше 10000 кб/с, то записать (Limit / 1000).

2.5) В PIRL регистр(№порта, №регистра=0x3) записать 0x0008.

2.6) В PIRL регистр(№порта, №регистра=0x4) записать 0x0200.

2.7) В PIRL регистр(№порта, №регистра=0x5) записать 0xFFFF.

2.8) В PIRL регистр(№порта, №регистра=0x6) записать 0x00FF.

2.9) Включить порт(№порта).

Change History (2)

comment:1 by AlexLir, 4 years ago

Description: modified (diff)

comment:2 by AlexLir, 4 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.