TCP retransmissions with vlans configured on switch
by Yoshi_Vermeire from LinuxQuestions.org on (#6CPZG)
Hi all,
We have a custom embedded board with an Intel Atom SOC. The board is connected to a marvell ethernet switch (88e6071). We use 5.15.x as the kernel version with a small vendor specific patch. The switch has a number of vlans configured.
In our test setup, both our embedded controller and a ubuntu based host pc are part of the correct vlan network (The vlan interfaces are created with ip link add link...). We are able to reach our board over the vlan network (ssh, ping etc.).
However, when we try to evaluate the performance of the network interface, we see some problems. We use iperf3 with the option "--bidir" to evaluate the interface. The tests show that some packets have to be retransmitted. Using wireshark and an ethernet sniffer between our board and the switch confirms that a number of segments are lost. The lost packets should always have been sent from the embedded controller to the host pc. The packets in the other direction are never lost. The sniffer is positioned between the controller and the switch.
If we do not configure any vlans, we do not observe any issues.
If we configure the vlans on the board and the host pc, we do not see any issues. If we force the set the bandwidth to 10mbits/sec instead of 100 mbits/sec, the issues remain.
Finally, we have a similar board with an i.MX8MP soc. For this board, we have working kernels based on vendor specific kernel sources that are derived from the i.MX kernel trees. Using version 5.4.x, we do not observer the same issues, while using kernel version 5.15.x has the same problems.
I did not have the time yet to port the vendor patches to 5.4.x, so I cannot verify whether 5.4 works on the Intel variant.
Does someone have an idea which component might cause such issues? The vlan kernel module seems a prime candidate, but we have not (yet?) been able to find any issues with the driver.
Kind regards,
Yoshi
We have a custom embedded board with an Intel Atom SOC. The board is connected to a marvell ethernet switch (88e6071). We use 5.15.x as the kernel version with a small vendor specific patch. The switch has a number of vlans configured.
In our test setup, both our embedded controller and a ubuntu based host pc are part of the correct vlan network (The vlan interfaces are created with ip link add link...). We are able to reach our board over the vlan network (ssh, ping etc.).
However, when we try to evaluate the performance of the network interface, we see some problems. We use iperf3 with the option "--bidir" to evaluate the interface. The tests show that some packets have to be retransmitted. Using wireshark and an ethernet sniffer between our board and the switch confirms that a number of segments are lost. The lost packets should always have been sent from the embedded controller to the host pc. The packets in the other direction are never lost. The sniffer is positioned between the controller and the switch.
If we do not configure any vlans, we do not observe any issues.
If we configure the vlans on the board and the host pc, we do not see any issues. If we force the set the bandwidth to 10mbits/sec instead of 100 mbits/sec, the issues remain.
Finally, we have a similar board with an i.MX8MP soc. For this board, we have working kernels based on vendor specific kernel sources that are derived from the i.MX kernel trees. Using version 5.4.x, we do not observer the same issues, while using kernel version 5.15.x has the same problems.
I did not have the time yet to port the vendor patches to 5.4.x, so I cannot verify whether 5.4 works on the Intel variant.
Does someone have an idea which component might cause such issues? The vlan kernel module seems a prime candidate, but we have not (yet?) been able to find any issues with the driver.
Kind regards,
Yoshi