I updated to Fedora 39 and I also updated Virtualbox to version 7.0.97 r158251 along with its guest addition for the host and extensions.
I repeated the tests with iperf on XP and I've got very similar results:
TCP Unlimited:
C:\Documents and Settings\l\Desktop\FranceBB\Programmes Installation\utility\ipe
rf-3.1.3-win32>iperf3 -c 10.75.144.142
Connecting to host 10.75.144.142, port 5201
[ 4] local 10.75.144.233 port 8232 connected to 10.75.144.142 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 16.2 MBytes 136 Mbits/sec
[ 4] 1.00-2.00 sec 16.6 MBytes 139 Mbits/sec
[ 4] 2.00-3.00 sec 16.7 MBytes 140 Mbits/sec
[ 4] 3.00-4.00 sec 15.8 MBytes 133 Mbits/sec
[ 4] 4.00-5.00 sec 16.2 MBytes 136 Mbits/sec
[ 4] 5.00-6.01 sec 15.4 MBytes 129 Mbits/sec
[ 4] 6.01-7.01 sec 15.9 MBytes 134 Mbits/sec
[ 4] 7.01-8.01 sec 16.6 MBytes 139 Mbits/sec
[ 4] 8.01-9.00 sec 16.9 MBytes 142 Mbits/sec
[ 4] 9.00-10.01 sec 19.1 MBytes 160 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.01 sec 166 MBytes 139 Mbits/sec sender
[ 4] 0.00-10.01 sec 166 MBytes 139 Mbits/sec receiver
iperf Done.
C:\Documents and Settings\l\Desktop\FranceBB\Programmes Installation\utility\ipe
rf-3.1.3-win32>pause
Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
-
- Volunteer
- Posts: 5678
- Joined: 14. Feb 2019, 03:06
- Primary OS: Mac OS X other
- VBox Version: PUEL
- Guest OSses: Linux, Windows 10, ...
- Location: Germany
Re: Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
FWIW, in viewtopic.php?p=535091#p535091 I suggested an investigation strategy that is IMHO more sophisticated than what you did so far. In consequence, there's nothing to evaluate for me so far.
Please don't get me wrong: I don't say that you should go the route I suggested, only that I cannot help without getting more detailed input.
Please don't get me wrong: I don't say that you should go the route I suggested, only that I cannot help without getting more detailed input.
-
- Posts: 117
- Joined: 20. May 2017, 05:07
- Primary OS: Fedora other
- VBox Version: OSE Fedora
- Guest OSses: Windows XP x86
- Contact:
Re: Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
I've been a bit under the weather lately, but I finally had some time to look at this, properly.
All tests have been conducted on both VMs on enp3s0f1 (bridged mode), the ethernet port running on the virtual Intel PRO 1000MT Desktop on both Windows XP and Windows 8.1.
Both VM have been provisioned with 4c/4th and 12GB of RAM (out of 64GB from the host).
Here are the following IPs used for the test.
Server: 10.25.124.98
XP: 10.25.124.213
8.1: 10.25.124.186
All tests have been conducted on both VMs on enp3s0f1 (bridged mode), the ethernet port running on the virtual Intel PRO 1000MT Desktop on both Windows XP and Windows 8.1.
Both VM have been provisioned with 4c/4th and 12GB of RAM (out of 64GB from the host).
Here are the following IPs used for the test.
Server: 10.25.124.98
XP: 10.25.124.213
8.1: 10.25.124.186
Done.Start the Windows XP VM, open a Windows command prompt, let iPerf3 perform a standard UDP measurement with the default 1 Mbit/s for the default 10 seconds with "iperf3 -c <host IP> -u", shut down the VM from within Windows XP and save the VBox.log file.
Code: Select all
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\FranceBB>cd "C:\Documents and Settings\l\Desktop\F
ranceBB\Programmes Installation\utility\iperf-3.1.3-win32"
C:\Documents and Settings\l\Desktop\FranceBB\Programmes Installation\utility\ipe
rf-3.1.3-win32>iperf3 -c 10.25.124.98 -u
Connecting to host 10.25.124.98, port 5201
[ 4] local 10.25.124.213 port 1236 connected to 10.25.124.98 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 328 KBytes 2.69 Mbits/sec 41
[ 4] 1.00-2.00 sec 136 KBytes 1.11 Mbits/sec 17
[ 4] 2.00-3.00 sec 136 KBytes 1.11 Mbits/sec 17
[ 4] 3.00-4.00 sec 120 KBytes 983 Kbits/sec 15
[ 4] 4.00-5.00 sec 136 KBytes 1.11 Mbits/sec 17
[ 4] 5.00-6.00 sec 144 KBytes 1.18 Mbits/sec 18
[ 4] 6.00-7.00 sec 144 KBytes 1.18 Mbits/sec 18
[ 4] 7.00-8.00 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 8.00-9.00 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 9.00-10.00 sec 120 KBytes 983 Kbits/sec 15
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datag
rams
[ 4] 0.00-10.00 sec 1.48 MBytes 1.25 Mbits/sec 6.737 ms 0/189 (0%)
[ 4] Sent 189 datagrams
iperf Done.
C:\Documents and Settings\l\Desktop\FranceBB\Programmes Installation\utility\ipe
rf-3.1.3-win32>
Done.Do the same with your Windows 8.1 VM
Code: Select all
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\IEUser>cd "C:\Users\IEUser\Desktop\Utility\iperf-3.1.3-win64"
C:\Users\IEUser\Desktop\Utility\iperf-3.1.3-win64>iperf3 -c 10.25.124.98 -u
Connecting to host 10.25.124.98, port 5201
[ 4] local 10.25.124.186 port 60141 connected to 10.25.124.98 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.02 sec 128 KBytes 1.03 Mbits/sec 16
[ 4] 1.02-2.02 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 2.02-3.02 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 3.02-4.02 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 4.02-5.01 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 5.01-6.01 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 6.01-7.01 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 7.01-8.01 sec 128 KBytes 1.05 Mbits/sec 16
[ 4] 8.01-9.02 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 9.02-10.03 sec 128 KBytes 1.04 Mbits/sec 16
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datag
rams
[ 4] 0.00-10.03 sec 1.25 MBytes 1.05 Mbits/sec 9.287 ms 0/159 (0%)
[ 4] Sent 159 datagrams
iperf Done.
C:\Users\IEUser\Desktop\Utility\iperf-3.1.3-win64>
Last edited by FranceBB on 26. Sep 2023, 09:33, edited 1 time in total.
-
- Posts: 117
- Joined: 20. May 2017, 05:07
- Primary OS: Fedora other
- VBox Version: OSE Fedora
- Guest OSses: Windows XP x86
- Contact:
Re: Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
Done with the roles reversed.Then repeat both tests with switched roles, starting iPerf3 in server mode in the VMs and in client mode on the host.
Going towards Windows XP:
Code: Select all
Microsoft Windows [Version 10.0.19045.3448]
(c) Microsoft Corporation. All rights reserved.
C:\Users\FranceBB>cd "C:\Users\FranceBB\Desktop\Utility\iperf-3.1.3-win64"
C:\Users\FranceBB\Desktop\Utility\iperf-3.1.3-win64>iperf3 -c 10.25.124.213 -u
Connecting to host 10.25.124.213, port 5201
[ 4] local 10.25.124.98 port 63484 connected to 10.25.124.213 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 1.01-2.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 2.01-3.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 3.00-4.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 4.01-5.02 sec 136 KBytes 1.10 Mbits/sec 17
[ 4] 5.02-6.01 sec 120 KBytes 992 Kbits/sec 15
[ 4] 6.01-7.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 7.01-8.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 8.00-9.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 9.01-10.00 sec 128 KBytes 1.06 Mbits/sec 16
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 1.25 MBytes 1.05 Mbits/sec 2.508 ms 0/159 (0%)
[ 4] Sent 159 datagrams
iperf Done.
C:\Users\FranceBB\Desktop\Utility\iperf-3.1.3-win64>
Code: Select all
C:\Users\FranceBB\Desktop\Utility\iperf-3.1.3-win64>iperf3 -c 10.25.124.186 -u
Connecting to host 10.25.124.186, port 5201
[ 4] local 10.25.124.98 port 64818 connected to 10.25.124.186 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 1.01-2.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 2.00-3.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 3.01-4.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 4.00-5.02 sec 136 KBytes 1.10 Mbits/sec 17
[ 4] 5.02-6.01 sec 120 KBytes 989 Kbits/sec 15
[ 4] 6.01-7.02 sec 136 KBytes 1.11 Mbits/sec 17
[ 4] 7.02-8.00 sec 120 KBytes 995 Kbits/sec 15
[ 4] 8.00-9.01 sec 136 KBytes 1.10 Mbits/sec 17
[ 4] 9.01-10.00 sec 120 KBytes 993 Kbits/sec 15
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 1.25 MBytes 1.05 Mbits/sec 2.312 ms 0/159 (0%)
[ 4] Sent 159 datagrams
iperf Done.
C:\Users\FranceBB\Desktop\Utility\iperf-3.1.3-win64>
-
- Posts: 117
- Joined: 20. May 2017, 05:07
- Primary OS: Fedora other
- VBox Version: OSE Fedora
- Guest OSses: Windows XP x86
- Contact:
Re: Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
Ok, so, there's one more thing.
The drivers I'm using on Windows XP are version 8.1.8.0 from 15/09/2004.
There are newer versions 'till the latest released which is 14.0 from 01/04/2009, however they all end up in a bluescreen.
I tried to install the following versions:
12.2 - 10 Jul 2007
12.3 - 25 Sep 2007
13.1.2 - 13 Aug 2008
14.0 - 01 Apr 2009
The result is always the same:
I found the following ticket in the bug tracker from 14 years ago relative to v14 of the driver and Virtualbox 3.06 https://www.virtualbox.org/ticket/5035
Ironically, 14 years later, with Virtualbox 7.0.97 r158510 and the same version of the Intel drivers (v14) the bug still applies.
Given that the Intel PRO/1000 MT Desktop adapter has been discontinued by Intel, it's highly unlikely we'll ever see a new driver that fixes the issue coming out...
I went back and tried the following version (which is still newer than the one I was using):
8.7.9.0 - 28 Feb 2007
it went through.
Then I tried:
8.10.3.0 - 20/08/2008
it also went through.
The problem is that nothing really changed as the performances stayed exactly the same...
The drivers I'm using on Windows XP are version 8.1.8.0 from 15/09/2004.
There are newer versions 'till the latest released which is 14.0 from 01/04/2009, however they all end up in a bluescreen.
I tried to install the following versions:
12.2 - 10 Jul 2007
12.3 - 25 Sep 2007
13.1.2 - 13 Aug 2008
14.0 - 01 Apr 2009
The result is always the same:
I found the following ticket in the bug tracker from 14 years ago relative to v14 of the driver and Virtualbox 3.06 https://www.virtualbox.org/ticket/5035
Ironically, 14 years later, with Virtualbox 7.0.97 r158510 and the same version of the Intel drivers (v14) the bug still applies.
Given that the Intel PRO/1000 MT Desktop adapter has been discontinued by Intel, it's highly unlikely we'll ever see a new driver that fixes the issue coming out...
I went back and tried the following version (which is still newer than the one I was using):
8.7.9.0 - 28 Feb 2007
it went through.
Then I tried:
8.10.3.0 - 20/08/2008
it also went through.
The problem is that nothing really changed as the performances stayed exactly the same...
-
- Volunteer
- Posts: 5678
- Joined: 14. Feb 2019, 03:06
- Primary OS: Mac OS X other
- VBox Version: PUEL
- Guest OSses: Linux, Windows 10, ...
- Location: Germany
Re: Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
I'm sorry that it took me sooo long to look again into this! I wanted to take the opportunity to read a bit in the PCI/PCI-X Family of Gigabit Ethernet Controllers Software Developer’s Manual (~400 pages) and spent a few hours on it today.
First of all, your latest log files from September 2023 indicated a lot more network packets than expected: One iperf3 run sends ~160 UDP datagrams of 8 kB, leading to ~960 Ethernet frames. Since the log files indicated more than 2000 transmitted Ethernet frames, it wasn't obvious which statistics values to attribute to the iperf3 network traffic. But I think I found the key information for the TX direction:
According to the VirtualBox User Manual, Windows XP natively supports the older Intel PRO/1000 T Server (82543GC) network adapter. Might be worth a try ...
First of all, your latest log files from September 2023 indicated a lot more network packets than expected: One iperf3 run sends ~160 UDP datagrams of 8 kB, leading to ~960 Ethernet frames. Since the log files indicated more than 2000 transmitted Ethernet frames, it wasn't obvious which statistics values to attribute to the iperf3 network traffic. But I think I found the key information for the TX direction:
Windows8.1_iperf3 -c 10.25.124.98 -u.log wrote:00:03:54.768762 E1000#2: TX CTX descriptors: 186 00:03:54.768765 E1000#2: TX DAT descriptors: 3826 00:03:54.768768 E1000#2: TX LEG descriptors: 64 00:03:54.768774 E1000#2: Transmitted frames: 2102
The Windows 8.1 network driver used TX CTX and TX DAT descriptors for the iperf3 network traffic, while the Windows XP network driver used TX LEG descriptors. The former descriptor types are needed to use TX checksum offloading and TX segmentation offloading, which are commonly used by GbE controllers to speed up network traffic in both TX and RX directions. In RX direction, RX interrupt coalescing could play an additional role.WindowsXP_iperf3 -c 10.25.124.98 -u.log wrote:00:07:00.307419 E1000#1: TX CTX descriptors: 0 00:07:00.307421 E1000#1: TX DAT descriptors: 0 00:07:00.307423 E1000#1: TX LEG descriptors: 5624 00:07:00.307426 E1000#1: Transmitted frames: 2634
According to the VirtualBox User Manual, Windows XP natively supports the older Intel PRO/1000 T Server (82543GC) network adapter. Might be worth a try ...
-
- Posts: 117
- Joined: 20. May 2017, 05:07
- Primary OS: Fedora other
- VBox Version: OSE Fedora
- Guest OSses: Windows XP x86
- Contact:
Re: Network Adapter speed in Windows XP Virtualbox 7.0.97 r156683
About the lack of TX checksum offloading and TX segmentation offloading in the Windows XP network driver, I tried with the Intel PRO/1000 T Server card as you suggested and indeed I can see TX Checksum offloading being on but there's no mention of TX Segmentation offloading unfortunately:
Needless to say, I tried the same iperf test and the result was pretty much the same in terms of speed...
In the Virt-io driver, however, those are disabled by default:
and if I try to enable them, it goes straight into bluescreen:
https://i.imgur.com/kenFRLm.png
Thank you again for analyzing the traffic and solving the mystery, this gives me finally peace of mind.
For everyone else reading who might be curious, the XP drivers for the Intel cards are from 2008, so they won't see any update ever and there's no chance they're ever gonna support TX Segmentation offloading in XP.
The most recent ones are the virt-io drivers, however the XP version of those has also been discontinued a long time ago, in 2017, so we won't see any new release supporting TX Checksum and TX Segmentation offloading either...
I guess XP is once again a victim of its time and with none of the drivers offering TX Segmentation offloading it's probably never gonna reach 1 Gbit/s, just like Windows98 won't get over the 100 Mbit/s barrier...
Needless to say, I tried the same iperf test and the result was pretty much the same in terms of speed...
In the Virt-io driver, however, those are disabled by default:
and if I try to enable them, it goes straight into bluescreen:
https://i.imgur.com/kenFRLm.png
Thank you again for analyzing the traffic and solving the mystery, this gives me finally peace of mind.
For everyone else reading who might be curious, the XP drivers for the Intel cards are from 2008, so they won't see any update ever and there's no chance they're ever gonna support TX Segmentation offloading in XP.
The most recent ones are the virt-io drivers, however the XP version of those has also been discontinued a long time ago, in 2017, so we won't see any new release supporting TX Checksum and TX Segmentation offloading either...
I guess XP is once again a victim of its time and with none of the drivers offering TX Segmentation offloading it's probably never gonna reach 1 Gbit/s, just like Windows98 won't get over the 100 Mbit/s barrier...