> in previous version I see that transit traffic (ping) goes to cpu, > then from cpu back to destination port. I.e. it works but with cpu > involving. Is this version supposed to work like that?
Yes, it works in the old DSA way such that a software bridge is responsible to forward every packet. Now if the ksz_update_port_member function is called inside the ksz8795_port_stp_state_set function the switch will forward packets itself. Because of that the offload_fwd_mark bit should be set in the socket buffer so that the software bridge does not forward the packet (mostly multicast) again. However, that indication cannot be set in the switch driver but in the tail tag code in tag_ksz.c. Right now there is no easy way for that code to know the bit should be set because the switch is in forwarding mode.