Hi all,

I have a problem of Ether frame corruption on using mv88e6xxx DSA driver.
Could you please tell me the solving method or patch if it is a known problem?
Attached is workaround patch, and it seems to works fine.

Environment:

kernel: linux-yocto-4.4
Hardware: Marvell 88E6182 L2SW with mv88e6xxx DSA driver

  +---------------------+
  |    L2SW(88E6182)    |
  |     with DSA Driver |
  +-+----------------+--+
    |                | VLAN 100 untagged port
   CPU             external
    |                |
   br.100           HUB -- PC


The Ether frame sending from external port was corrupted by a data of 
VLAN tag and IPv4 header.
There is no problem in case of received from external port.

Analyze corrupted data by capturing external port and debugging by printing:

Original packet:
 | Dst MAC     |Src MAC      | type | IPv4 hdr |
 | 8000273c8b6d|005043000201 | 0800 | 4500006cc7514000.. |

VLAN packet:
 | Dst MAC     |Src MAC      | VLAN     |type | IPv4 hdr           |
 | 8000273c8b6d|005043000201 | 81000064 |0800 | 4500006cc7514000.. |
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                   < from this correct data    >
Corrupted packet:
 | Dst MAC     |Src MAC      | VLAN     |type | IPv4 hdr           |
 | 8000273c0064|08004500006c | c7514000 |0800 | 4500006cc7514000.. |
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           < to this corrupted data   >


Best regards,
Seiichi Ishitsuka

Attachment: 0001-Add-NETIF_F_HW_VLAN_CTAG_TX-to-hw_enc_features.patch
Description: 0001-Add-NETIF_F_HW_VLAN_CTAG_TX-to-hw_enc_features.patch

Reply via email to