Opened 2 days ago
Last modified 14 hours ago
#734 new задача
Добавить поддержку плат ST-124M, ST-116M, ST-018M
Reported by: | ledol | Owned by: | alx |
---|---|---|---|
Priority: | высокий | Milestone: | 1 очередь |
Component: | sw | Keywords: | |
Cc: |
Description
Прошу провести работу по добавлению плат ST-124M, ST-116M, ST-018M в состав блока MC04-DSL3U.
Attachments (3)
Change History (14)
by , 2 days ago
Attachment: | MiB_ST-124M.txt added |
---|
comment:1 by , 2 days ago
by , 2 days ago
Attachment: | MiB_ST-124M_V2.txt added |
---|
comment:3 by , 2 days ago
комментарий на текст, написанный в приаттаченном файле MiB_ST-124M.txt
В ПЛИС данных плат реализован увеличенный буфер пакетов мониторинга, что позволяет сгруппировать параметры конфигурации в одну переменную и данные статистики\статуса в другую (6 и 7).
Если тебе, по каким-то причинам, такой подход неудобен, будем переменные фрагментировать по функциям. Сообщи свое мнение.
Я думаю, что стоит попробовать реализовать поддержку увеличенных буферов - это не должно быть сильно сложно, и это может позже пригодиться для каких-то других плат. К сожалению, ты не написал (или я не увидел), до какого значения увеличен максимальный размер пакета. Сообщи, пожалуйста.
И еще я думаю, что имеет смысл сделать так, чтобы плата сама сообщала SW-01, какой максимальный размер пакета она поддерживает - на случай если позже захочется/потребуется это значение изменить. Это можно сделать, например, чтением какой-то переменной.
- Конфигурацию платы (переменная 6) сосредоточить в одной вкладке. Пронумеровать блоки и подблоки конфигурации. Группы настроек выделить рамкой.
Там так много всего конфигурируется, я не уверен, что это все поместится на одну вкладку... Можно, конечно, сделать блок с полосой прокрутки, но мне кажется, что прокручивать менее удобно, чем переключать вкладки. Посмотрю по ходу дела, что будет получаться, потом решим окончательно...
Сопроводить значения параметров и статистики данными настроек платы.
? Эту фразу я не понял. Поясни, пожалуйста, что имеется в виду.
1- Общие(Глобальные) параметры платы (визуализировать осн. настройки)
Глобальные настройки платы уже предлагалось отобразить в пункте 1 (на вкладке с настройками). Верно ли я понял, что предлагается отобразить их на вкладке с состоянием и статистикой второй раз?
Верно ли я понял, что на вкладке состояния предлагается повторно визуализировать не все глобальные настройки, а только некоторые из них (основные)? Если да, то какие именно из глодальных настроек являются основными, а какие - второстепенными?
- Новые функции\ расширенные старые функции.
...
Раньше был только APS1(PP).
Не очень понимаю, что значит "старые" и "раньше", ведь в блоке 3U поддержки этих плат еще не было...
В описательной части можно раскрыть абревиатуры (если считаешь нужным):
APS2(SNCP-SNC\I) - решение принимается блоком TU-DXC, перед упаковкой\после распаковки TU-3 структуры.
APS1(PP-SNC\P) - решение принимается блоком MAP, непосредственно инкапсулирующим\декапсулирующим контейнер VC-12.
Не совсем понятно, что подразумевается под "описательной частью". Если Руководство по эксплуатации - то это не ко мне, разработчик РЭ - Vladimir, эту информацию лучше направить ему в проекте mc-04 (компонент "Руководство по эксплуатации").
4-х битовые поля QL (0000-1111) являются общепринятым методом детерминирования качества источника по G.781 (базовый стандарт-описание синхронизации STM), по общению с эксплуатацией эти константы - наиболее понятный вариант описания, предлагаю их использовать.
Здесь тоже не очень понятно - предлагается задавать и отображать значения приоритетов в двоичной форме?
B (102 байта)===_
119-221 -- -- --
Но в указанном диапазоне (119...221) не 102, а 103 байта! Наверное здесь ошибка...
Настройка TU (Tributary Unit 1-63) 63*2 bytes ======================================
222-348
Но в казанном диапазоне (222...348) не 126 (63 * 2), а 127 байт! Наверное здесь тоже ошибка...
18-33 - J2_RX_Exp 15 байт ASCII
Но в указанном диапазоне (18...33) не 15, а 16 байт! Верно ли я понимаю, что в последнем байте должен быть всегда 0? Нет ли здесь ошибки?
1217 - Прием полей J2\... из контейнера*: 0-62 0
- Настройка параметров Eth VCG0-3 :
- 24 байта = 4*6 байт
Настройка режимов и параметров синхронизации ==============================
1241 0 Полоса пропускания PLL 1Hz(узкая)\9Hz(широкая) 0\1 1
24 байта здесь никак не поместятся, так как диапазон 1218...1240 содержит только 23 байта! Очевидно, здесь ошибка...
1255 Bandwith control4 [7..4]-port-7 [3..0]-port6 0-no (1-128k 2-256k 3-512k 4-1M 5-2 6-4M 7-8M)
1255-1258 Port0..3 config
Здесь байт 1255 определено дважды - визимо, здесь ошибка...
-- 1269-1333 байты (64=16*4)
Но в указанном диапазоне не 64, а 65 байт! Нет ли здесь ошибки?
Состояние и статистика оптических портов STM A\B (2*84 bytes)
A
29 0 Вкл.\Выкл. направление A вкл.\выкл. 0\1 0
...
114 N1_Rx - -
B
115-199 Состояние и статистика оптического порта B
Но в диапазоне 29...114 не 84, а 86 байт, а в диапазоне 115...199 не 84 и не 86, а 85 байт! Очевидно, где-то здесь ошибка...
Сост. контейнеров каналов Eth (6*63=378)
0
256 0 Задействован в VCG 1\0 0
262-265 REI_Count - -
======
633-647 Поле J2 выбранного контейнера - -
Но в диапазоне 256...265 не 6, а 10 байт! Очевидно, здесь какая-то ошибка...
И в диапазоне 256...632 не 378 (6*63) и не 630 (10*63), а 377 байт! Кажется здесь тоже ошибка...
Сост. потоков\контейнеров Е1 (28*24 = 672)
651 0 Блокирован\Разблокирован 1\0 0
...
679 7 TU12_AIS 0\1 0
...
1322 Port[7..0]Link 0-no Link 1-Link 0\1 0
Но в диапазоне 651...679 не 28, а 29 байт! По-моему здесь какая-то ошибка...
И в диапазоне 651...1321 не 696 (29*24) и даже не 672 (28*24), а всего 671 байт! Здесь какая-то ошибка...
(REG[15..0] = 1325[7..0]1324[7..0] is valid when detect range is within ±30ppm and 1322[2..1] = 00)
В описании байта 1322 сказано, что 0 означает нет линка, а 1 - есть линк. Верно ли здесь написано, что измеритель T0 валиден, если в портах ethernet 1 и 2 нет линка? Нет ли здесь ошибки? Может быть должно быть наоборот - валиден если 1322[2..1] не равны 00?
И еще непонятно, что подразумевается под "1325[7..0]1324[7..0]". Согласон описанию, байты 1324 и 1325 - это битовые поля, вряд ли интерпретация этих байтов как числа имеет смысл...
Вероятно, позже будут еще вопросы, это пока то, что заметил при первом чтении...
И еще у меня просьба - если можно, пиши, пожалуйста, непосредственно в комментариях, а не в приложенных файлах. Очень неудобно и долго отвечать на что-то, что я могу видеть только в другом окне, а каждую цитату оформлять вручную (и еще номер из каждой строки удалять)... И, скорее всего, поиск в прикрепленных файлах ничего находить не будет...
comment:4 by , 2 days ago
О, еще забыл один момент.
0 COMMAND = 0 - нет активных команд 0 = 1 - старт реконфигурации платы = 2 - опрос модулей SFP ... В этих платах реализован механизм "мягкого" перезапуска, в переменной 6 предусмотрены настройки признаков обновления переменной и полного рестарта конфигурации, поэтому предлагаю "1 - старт реконфигурации платы" сделать режимом полного аппаратного перезапуска платы и визуализировать в виде отдельной кнопки.
Не возражаю. Чем меньше дейcтвий требуется для конфигурирования платы - тем лучше.
В этой связи я хотел бы спросить про команду 2 - зачем она нужна? В смысле, для чего надо перед каждым чтением модулей SFP непременно записывать команду 2 (это я по аналогии с платой GE-12 например)? Если я правильно понимаю, что это работает примерно как команда "опрос" в SM-01 (то есть без команды данные, читаемые из переменной .8.0, не будут обновляться), то это создает большие неудобства при мониторинге - кроме собственно мониторинга придется еще делать периодическую запись команды 2, то есть нужны дополнительные "костыли" в системе мониторинга (или рядом с ней)... Нельзя ли убрать и команду 2 и читать модули при каждом запросе?
comment:5 by , 37 hours ago
комментарий на текст, написанный в приаттаченном файле MiB_ST-124M.txt
В ПЛИС данных плат реализован увеличенный буфер пакетов мониторинга, что позволяет сгруппировать параметры конфигурации в одну переменную и данные статистики\статуса в другую (6 и 7).
Если тебе, по каким-то причинам, такой подход неудобен, будем переменные фрагментировать по функциям. Сообщи свое мнение.
Я думаю, что стоит попробовать реализовать поддержку увеличенных буферов - это не должно быть сильно сложно, и это может позже пригодиться для каких-то других плат. К сожалению, ты не написал (или я не увидел), до какого значения увеличен максимальный размер пакета. Сообщи, пожалуйста.
Ответ:
В данный момент Толя задал объем буфера приема и передачи 2048 байт. С учетом ESQ-кодировки можно принимать\передавать пакеты размером до 1900. Больше ничего сказать не могу, ПЛИС пока тестировал
только в рамках предыдущих плат (ST-124).
Сопроводить значения параметров и статистики данными настроек платы.
? Эту фразу я не понял. Поясни, пожалуйста, что имеется в виду.
Ответ:
Имеется в виду следующее. Есть вкладка "статистика", на ней отображаются параметры,
структурно-связанные с конфигурационными данными, заданными во вкладке "конфигурация".
Разумно совместить отображение в одну область.
Пример: поля J2_Tx, J2_Exp, J2_Rx используются для идентификации потока\контейнера.
При этом J2_Tx и J2_Exp(Ожидаемое) задаются в "конфигурации", а J2_Rx отображается в
"статистике". Разумно совместить поля во вкладке "статистика" для понимания что ты задал,
чего ты ожидаешь, что ты получил...
_
Раньше был только APS1(PP).
Не очень понимаю, что значит "старые" и "раньше", ведь в блоке 3U поддержки этих плат еще не было...
Ответ:
Имеются ввиду переменные и функционал плат ST-124, ST-116, St-018.
/ В описательной части можно раскрыть абревиатуры (если считаешь нужным):
APS2(SNCP-SNC\I) - решение принимается блоком TU-DXC, перед упаковкой\после распаковки TU-3 структуры.
APS1(PP-SNC\P) - решение принимается блоком MAP, непосредственно инкапсулирующим\декапсулирующим контейнер VC-12.
Не совсем понятно, что подразумевается под "описательной частью". Если Руководство по эксплуатации - то это не ко мне, разработчик РЭ - Vladimir, эту информацию лучше направить ему в проекте mc-04 (компонент "Руководство по эксплуатации").
Ответ: Всплывающие подсказки, сноски. Если у нас будет вкладка с прокруткой, почему не добавить в конец небольшой глоссарий?
follow-up: 9 comment:6 by , 37 hours ago
_=== B (102 байта)===_
119-221 -- -- --
Но в указанном диапазоне (119...221) не 102, а 103 байта! Наверное здесь ошибка...
_=== Настройка TU (Tributary Unit 1-63) 63*2 bytes =========================================
222-348
Но в казанном диапазоне (222...348) не 126 (63 * 2), а 127 байт! Наверное здесь тоже ошибка...
18-33 - J2_RX_Exp 15 байт ASCII
Но в указанном диапазоне (18...33) не 15, а 16 байт! Верно ли я понимаю, что в последнем байте должен быть всегда 0? Нет ли здесь ошибки?
1217 - Прием полей J2\... из контейнера*: 0-62 0
Настройка параметров Eth VCG0-3 :
24 байта = 4*6 байт
_=== Настройка режимов и параметров синхронизации =================================
1241 0 Полоса пропускания PLL 1Hz(узкая)\9Hz(широкая) 0\1 1
24 байта здесь никак не поместятся, так как диапазон 1218...1240 содержит только 23 байта! Очевидно, здесь ошибка...
1255 Bandwith control4 [7..4]-port-7 [3..0]-port6 0-no (1-128k 2-256k 3-512k 4-1M 5-2 6-4M 7-8M)
1255-1258 Port0..3 config
Здесь байт 1255 определено дважды - визимо, здесь ошибка...
-- 1269-1333 байты (64=16*4)
Но в указанном диапазоне не 64, а 65 байт! Нет ли здесь ошибки?
_=== Состояние и статистика оптических портов STM A\B (2*84 bytes)===
_=== A ===
29 0 Вкл.\Выкл. направление A вкл.\выкл. 0\1 0
...
114 N1_Rx - -
_=== B ===
115-199 Состояние и статистика оптического порта B
Но в диапазоне 29...114 не 84, а 86 байт, а в диапазоне 115...199 не 84 и не 86, а 85 байт! Очевидно, где-то здесь ошибка...
_=== Сост. контейнеров каналов Eth (6*63=378) ===
_== 0 ==
256 0 Задействован в VCG 1\0 0
262-265 REI_Count - -
======
633-647 Поле J2 выбранного контейнера - -
Но в диапазоне 256...265 не 6, а 10 байт! Очевидно, здесь какая-то ошибка...
И в диапазоне 256...632 не 378 (6*63) и не 630 (10*63), а 377 байт! Кажется здесь тоже ошибка...
_=== Сост. потоков\контейнеров Е1 (28*24 = 672) ===
651 0 Блокирован\Разблокирован 1\0 0
/
...
679 7 TU12_AIS 0\1 0
...
1322 Port[7..0]Link 0-no Link 1-Link 0\1 0
Но в диапазоне 651...679 не 28, а 29 байт! По-моему здесь какая-то ошибка...
И в диапазоне 651...1321 не 696 (29*24) и даже не 672 (28*24), а всего 671 байт! Здесь какая-то ошибка...
Ответ:
Большое спасибо!
Извини за невнимательность.
Добавлен файл V2.
По возможности проверь его, пожалуйста.
comment:7 by , 37 hours ago
(REG[15..0] = 1325[7..0]1324[7..0] is valid when detect range is within ±30ppm and 1322[2..1] = 00)
В описании байта 1322 сказано, что 0 означает нет линка, а 1 - есть линк. Верно ли здесь написано, что измеритель T0 валиден, если в портах ethernet 1 и 2 нет линка? Нет ли здесь ошибки? Может быть должно быть наоборот - валиден если 1322[2..1] не равны 00?
И еще непонятно, что подразумевается под "1325[7..0]1324[7..0]". Согласон описанию, байты 1324 и 1325 - это битовые поля, вряд ли интерпретация этих байтов как числа имеет смысл...
Ответ:
1/
Номер байта скорректирован в приложении ...V2.txt.
Имеется ввиду состояние байта 1347.
1347.1..2 Состояние SEC: locked\tracing\hold\free-run 00\01\10\11
2/ И еще непонятно .....
Добавлена новая версия описания.
by , 37 hours ago
Attachment: | MiB_ST-124M_V3.txt added |
---|
follow-up: 10 comment:8 by , 36 hours ago
В этой связи я хотел бы спросить про команду 2 - зачем она нужна? В смысле, для чего надо перед каждым чтением модулей SFP непременно записывать команду 2 (это я по аналогии с платой GE-12 например)? Если я правильно понимаю, что это работает примерно как команда "опрос" в SM-01 (то есть без команды данные, читаемые из переменной .8.0, не будут обновляться), то это создает большие неудобства при мониторинге - кроме собственно мониторинга придется еще делать периодическую запись команды 2, то есть нужны дополнительные "костыли" в системе мониторинга (или рядом с ней)... Нельзя ли убрать и команду 2 и читать модули при каждом запросе?
Ответ:
Структурно, опрос модулей SFP, выполняется контроллером через "ногодрыжество", обычными I/O пинами.
Временные накладные расходы опроса килобайтного объема черезвычайно высоки.
При этом, информация от этих модулей актуальна только в момент, когда пользователь нажимает в
WEB-интерфейсе кнопочку i, и видит актуальные данные SFP page1 + page2.
В общем есть 2 режима: 1/ Данные переменной MIB не используются; 2/ Данные обновляются и считываются с определенным периодом. В режиме 2 все остальные данные переменных платы не используются. И при этом в режиме 2 желательно выдержать визуальный период реакции на действие (0-3 сек.).
В общем, резюмируя, не знаю я как это включить в "рабочий цикл" опроса.
Вся эта "глобализация" переменных и направлена на оптимизацию временных затрат, с возможностью в будущем реализовать в платах каналы независимого от общего трафика мониторинга, а опрос SFP тут в периодике вообще не смотрится. Жду предложений.
comment:9 by , 33 hours ago
Replying to ledol:
Извини за невнимательность.
Добавлен файл V2.
По возможности проверь его, пожалуйста.
Ага, я его увидел, когда уже отправил комментарий. Но читать вчера уже было лень. :)
Сейас вижу, уже v3 приложено...
Спасибо за ответы, я думаю, информации для начала работы мне вполне достаточно. Дальше буду задавать вопросы по ходу дела.
comment:10 by , 31 hours ago
Replying to ledol:
Структурно, опрос модулей SFP, выполняется контроллером через "ногодрыжество", обычными I/O пинами.
Временные накладные расходы опроса килобайтного объема черезвычайно высоки.
При этом, информация от этих модулей актуальна только в момент, когда пользователь нажимает в
WEB-интерфейсе кнопочку i, и видит актуальные данные SFP page1 + page2.
Что-то я не понимаю...
Во-первых, что ты имеешь в виду, говоря "чрезвычайно высоки"? В плате SW-01 доступ к SFP тоже сделан "ногодрыгом". Чтение одного блока (256 байт) там занимает ~25 мс (обоих блоков - ~50 мс). А у тебя сколько получается? Задержку 50 мс никакой пользователь просто не заметит. Два SFP сидят на разных интерфейсах, поэтому читаются параллельно - то есть от того, что их два, время не увеличивается...
Во-вторых, когда пользователь в диалоге платы GE-12 нажимает кнопку "i", плата же все равно читает SFP, так как ей идет команда! То есть время все равно тратится, и даже больше!
Сравни два сценария. Вот как происходит опрос SFP в плате GE-12 (по моей памяти):
Как видишь из браузера последовательно уходит три разных запроса, прежде чем пользователь получит результат. А вот как это происходит в плате SW-01:
Во втором случае браузер делает только один запрос, и соответственно, пользователь получает результат быстрее (особенно если запрашиваемый блок далеко и задержка сети составляет заметное время)...
В общем, резюмируя, не знаю я как это включить в "рабочий цикл" опроса.
Вся эта "глобализация" переменных и направлена на оптимизацию временных затрат, с возможностью в будущем реализовать в платах каналы независимого от общего трафика мониторинга, а опрос SFP тут в периодике вообще не смотрится. Жду предложений.
Я, собственно, уже предложил - выполнять чтение данных из SFP по факту запроса переменной .8.0 (как на втором рисунке выше), а не по факту записи команды 2 в переменную .5.0. Такой вариант мне кажется лучшим из возможных.
Почему вариант с командой для пользователей плохо? Представь, что кто-то купил плату, посмотрел MIB, обнаружил там переменную, которая отдает данные SFP и думает: "О, классно, я могу завести в мою систему мониторинга уровень входного сигнала и температуру, и она будет меня предупреждать если уровень сигнала опустится ниже -25 или если температура поднимется выше +55!". Заводит все в систему мониторинга, целый год смотрит на графики и радуется что там ровная линия - уровень сигнала не падает, температура не растет. А про команду 2 он не знает, и система мониторинга просто получает данные, прочитанные год назад. А на самом деле уже и входной сигнал ниже -35, и температура выше +60... :)
comment:11 by , 14 hours ago
/Я, собственно, уже предложил - выполнять чтение данных из SFP по факту запроса переменной .8.0 (как на втором рисунке выше), а не по факту записи команды 2 в переменную .5.0. Такой вариант мне кажется лучшим из возможных.
Хорошо, давай сделаю опрос SFP данных по факту считывания переменной 8, скажем раз в секунду.
Replying to ledol:
Просьба не совсем понятна... Что именно подразумевается под "включением в состав"?