Subject: 2.0.2 and NAT xmit performance
To: port-i386@netbsd.org <port-i386@netbsd.org>
From: Steve Paul <xeglon@earthlink.net>
List: port-i386
Date: 06/01/2005 22:28:48
Greetings list,
I recently upgraded my nat/ipf server in both hardware and NetBSD 
(P90/256MB NetBSD 1.5Z -> P4 2.2/400, 1gig rdram 800 NetBSD 2.0.2) and 
have been having some performance problems with uploads.

Setup is:
Asus P4T-E, P4-2.2ghz, 800fsb
Two NetGear network cards
Adaptec 29160UW, 2 drives (all BSD)
sip0: -> pppoe0
sip1: -> internal lan, 192.168.1.1

Everything works great, but upload speed on the LAN to INTERNET is 
absolutely horrible.. it also stalls for about 5-10 seconds after the 
first big 'chunk' uploads, then it continues dog slow.

Example-
1) Client 192.168.1.20 sends a 200mb file through FTP to 2.0.2 server, 
fast- full 100base performance.
2) On console of NetBSD server, use ftp to say site XYZ on the internet, 
file transfer of the 200mb file is fast/full dsl upload limit.
3) Now go to client 192.168.1.20 to send the 200mb file directly to site 
XYZ on the internet with FTP, it stalls on the first 1K for about 5-10 
seconds, then continues sending at ~1-2k/s tops.

It doesn't seem to matter what protocol is used, ftp, http, or any form 
of tcp->stream upload.  Ipnat seems to be massively slow and looking for 
direction on how to probe/debug to get more info on the issue.

ipnat.conf:
========
map pppoe0 192.168.1.0/24 -> 0/32 proxy port ftp ftp/tcp
map pppoe0 192.168.1.0/24 -> 0/32 portmap tcp/udp 40000:50000 mssclamp 1440
map pppoe0 192.168.1.0/24 -> 0/32 mssclamp 1440

ipf.conf
========
pass in quick on lo0 all
pass out quick on lo0 all

pass in on pppoe0 all
pass out on pppoe0 all

pass in quick on sip1 all
pass out quick on sip1 all

Thanks!