Eu tenho um sistema Linux incorporado com uma única porta Ethernet, mas preciso acessar várias portas. É óbvio que preciso adicionar magnéticos e portas. As partes mais complicadas seguem.
Meu processador possui um MAC integrado e estou usando um PHY de driver único. Preciso apenas de um novo PHY com mais drivers? É possível usar vários PHYs no mesmo MAC? Preciso de um MAC para cada porta?
Respostas:
Se for para um protótipo - considere adicionar um adaptador Ethernet USB.
Se você estiver construindo um produto, eu consideraria um chip de switch Ethernet integrado. Como isso:
http://www.micrel.com/page.do?page=product-info/fastether_sw.jsp
(fonte: micrel.com )
O ADM6996 também pode ser uma opção, se você puder encontrá-lo.
fonte
Se o seu processador tiver apenas um PHY, você não obterá muito mais velocidade incorporando o switch na sua placa. Será muito mais fácil adicionar apenas uma opção:
Como o texto neste exemplo indica, qualquer comutador decente na metade negociará automaticamente o cruzamento de cabo de 10/100/1000 Mbps.
Os switches estão disponíveis em qualquer lugar de 4 a 48 portas, com 5 portas sendo um número comum para switches de desktop simples. Eles podem sentar na sua mesa ou ser montados em rack. Você pode encadeá-los para um número ridículo de portas, se você se sentir tão compelido. Você pode obtê-los por menos de US $ 10 (visite Newegg ) ou até 10.000. Uma coisa importante a considerar é se você deseja um switch gerenciado ou não gerenciado, mas precisaríamos de mais informações para tomar essa decisão, e isso está se transformando rapidamente em uma pergunta para o ServerFault.
Um comutador externo é provavelmente a maneira mais flexível, simples e barata de fazer o que você deseja. Será fisicamente maior do que colocar o conteúdo de um comutador no seu PCB, mas eu não faria isso a menos que fosse absolutamente necessário.
fonte
Se cada porta estiver operando em uma rede completamente separada, você poderá usar um único endereço MAC, mas isso realmente não funcionará se você a tiver na mesma rede.
Eu recomendo ter drivers separados com endereço MAC separado por porta.
Minha resposta está focada em se você estava criando um dispositivo como um firewall embutido no qual estava querendo que o tráfego chegasse em uma porta, filtrasse e depois fosse enviado de volta para uma porta diferente e para uma rede diferente.
fonte
Eu segundo a sugestão de troca.
Se você precisar separar redes diferentes, configure o chip do switch para dividir as portas em VLANs diferentes e faça o tronco de todas as VLANs na porta em que a caixa do Linux estiver.
O Linux poderá acessar todas as VLANs como se o sistema tivesse interfaces de rede individuais para as diferentes redes.
A maioria dos chips de switch, se não todos, pode ser configurada por meio de uma EEPROM serial, portanto, modificar um switch de prateleira para um POC ou um hack único deve ser fácil o suficiente.
fonte