One reason for using DSAI've just found is that in theory the RTL930x supports a CPU disabled mode where you do connect it to an external CPU and the data travels over SGMII like you'd get with a traditional DSA design. It's not a mode I'm planning on supporting anytime soon but it might come up when I get round to submitting some patches.What would I be loosing if I don't use the DSA infrastructure? I got kind ofDSA gives you a wrapper which handles some common stuff, which you
hung up at the point where it really wanted a CPU port and I just couldn't
provide a nice discrete NIC.
will end up implementing if you do a pure switchdev driver. Mostly
translating netdev to port index. The tagging part of DSA does not
apply if you have DMA per user port, so you don't loose anything
there. I guess you cannot cascade multiple switches, so the D in DSA
also does not apply. You do lose out on tcpdump support, since you
don't have a conduit interface which all traffic goes through.
But you should not try to impose DSA if it does not fit. There are
'simple' pure switchdev drivers, you don't need to try to understand
the mellanox code. Look at the microchip drivers for something to
copy.