cancel
Showing results for 
Search instead for 
Did you mean: 

STR9 Ethernet DMA with DSA Tagged Traffic

Posted on March 20, 2013 at 20:27

Is there any way to override the Ethernet DMA's ability to chop off a received packet?

I have an STR9 processor connected to a Marvell switch that places DSA tags on all Ethernet traffic destined for the management processor (the STR9).

The STR9 DMA seems to be hard coded to look for the Ethertype field directly after the destination and source MAC addresses.  If this Ethertype field is less than 1500 it treats it as a length and will fail to receive the entire packet if the perceived Ethertype/Length is shorter than the actual packet.  This is pretty much always the case when the packet has been DSA tagged.

Normal Ethernet Packet

                     1 1 1 1

 0 1 2 3 4 5 6 7 8 9 0 1 2 3

+-----------+-----------+---+-----------------------+-------+

| Dest MAC  |  Src MAC  |   | 42-1500 byte payload  |  CRC  |

+-----------+-----------+---+-----------------------+-------+

                          |__ Length (or Type if > 1500)

Distributed Switch Architecture (DSA) Tagged Ethernet Packet

                     1 1 1 1 1 1 1 1

 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7

+-----------+-----------+-------+---+-----------------------+-------+

| Dest MAC  |  Src MAC  |DSA Tag|   | 42-1500 byte payload  |  CRC  |

+-----------+-----------+-------+---+-----------------------+-------+

                                  |__ Length (or Type if > 1500)

#str9-ethernet-dma
0 REPLIES 0