Инструменты пользователя

Инструменты сайта


doc:mk:1923kx028:help

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:mk:1923kx028:help [2019/11/07 10:26]
vova [Вопросы]
doc:mk:1923kx028:help [2020/05/18 18:53] (текущий)
vasco [VLAN Table]
Строка 102: Строка 102:
  
 На отладочной плате коммутатора 1923КХ028 применяется микросхема PHY от TI DP83867CS, которая подключается отдельным модулем. На модуле установлено по два разъема RJ для подключения Ethernet-кабеля,​ в свою очередь разъемы RJ имеют на борту зеленый и оранжевый светодиоды,​ которые подключены к входам LED_0 и LED_1 микросхемы PHY DP83867CS. Активным уровнем светодиодов является "​1"​. По-умолчанию,​ зеленый светодиод,​ то есть сигнал от вывода LED_0, должен светиться,​ если установлено подключение Link, а желтый при наличии подключения 1000 Мб/с. Однако,​ прошивка микроконтроллера К1986ВЕ92QI,​ входящего в состав отладочной платы коммутатора,​ перенастраивает события,​ по которым загораются светодиоды:​ зеленый загорается при передаче данных,​ а желтый при приёме данных микросхемой коммутатора. ​ На отладочной плате коммутатора 1923КХ028 применяется микросхема PHY от TI DP83867CS, которая подключается отдельным модулем. На модуле установлено по два разъема RJ для подключения Ethernet-кабеля,​ в свою очередь разъемы RJ имеют на борту зеленый и оранжевый светодиоды,​ которые подключены к входам LED_0 и LED_1 микросхемы PHY DP83867CS. Активным уровнем светодиодов является "​1"​. По-умолчанию,​ зеленый светодиод,​ то есть сигнал от вывода LED_0, должен светиться,​ если установлено подключение Link, а желтый при наличии подключения 1000 Мб/с. Однако,​ прошивка микроконтроллера К1986ВЕ92QI,​ входящего в состав отладочной платы коммутатора,​ перенастраивает события,​ по которым загораются светодиоды:​ зеленый загорается при передаче данных,​ а желтый при приёме данных микросхемой коммутатора. ​
 +
 +
 +===== MAC Table =====
 +На картинке показан случай,​ когда два фрейма имеют разные поля МАС и/или VLAN, но при этом функция вычисления HASH выдает одинаковый результат. В результате,​ при приходе нового фрейма с МАСх и VLANx, по вдресу Хэша в таблице маршрутизации МАС лежит не совпадающая с МАСх и VLANx запись. Поэтому аппаратура проверяет валидность флага коллизий и переходит по адресу в поле коллизий. В области коллизий поиск происходит по связному списку,​ пока не будет найдена запись со значениями МАСх и VLANx.
 +  * Если запись найдена,​ то происходит пересылка фрейма в список портов,​ указанных в записи.
 +  * Если запись не найдена,​ то запускается поиск по таблице VLAN
 +
 +Чтобы новая запись появилась в таблицах,​ ее должен туда прописать HOST контроллер (Драйвер РС через PCIe в режиме MODE_0 / Микроконтроллер через Slave-SPI в режиме MODE_2).
 +
 +{{doc:​mk:​1923kx028:​1923kx028_tablemac_forwarding.png}}
 +
 +При инициализации таблицы все поля коллизий равны нулю. Связный список в поле коллизий должен прописать HOST контроллер перед началом работы!
 +
 +Флаги:
 +  * **isActive** - запись активна (1) / свободна (0)
 +  * **isValidCollision** - поле указателя коллизии валидно,​ можно переходить для поиска в область коллизий (1) / значение записи в области коллизии еще не назначено (0).
 +  * **isFresh** - запись устарела,​ была сброшена алгоритмом устаревания (1) / Запись активна,​ приход фрейма от источника ​ с данными МАС и VLAN сбрасывают счетчик старения (0).
 +  * **isStatic** - запись активна всегда,​ на нее не действует счетчик старения (1) / Динамическая запись с устареванием (0).
 +  * **TC** - выбор маппирования для режима MACDA2TC (планирование очередей CoS - Class of Service).
 +  * **ActionFields** - разрешенные действия:​
 +    * 0: act_forward - фрейм пересылать в порты выбранные маской в forwPortMask
 +    * 1: act_flood - //​подавление flood - ? (уточнить)//​
 +    * 2: act_punt - //​принудительная пересылка на хост - ? (уточнить)//​
 +    * 3: act_discard - фрейм не пересылать (запрет пересылки)
 +    * 4: act_override - ?
 +    * 5: act_fwd_mask - ?
 +    * 6: act_cos_discard - ?
 +  * CutThrough -  ?
 +  * ForwPortList - выбор портов маской
 +
 +===== VLAN Table =====
 +Поиск по VLAN таблице происходит аналогично поиску по MAC таблице. По сравнению с МАС таблицей,​ здесь другие поля в разделе Actions и отсутствует поле МАС адреса.
 +
 +{{https://​startmilandr.ru/​lib/​exe/​fetch.php/​doc:​mk:​1923kx028:​1923kx028_tablevlan.png}}
 +
 +Поля:
 +  * Forward list – список портов,​ которые входят в данный VLAN; битовая маска, в которой позиция бита соответствует номеру порта
 +  * Untag list – список портов,​ для которых с тегированных пакетов требуется снять VLAN тег; битовая маска, в которой позиция бита соответствует номеру порта
 +  * UnicastHit – действие,​ которое требуется выполнить с unicast пакетом,​ если адрес назначения найден в таблице MAC
 +  * UnicastMiss - действие,​ которое требуется выполнить с unicast пакетом,​ если адрес назначения не найден в таблице MAC
 +  * MulticastHit – действие,​ которое требуется выполнить с multicast пакетом,​ если адрес назначения найден в таблице MAC
 +  * MulticastMiss – действие,​ которое требуется выполнить с multicast пакетом,​ если адрес назначения не найден в таблице MAC
 +  * Mstp – действие,​ которое требуется выполнить с MSTP пакетом
 +
doc/mk/1923kx028/help.1573108012.txt.gz · Последние изменения: 2019/11/07 10:26 — vova