DSA: only one master/CPU port supported?


Running the 21.02 rc3 build on wrt1200ac hardware, I noticed that only one of the switch's CPU port is supported. That is, the DSA ports lan1-lan4 and wan are all backed by the eth0 master port; the other master port on the SoC is not made available as a separate device.

Is there a way to change that, exporting the second master port, maybe with manually assigning which DSA ports should be controlled by it ?

My concerns are two fold:

  • That the single CPU port could limit routing performance to essentially 1Gb/s half duplex, as the traffic in both directions has to traverse the CPU port, instead of 1Gb/s full duplex when separate CPU ports are available for both ends of the routed traffic;
  • That the single CPU port makes it harder to shape traffic on the WAN port without adding overhead to traffic going to the LAN ports (as would be easy if we had separate master ports with independent qdisc configs).
1 Like

Pretty sad that this didn't make it into 21.02 branch.

It's interesting that much of the discussion centered about where/how the defaults should be set. Maybe that question doesn't belong in the kernel - any defaults would be fine, including the current behavior of assigning all DSA ports to the first CPU port, as long as there would be an interface for userspace to override them...

Doesn't mean that this PR/patch cannot be picked for 21.02. Doubt any developer would want the responsibility of lifting it in, unless they have that hardware, though.

Seems like it may be arriving via a different PR.