реклама на сайте
подробности

 
 
> драйвер ethernet switch'a
romez777
сообщение Jun 24 2010, 09:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую,

Итак, исходные данные: SoC bcm5358, внутри CPU и 5-портовый ethernet switch, соедиенный с процессором по внутреннему MII порту; встроенный linux, ядро 2.6.22

В данный момент драйвер свитча от производителя реализован так, что со стороны ОС виден один интерфейс eth0 (как раз тот, через который соединяется с внутренним 5-портовым свитчом), что вполне логично. Драйвер также поддерживает vlan и разделяет порты по группам на основании параметров, передаваемых ему.

К SoC будет подключен внешний 24-портовый чип, задействуя 2 порта внутреннего свитча. Эти два внутренних порта предполагается использовать как WAN и LAN интерфейсы соответственно, внутренний MII так и останется, остальные порты исользованы не будут.

IMHO самый простой вариант это модифицировать драйвер внутреннего свитча так, чтобы каждый порт представлялся как отдельный интерфейс (eth0 для физического порта 0, eth0 для 1 и т.д.), что позволит назначать ip адреса и пр. В последних ядрах есть такая фича как DSA (distributede switch architecture) от Marvell и там как раз каждый порт представлен своей struct net_device и сделан маппинг на физический phy через phy_bus инфраструктуру. Но в моем ядре этого нет.

Собственно - правильный ли это подход и будет ли работать такая конструкция? Может быть есть более простое решение ?

Спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 21:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016