In net/dsa/user.c in the function dsa_user_setup_tc() when TC_SETUP_FT command arrives, dsa_user_setup_ft_block() will be called which calls ndo_setup_tc() for the conduit device. What is the rationale behind this design? Why isn't the corresponding dsa_switch_ops::port_setup_tc() called? More specifically, what is the conduit driver expected to do when it receives the TC_SETUP_FT from the DSA subsystem? It seems to me that the conduit's driver can't do much as it doesn't even know for which switch port this ndo_setup_tc() was called.