nic_interface

The Network Interface Card (NIC) that connects the CPU to the switch core, presents itself as `eth0` on the realtek SoC's. The link between the NIC and the Switch however, is much simpler then one would expect. It is a fixed link, with a fixed speed, probably a MAC ↔ MAC connection directly within.

The NIC connects to the last port in the switch core, on rtl9300 devices, which (under standard configurations) supports 28 external ports. The switch however has a 29th port, to which the NIC connects to. Remembering 'counting from 0' this is often seen as 'port 28'.

The NIC doesn't know about auto-negotiation, different speeds etc. However the switch port on the switch core does have these configuration options, as that register (mac force) is replicated for each port (might be related to the fact that port 28 can be repurposed as a normal port, when using an external CPU?).

Forcing the link to 10Mbit via the devicetree, still yields ~150Mbyte/s throughput. Using `ethtool` to force the switch port is gets refused.

Looking at the rtl83xx-eth.c driver however, a lot of effort was taken, to control the switch core switch port under the pretense this controls the variables of NIC, which doesn't seem to be the case.

  • nic_interface.txt
  • Last modified: 2023/02/22 10:56
  • by oliver