From: "Doug Bissett" Received: from [192.168.100.201] (HELO mail.2rosenthals.com) by 2rosenthals.com (CommuniGate Pro SMTP 5.1.16) with ESMTP id 1985252 for virtualized_ecs_users@2rosenthals.com; Thu, 10 Dec 2009 16:56:05 -0500 Received: from secmgr-va.2rosenthals.com ([162.83.95.194] helo=mail2.2rosenthals.com) by (none) with esmtps (TLSv1:AES256-SHA:256) (Exim 4.43) id 1NIqzR-0001il-46 for virtualized_ecs_users@2rosenthals.com; Thu, 10 Dec 2009 16:56:05 -0500 Received: from outbound03.telus.net ([199.185.220.222]:53736) by mail2.2rosenthals.com with esmtp (Exim 4.69) (envelope-from ) id 1NIqzO-0005o9-2m for virtualized_ecs_users@2rosenthals.com; Thu, 10 Dec 2009 16:55:59 -0500 Received: from edtnaa11.telusplanet.net ([75.159.225.7]) by priv-edtnes29.telusplanet.net (InterMail vM.7.08.04.00 201-2186-134-20080326) with ESMTP id <20091210215556.SADD2944.priv-edtnes29.telusplanet.net@edtnaa11.telusplanet.net> for ; Thu, 10 Dec 2009 14:55:56 -0700 Received: from IREBBS7 (d75-159-225-7.abhsia.telus.net [75.159.225.7]) by edtnaa11.telusplanet.net (BorderWare Security Platform) with ESMTP id 454690F2F04014AB for ; Thu, 10 Dec 2009 14:55:55 -0700 (MST) X-CTCH-RefID: str=0001.0A020201.4B216E6F.005F,ss=2,fgs=0 Message-ID: <000.90650000636e214b.017@telus.net> To: "Virtualized eCS Users Mailing List" Date: Thu, 10 Dec 2009 14:55:47 -0700 (MST) In-Reply-To: References: Priority: Normal User-Agent: PMMail/3.07 (os/2; U; Warp 4.5; en-CA; i386; ver 3.07.04.1489) X-Mailer: (Demonstration) PMMail (Alpha 1) 3.07.04.1489 for OS/2 Warp 4.5 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Virtualized eCS] TAP driver killing TCP/IP bandwidth X-Spam-Score: 0.0 (/) X-Spam-Report: _SUMMARY_ On 2009-12-09, at 18:28:29, Lewis G Rosenthal wrote: > >Hi, Doug... Hi Lewis... >On 12/09/09 05:35 pm, Doug Bissett thus wrote : >> On 2009-12-09, at 14:01:33, Lewis G Rosenthal wrote: >> >> ...snip... >> >>> I'll have to fashion myself a CAT-6 crossover to eliminate the >>> switch from the equation.) >>> >> >> Most modern switches, and NICs, will automatically reverse the wiring, >> if they think you might be using the wrong cable. Just try a normal >> cable. >> >> >Indeed, I thought of the auto-sensing circuitry, but don't know if the >T43 or the new Intel chip (still trying to get GenMAC to work with it) - >an 82567LF-2 - do auto-sense. The switch surely does, which is why I no >longer stock crossover cables. :-) I did my tests with a standard cable (probably CAT5) that is about 5 feet long. No trouble with not using a crossover cable. >>> Has anyone else seen this type of performance hit cuased by the TAP driver? >>> >> >> No, but my switch, and router, only run at 100 Mbs, so I may not have >> noticed a speed reduction. I will see if I can hook it direct from my >> desktop to my T43, and see what happens (may be tomorrow, before I get >> a chance). >> >Thanks. I'm going to test on a couple other networks and systems >available to me, as well. I, too, am normally sitting behind a 100Mbps >secondary switch on this segment of the LAN or going wireless. However, >the native B57 NDIS2 driver dropped off to under 500bps (that's bits, >not Bytes!) vs GenMAC running the NDIS5 driver (without IJFW and IPX on >the wire). > >While this thread doesn't necessarily deal with virtualization per se, >it is surely of impact to those of us using VBox as host, as it is a >major pain to have to reboot just to get networking going in the guest >session... > >Cheers/2 > Okay, first some information: Test boxes: Asus M3A78-EM motherboard, using GENMAC with a Realtek 8168 NIC 10EC:8168. IBM ThinkPad T43 (1871-W8M), using GENMAC with a Broadcom NIC 14E4:167D. This machine also has an Intel wireless 8086:4224, which was radio off for the testing. Both systems are running eCS 2.0 Silver, using NETBIOS over TCP/IP. The T43 doesn't have the TAP driver installed. The M3A78-EM did not have VBOX installed when I started, and the T43 has never had it installed. Both systems also have Virtual PC installed, with the bridge driver. I never actually ran VBOX on the M3A78-EM, before doing the tests. I am using NETIO126. PROTOCOL.INI on the M3A78-EM, after adding the TAP driver (I forgot to copy it before adding it, but that is probably not relevant): =========================== [PROT_MAN] DRIVERNAME = PROTMAN$ [IBMLXCFG] vproto_nif = vproto.nif tcpbeui_nif = tcpbeui.nif tcpip_nif = tcpip.nif W10ECX8168_nif = W10ECX8168.NIF VSWITCH_nif = vswitch.nif tap_nif = tap.nif [NETBIOS] DriverName = netbios$ ADAPTER0 = tcpbeui$,0 [vproto_nif] DriverName = PSWCH00$ Bindings = W10ECX8168_nif [tcpbeui_nif] DriverName = tcpbeui$ Bindings = VSWITCH_nif NODETYPE = "B-Node" OS2TRACEMASK = 0x0 SESSIONS = 130 NCBS = 225 NAMES = 21 SELECTORS = 15 USEMAXDATAGRAM = "NO" NETBIOSTIMEOUT = 500 NETBIOSRETRIES = 2 NAMECACHE = 1000 PURGECACHE = 0 PRELOADCACHE = "NO" NAMESFILE = 0 DATAGRAMPACKETS = 20 PACKETS = 50 ENABLEDNS = 0 INTERFACERATE = 300 [tcpip_nif] DriverName = TCPIP$ Bindings = VSWITCH_nif,tap_nif [W10ECX8168_nif] DriverName = WRND32$ VENDOR = 0x10EC DEVICE = 0x8168 NDIS_SYS = "RTENICXP.SYS" NDIS_INF = "RTENICXP.REG" DEBUGLEVEL = "NONE" OPTIONS = "NONE" [VSWITCH_nif] DriverName = DSWCH00$ FEATURE = "NO" [tap_nif] DriverName = TAP$ HandleArps = 1  ======================== Test results: ======================= Test 1: No TAP$ on either side. TCP connection established. Packet size 1k bytes: 8558 KByte/s Tx, 8507 KByte/s Rx. Packet size 2k bytes: 11468 KByte/s Tx, 11505 KByte/s Rx. Packet size 4k bytes: 11478 KByte/s Tx, 11378 KByte/s Rx. Packet size 8k bytes: 11483 KByte/s Tx, 11505 KByte/s Rx. Packet size 16k bytes: 11483 KByte/s Tx, 11161 KByte/s Rx. Packet size 32k bytes: 11486 KByte/s Tx, 11380 KByte/s Rx. NetBIOS connection established. Packet size 1k bytes: 2664 KByte/s Tx, 3664 KByte/s Rx. Packet size 2k bytes: 8592 KByte/s Tx, 11090 KByte/s Rx. Packet size 4k bytes: 11252 KByte/s Tx, 11130 KByte/s Rx. Packet size 8k bytes: 11313 KByte/s Tx, 11341 KByte/s Rx. Packet size 16k bytes: 11397 KByte/s Tx, 11399 KByte/s Rx. Packet size 32k bytes: 11425 KByte/s Tx, 11432 KByte/s Rx. UDP connection established. Packet size 1k bytes: 9204 Byte/s (99%) Tx, 8752 KByte/s (0%) Rx. Packet size 2k bytes: 148 KByte/s (99%) Tx, 8994 KByte/s (0%) Rx. Packet size 4k bytes: 58843 Byte/s (99%) Tx, 0 Byte/s (100%) Rx. Packet size 8k bytes: 0 Byte/s (100%) Tx, 0 Byte/s (100%) Rx. Packet size 16k bytes: 0 Byte/s (100%) Tx, 0 Byte/s (100%) Rx. Packet size 32k bytes: 0 Byte/s (100%) Tx, 0 Byte/s (100%) Rx. Test 2: Tap$ on client side (M3A78-EM) only. TCP connection established. Packet size 1k bytes: 7762 KByte/s Tx, 8236 KByte/s Rx. Packet size 2k bytes: 7881 KByte/s Tx, 8653 KByte/s Rx. Packet size 4k bytes: 7959 KByte/s Tx, 9176 KByte/s Rx. Packet size 8k bytes: 7997 KByte/s Tx, 10743 KByte/s Rx. Packet size 16k bytes: 7954 KByte/s Tx, 11393 KByte/s Rx. Packet size 32k bytes: 7980 KByte/s Tx, 11400 KByte/s Rx. NetBIOS connection established. Packet size 1k bytes: 2705 KByte/s Tx, 3731 KByte/s Rx. Packet size 2k bytes: 6244 KByte/s Tx, 7519 KByte/s Rx. Packet size 4k bytes: 6527 KByte/s Tx, 8182 KByte/s Rx. Packet size 8k bytes: 7325 KByte/s Tx, 10064 KByte/s Rx. Packet size 16k bytes: 7836 KByte/s Tx, 11270 KByte/s Rx. Packet size 32k bytes: 7904 KByte/s Tx, 11174 KByte/s Rx. UDP connection established. Packet size 1k bytes: 7656 KByte/s (7%) Tx, 4532 Byte/s (99%) Rx. Packet size 2k bytes: 8328 KByte/s (0%) Tx, 12619 Byte/s (99%) Rx. Packet size 4k bytes: 11039 KByte/s (0%) Tx, 66999 Byte/s (99%) Rx. Packet size 8k bytes: 11097 KByte/s (0%) Tx, 62 KByte/s (99%) Rx. Packet size 16k bytes: 0 Byte/s (100%) Tx, 0 Byte/s (100%) Rx. Packet size 32k bytes: send(): No buffer space available =============================== For some reason, UDP seems to have a problem, so I think you can discount what that test says, in both cases. The really interesting numbers are in TCP, and NETBIOS, with and without the TAP driver installed. Sending seems to be limited to what I see with my 100 Mbs hub in the network. With a direct connection, and no TAP driver, send and receive seem to be about the same. The interesting thing is that receiving doesn't seem to be affected by whatever is slowing down sending. As an aside, I discovered that the MPTS in eCS 2.0 Silver has added a feature to install LLAeCS.EXE into \MPTN\BIN\MPTSTART.CMD, every time it runs (even if you don't change anything). This took me on a wild goose chase for a while, since LLAeCS.EXE hangs at boot, unless I start it much later than in MPTSTART.CMD. This is somewhat limited testing, but I think that it shows that the TAP driver does limit send speed to something near 100 Mbs, even when using a gigabit NIC. In different configurations, the results could be different. I never tried wireless, but I will do that, when I find some time to play with it again. -- **************************** From the eComStation of Doug Bissett dougb007 at telus.net **************************** ... See the Future; See eComStation. Be the Future; Run eComStation.