T1040 L2 switch frame fragmentation problem

During our tests we found out that the integrated Ethernet switch internal port has problems with handling a specific traffic type. We established that the switch drops frames arriving at chip_port 9 and marks them as fragments (rmon.rx_etherStatsFragments in vtss_port_counters_t struct according to Microsemi API). Interestingly this problem does not occur on other ports (we tested the exact same traffic type between on chip_ports 0 and 1).

It is very easy to recreate this problem (as seen between chip_ports 0 and 8):

# ping6 2001::2 -c1 -s20000

PING 2001::2(2001::2) 20000 data bytes

--- 2001::2 ping statistics ---

1 packets transmitted, 0 received, 100% packet loss, time 0ms

expected behaviour (as seen between chip_ports 0 and 1):

# ping6 2001::2 -c1 -s20000

PING 2001::2(2001::2) 20000 data bytes

20008 bytes from 2001::2: icmp_seq=1 ttl=64 time=0.932 ms

--- 2001::2 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.932/0.932/0.932/0.000 ms

I measured that the maximum data bytes size is 15920 for ping6 and 16272 for ping. Every ping larger than that gets dropped and caused rmon.rx_etherStatsFragments to increment. The intrrface from which the frame originates is configured as 802.1ad:

Please try whether increasing the value VTSS_MAX_FRAME_LENGTH_MAX according to your requirement would be helpful. In the default config, it is defined as "10240" in include/vtss_api/vtss_port_api.h of l2switch source code.