Hi folks,
I have a MikroTik CRS305-1G-4S+ that’s set up for a few tagged VLANs and a PC with an onboard Marvell FastLinQ Edge 10GbE NIC based on the AQC113C controller. The PC is set up to dual boot Linux and Windows 11. In Linux, I’m using a few of the tagged VLANs (1, 10, and 100); in Windows, I only care about one of them (100).
In Windows, I set the VLAN ID to 100 on the NIC in Device Manager. (Driver version 3.1.3.0.) I can run an iperf3 test sending data TO the server:
iperf-3.1.3-win64> .\iperf3.exe -c 10.10.10.4
Connecting to host 10.10.10.4, port 5201
[ 4] local 10.10.10.9 port 49588 connected to 10.10.10.4 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 870 MBytes 7.29 Gbits/sec
[ 4] 1.00-2.00 sec 842 MBytes 7.06 Gbits/sec
[ 4] 2.00-3.00 sec 838 MBytes 7.03 Gbits/sec
[ 4] 3.00-4.00 sec 841 MBytes 7.05 Gbits/sec
[ 4] 4.00-5.00 sec 846 MBytes 7.09 Gbits/sec
[ 4] 5.00-6.00 sec 847 MBytes 7.11 Gbits/sec
[ 4] 6.00-7.00 sec 841 MBytes 7.05 Gbits/sec
[ 4] 7.00-8.00 sec 847 MBytes 7.11 Gbits/sec
[ 4] 8.00-9.00 sec 840 MBytes 7.05 Gbits/sec
[ 4] 9.00-10.00 sec 837 MBytes 7.02 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 8.25 GBytes 7.09 Gbits/sec sender
[ 4] 0.00-10.00 sec 8.25 GBytes 7.09 Gbits/sec receiver
iperf Done.
But I can’t seem to get data back FROM the server:
iperf-3.1.3-win64> .\iperf3.exe -c 10.10.10.4 --reverse
Connecting to host 10.10.10.4, port 5201
Reverse mode, remote host 10.10.10.4 is sending
[ 4] local 10.10.10.9 port 49344 connected to 10.10.10.4 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.02 sec 0.00 Bytes 0.00 bits/sec
[ 4] 1.02-2.01 sec 0.00 Bytes 0.00 bits/sec
[ 4] 2.01-3.01 sec 0.00 Bytes 0.00 bits/sec
[ 4] 3.01-4.00 sec 0.00 Bytes 0.00 bits/sec
[ 4] 4.00-5.01 sec 0.00 Bytes 0.00 bits/sec
[ 4] 5.01-6.00 sec 0.00 Bytes 0.00 bits/sec
[ 4] 6.00-7.01 sec 0.00 Bytes 0.00 bits/sec
[ 4] 7.01-8.00 sec 0.00 Bytes 0.00 bits/sec
[ 4] 8.00-9.01 sec 0.00 Bytes 0.00 bits/sec
[ 4] 9.01-10.01 sec 0.00 Bytes 0.00 bits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.01 sec 140 KBytes 114 Kbits/sec 5 sender
[ 4] 0.00-10.01 sec 0.00 Bytes 0.00 bits/sec receiver
iperf Done.
I feel reasonably confident that the switch and server are set up correctly because the same test works fine in Linux with the tagged interface:
$ iperf3 -c 10.10.10.4 --reverse
Connecting to host 10.10.10.4, port 5201
Reverse mode, remote host 10.10.10.4 is sending
[ 5] local 10.10.10.9 port 32960 connected to 10.10.10.4 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 626 MBytes 5.25 Gbits/sec
[ 5] 1.00-2.00 sec 616 MBytes 5.17 Gbits/sec
[ 5] 2.00-3.00 sec 1.06 GBytes 9.07 Gbits/sec
[ 5] 3.00-4.00 sec 1.03 GBytes 8.85 Gbits/sec
[ 5] 4.00-5.00 sec 1.02 GBytes 8.77 Gbits/sec
[ 5] 5.00-6.00 sec 1.03 GBytes 8.82 Gbits/sec
[ 5] 6.00-7.00 sec 1.03 GBytes 8.82 Gbits/sec
[ 5] 7.00-8.00 sec 1.03 GBytes 8.86 Gbits/sec
[ 5] 8.00-9.00 sec 1.01 GBytes 8.66 Gbits/sec
[ 5] 9.00-10.00 sec 819 MBytes 6.87 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 9.22 GBytes 7.92 Gbits/sec 9988 sender
[ 5] 0.00-10.00 sec 9.21 GBytes 7.91 Gbits/sec receiver
iperf Done.
So I’m at a bit of a loss here. I can configure the switch to un-tag VLAN 100 on egress for this port but Linux gets a little manic when you try to mix tagged and un-tagged traffic on the same interface and start creating bridges, etc. on top of it. I’m hoping there’s some deep Windows magic that will make this Just WorkTM. Thanks in advance!