After installing Debian on Turris Omnia there are a few more steps needed to make use of the network switch.
The Armada 385 CPU provides three network interfaces. Two are connected to the switch (but only one of them is used to "talk" to the switch), and one is routed directly to the WAN port.
After booting you might have to issue the following commands to make the devices representing the five external ports of the switch appear and functional:
# ip link set eth1 up
# modprobe mv88e6xxx
After that you can use the network devices lan0
to lan4
like normal network
devices. To make them actually behave as you would expect from a network switch
you have to put them into a bridge. The driver then offloads forwarding between
the ports to the switch hardware such that the cpu doesn't need to bother for
each single packet.
To automate setup of the bridged ports I used systemd-networkd
as follows:
# echo mv88e6xxx > /etc/modules-load.d/switch.conf
# printf '[Match]\nPath=platform-f1030000.ethernet\n[Link]\n#MACAddress=...\nName=eth1\n' > /etc/systemd/network/00-platform-f1030000-eth1.link
# printf '[NetDev]\nName=brlan\nKind=bridge\n' > /etc/systemd/network/brlan.netdev
# printf '[Match]\nName=brlan\n\n[Network]\nLinkLocalAddressing=ipv6\n' > /etc/systemd/network/brlan.network
# printf '[Match]\nName=lan[01234]\n\n[Network]\nBridge=brlan\nBindCarrier=eth1\n' > /etc/systemd/network/lanX.network
# printf '[Match]\nName=eth1\n' > /etc/systemd/network/eth1.network
# systemctl enable --now systemd-networkd.service
You also might want to mask NetworkManager and/or ifupdown to not interfere
with the above setup. And obviously you might want to add some more options to
brlan.network
to configure the addresses used there. See
systemd.network(1).