[i] Особенности работы Linux драйвера для К1923КХ02GI

ID статьи: 54145
Дата последнего изменения: 13.03.2024 09:25:27

Обновление таблицы MAC-адресов

Linux драйвер для К1923КХ02GI реализует "обучение" коммутатора для пересылки поступающих пакетов, а именно, драйвер анализирует пакеты с неизвестным MAC-адресом, принятые по PCI-E от К1923КХ02GI, и создаёт запись в таблице MAC-адресов коммутатора (К1923КХ02GI). Сама микросхема отправляет хосту (ПК) лишь те пакеты, MAC-адрес источника которых не указан в её таблице MAC-адресов (обработка по медленному маршруту). Если принимаемые пакеты содержат уже известные MAC-адреса, то пересылка пакетов осуществляется без участия хоста, и такие пакеты НЕ передаются по PCI-E (обработка по быстрому маршруту). Постоянному захвату (пересылки пакета на хост) подвержены специальные пакеты, к которым относятся, например, BPDU (Bridge Protocol Data Unit) пакеты (они необходимы для построения дерева сети в STP протоколе). В таких пакетах MAC-адрес назначения обычно имеет значение 01: 80: C2: 00: 00: 00 или 01: 00: 0C: CC: CC: CD, и они всегда отправляются на анализ хосту.

Коммутация пакетов через PCI-e

Для подключения хоста к микросхеме К1923КХ02GI используется интерфейс PCI-e, который может использоваться и для управления микросхемой, и для коммутации пакетов. Для микросхемы К1923КХ02GI интерфейс PCI-e также представляет собой ещё один порт (№17), который может полноценно использоваться при ретрансляции пакетов. Для хоста микросхема К1923КХ02GI представляет собой несколько сетевых логический устройств: fp0 и fp_phy0-fp_phy15, при этом устройство fp0 может использоваться как обычная сетевая карта. Чтобы задать хосту IP-адрес 192.168.1.100 с маской подсети 255.255.255.0, в терминале необходимо выполнить следующую команду:

$sudo ifconfig fp0 192.168.1.100/24

Логические устройства fp_phy0 - fp_phy15

С помощью логических устройств fp_phy0 - fp_phy15 можно просматривать текущую настройку порта (линк, скорость, дуплекс), например: 

$ethtool fp_phyX

Х - номер порта минус 1 (порт 1 - fp_phy0). Eсли к порту не подключено внешнее устройство (ПК), то информация о скорости/дуплексе не отображается.

Возможно также самостоятельно установить режим работы порта, например:

$ethtool -s fp_phyX speed 100 duplex half autoneg on 

Данная команда устанавливает режим работы порта 100 Мбит/с, полудуплекс, автосогласование включено.

Чтобы проверить корректность применённых настроек, необходимо открыть журнал ядра:

$dmesg -w

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

Данные логические устройства также собирают информацию об ошибках и статистику принятых/переданных пакетов с конкретного порта, например:

$ethtool -S fp_phyX

Х - номер порта минус 1 (порт 1 - fp_phy0).

Контактная информация

Сайт:https://support.milandr.ru
E-mail:support@milandr.ru
Телефон: +7 495 221-13-55