From: Henry N. <Henry.Ne@Arcor.de> - 2006-02-16 09:17:12
Attachments:
slirp-received-loop_stable.patch
slirp-mbuf_stable.patch
|
Hallo Elliot, George and Bernd, in comparsion of 0.6.3 and 0.7.1 found differens for handling multiple/splitted buffers, the problem for high traffic on slirp network. This patch should fix this. The second is from Bernd and handle TCP/UDP packeds with more than ~3500 Bytes. Both patches are very fresh and only tested by me today. I have not seen negative effects. But it would better, some other slirp power users would test this. You can simple replace the exe file of 0.6.3 version. (Create a backup of you old file first!) http://www.henrynestler.com/colinux/testing/stable-2.6.11-hn/20060215/colinux-slirp-0.6.3-hn1.zip You can download my SLiRP test programs, with precompiled windows and linux exe files. Please read the README for instructions: http://www.henrynestler.com/colinux/tools/udp_test-0.1.tgz === slirp-received-loop_stable.patch: * co_win32_overlapped_read_received: Overlapped read in win32 reads more as one message into buffer. Separate these buffer(s) into single slirp_input's. *** This bug is also in colinux-net-demon (tap/bridged) and *** colinux-serial-daemon. A patch will follow, if I checked. +++ Devel branch has not this problem, was handled by 'reactor'. slirp-mbuf_stable.patch: * Handle UDP/TCP packets with more as 3000...4000 bytes for user data. Remove the QEmu comments / enable existing source. "realloc()" not garant same start pointer, slirp crashed some times. Thanks to Bernd Brandstetter, he found it. * Optimise/sorting lines. -- Henry Nestler |
From: Henry N. <Henry.Ne@Arcor.de> - 2006-02-19 14:39:58
|
Hello, Henry Nestler wrote: > in comparsion of 0.6.3 and 0.7.1 found differens for handling > multiple/splitted buffers, the problem for high traffic on slirp > network. This patch should fix this. The second is from Bernd and > handle TCP/UDP packeds with more than ~3500 Bytes. > > Both patches are very fresh and only tested by me today. I have not > seen negative effects. But it would better, some other slirp power > users would test this. You can simple replace the exe file of 0.6.3 > version. (Create a backup of you old file first!) > > http://www.henrynestler.com/colinux/testing/stable-2.6.11-hn/20060215/colinux-slirp-0.6.3-hn1.zip fixing complete. Thanks Elliot for 'hard' testing with Gentoo emerge. He send me the positive feedback. The attached patch series solved the problem with dropping network packets, send from linux to the windows host (or world). It's a fix for slirp, tap, pcap-bridged and serial daemon. Precompiled daemons can download from her: http://www.henrynestler.com/colinux/testing/stable-2.6.11-hn/20060218/ > You can download my SLiRP test programs, with precompiled windows and > linux exe files. Please read the README for instructions: > http://www.henrynestler.com/colinux/tools/udp_test-0.1.tgz http://www.henrynestler.com/colinux/tools/udp_test-0.2.tgz New version. Testing up to 60K bytes now. SLiRP max. 8143 bytes. > slirp-received-loop_stable.patch: > * co_win32_overlapped_read_received: Overlapped read in win32 reads > more as one message into buffer. > Separate these buffer(s) into single slirp_input's. > > *** This bug is also in colinux-net-demon (tap/bridged) and > *** colinux-serial-daemon. A patch will follow, if I checked. > +++ Devel branch has not this problem, was handled by 'reactor'. Patch 'slirp-received-loop_stable.patch' was replaces with a patch for all daemons with same bug. overlapped-received-loop_stable.patch: * co_win32_daemon_read_received: Overlapped read in win32 reads more as one message into buffer. Separate these buffer(s) into multiple tcp/pcap/slirp/serial packets. Bugfix for dropped UDP/TCP packets from linux to daemon device. Tested with udp_test-0.2 udpclient/udpserv up to ~64k segment size. TAP works perfect upt to 65000 bytes per packet (64KB is linux limit). Slirp works up to 8183 bytes, but can't receive 8184 bytes and more. Pcap-Bridged lose packets, if size 60k or bigger ( < 0.5% errors ). > slirp-mbuf_stable.patch: > * Handle UDP/TCP packets with more as 3000...4000 bytes for user data. > Remove the QEmu comments / enable existing source. > "realloc()" not garant same start pointer, slirp crashed some times. > Thanks to Bernd Brandstetter, he found it. > * Optimise/sorting lines. Unchanged. Only to rememeber for adding this. -- Henry Nestler |
From: * * <ric...@gm...> - 2006-02-21 06:57:17
|
Will you be making patched daemons for 0.7.x as well? On 2/18/06, Henry Nestler <Hen...@ar...> wrote: > Hello, > > Henry Nestler wrote: > > in comparsion of 0.6.3 and 0.7.1 found differens for handling > > multiple/splitted buffers, the problem for high traffic on slirp > > network. This patch should fix this. The second is from Bernd and > > handle TCP/UDP packeds with more than ~3500 Bytes. > > > > Both patches are very fresh and only tested by me today. I have not > > seen negative effects. But it would better, some other slirp power > > users would test this. You can simple replace the exe file of 0.6.3 > > version. (Create a backup of you old file first!) > > > > http://www.henrynestler.com/colinux/testing/stable-2.6.11-hn/20060215/c= olinux-slirp-0.6.3-hn1.zip > > fixing complete. Thanks Elliot for 'hard' testing with Gentoo emerge. > He send me the positive feedback. > > The attached patch series solved the problem with dropping network > packets, send from linux to the windows host (or world). It's a fix for > slirp, tap, pcap-bridged and serial daemon. > > Precompiled daemons can download from her: > http://www.henrynestler.com/colinux/testing/stable-2.6.11-hn/20060218/ > > > You can download my SLiRP test programs, with precompiled windows and > > linux exe files. Please read the README for instructions: > > http://www.henrynestler.com/colinux/tools/udp_test-0.1.tgz > > http://www.henrynestler.com/colinux/tools/udp_test-0.2.tgz > New version. Testing up to 60K bytes now. SLiRP max. 8143 bytes. > > > slirp-received-loop_stable.patch: > > * co_win32_overlapped_read_received: Overlapped read in win32 reads > > more as one message into buffer. > > Separate these buffer(s) into single slirp_input's. > > > > *** This bug is also in colinux-net-demon (tap/bridged) and > > *** colinux-serial-daemon. A patch will follow, if I checked. > > +++ Devel branch has not this problem, was handled by 'reactor'. > > Patch 'slirp-received-loop_stable.patch' was replaces with a patch for > all daemons with same bug. > > overlapped-received-loop_stable.patch: > * co_win32_daemon_read_received: Overlapped read in win32 reads > more as one message into buffer. Separate these buffer(s) into > multiple tcp/pcap/slirp/serial packets. > Bugfix for dropped UDP/TCP packets from linux to daemon device. > > Tested with udp_test-0.2 udpclient/udpserv up to ~64k segment size. > TAP works perfect upt to 65000 bytes per packet (64KB is linux limit). > Slirp works up to 8183 bytes, but can't receive 8184 bytes and more. > Pcap-Bridged lose packets, if size 60k or bigger ( < 0.5% errors ). > > > slirp-mbuf_stable.patch: > > * Handle UDP/TCP packets with more as 3000...4000 bytes for user data. > > Remove the QEmu comments / enable existing source. > > "realloc()" not garant same start pointer, slirp crashed some times. > > Thanks to Bernd Brandstetter, he found it. > > * Optimise/sorting lines. > > Unchanged. Only to rememeber for adding this. > > -- > Henry Nestler > > > |
From: Henry N. <Henry.Ne@Arcor.de> - 2006-02-22 09:27:33
|
Hello Richard, * * wrote: > Will you be making patched daemons for 0.7.x as well? yes, some. >> Henry Nestler wrote: >>> [...] >> overlapped-received-loop_stable.patch: >> * co_win32_daemon_read_received: Overlapped read in win32 reads >> more as one message into buffer. Separate these buffer(s) into >> multiple tcp/pcap/slirp/serial packets. >> Bugfix for dropped UDP/TCP packets from linux to daemon device. This patch is not needed by devel branch. The 'reactor' source handles overlapping reads correct. >>> slirp-mbuf_stable.patch: >>> * Handle UDP/TCP packets with more as 3000...4000 bytes for user data. >>> Remove the QEmu comments / enable existing source. >>> "realloc()" not garant same start pointer, slirp crashed some times. >>> Thanks to Bernd Brandstetter, he found it. >>> * Optimise/sorting lines. This patch comes from a devel version. You can use this patch file also on devel source. Slirp source is the same. -- Henry Nestler |