linux/net/dsa
Alexander Duyck 5075314e4e dsa: Split ops up, and avoid assigning tag_protocol and receive separately
This change addresses several issues.

First, it was possible to set tag_protocol without setting the ops pointer.
To correct that I have reordered things so that rcv is now populated before
we set tag_protocol.

Second, it didn't make much sense to keep setting the device ops each time a
new slave was registered.  So by moving the receive portion out into root
switch initialization that issue should be addressed.

Third, I wanted to avoid sending tags if the rcv pointer was not registered
so I changed the tag check to verify if the rcv function pointer is set on
the root tree.  If it is then we start sending DSA tagged frames.

Finally I split the device ops pointer in the structures into two spots.  I
placed the rcv function pointer in the root switch since this makes it
easiest to access from there, and I placed the xmit function pointer in the
slave for the same reason.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-15 17:24:20 -04:00
..
dsa.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
dsa_priv.h dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
Kconfig net: dsa: add Broadcom tag RX/TX handler 2014-08-27 22:59:40 -07:00
Makefile net: dsa: add Broadcom tag RX/TX handler 2014-08-27 22:59:40 -07:00
slave.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
tag_brcm.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
tag_dsa.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
tag_edsa.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
tag_trailer.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00