Opened 4 years ago
Last modified 19 months ago
#758 new улучшение
Ingress limit GE-04, GE-12, PE-04 — at Initial Version
Reported by: | AlexLir | Owned by: | ledol |
---|---|---|---|
Priority: | major | Component: | MC04-DSL-3U и его платы |
Keywords: | Cc: |
Description
Требуется добавить настройку ограничения входной скорости в порт(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 выше 100000 кб/с, то записать 0x0006.
2.4) Записать Bucket Rate Factor: В PIRL регистр(№порта, №регистра=0x2) записать:
Если Limit <= 10000 кб/с, то записать (Limit / 100).
Если Limit выше 100000 кб/с, то записать (Limit / 1000).
2.5) В PIRL регистр(№порта, №регистра=0x3) записать 0x0008.
2.6) В PIRL регистр(№порта, №регистра=0x4) записать 0x0200.
2.7) В PIRL регистр(№порта, №регистра=0x5) записать 0xFFFF.
2.8) В PIRL регистр(№порта, №регистра=0x6) записать 0x00FF.
2.9) Включить порт(№порта).