[tulip] Slow masq connections with 2 Linksys NC100 V2 NIC's

John Haggerty haggerty@bnl.gov
Thu, 21 Sep 2000 11:54:06 -0400


This is a multi-part message in MIME format.
--------------222D9D00D9E1FE77ECB651F7
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I posted the following to the IP Masquerade list, but talking with
people has made me wonder whether I don't have some subtle problem
having two of these Linksys NC100 V2 NIC's, since they seem to work ok
individually, but not when there is traffic on both.

Since that post, I have upgraded the kernel to 2.2.16-3, although the
tulip driver comes from the current netdriver distribution on the scyld
site.

The way the data lights pulse on the DSL modem, it makes me think that
the data come in on one card, there's a delay, then it goes out on the
other.  Thinking about it, I'm wondering whether I'm seeing some low
level problem of timeouts, bus contention, interrupt handling, or what
have you.  

Any ideas?

-- 
John Haggerty
internet: haggerty@bnl.gov
voice/fax: 631 344 2286/631 344 4592
http://www.rhic.bnl.gov/phenix/computing/online/oncs/people/haggerty/johnh.html
--------------222D9D00D9E1FE77ECB651F7
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Received: from bnl.gov (bnl.gov [130.199.128.163])
	by rcf.rhic.bnl.gov (8.9.3/8.9.3) with SMTP id VAA27537
	for <haggerty@rcf.rhic.BNL.GOV>; Tue, 19 Sep 2000 21:46:39 -0400 (EDT)
Received: (from daemon@localhost)
	by bnl.gov (8.9.2/8.9.2) id VAA01181
	for haggerty@mail.rhic.bnl.gov; Tue, 19 Sep 2000 21:46:38 -0400 (EDT)
Received: from mail.goibsdsl.com (mail.goibsdsl.com [216.33.199.56])
	by bnl.gov (8.9.2/8.9.2) with SMTP id VAA01174
	for <haggerty@bnl.gov>; Tue, 19 Sep 2000 21:46:38 -0400 (EDT)
Received: from bnl.gov (216.19.129.129[216.19.129.129])by HOST1(MailMax 3.076) with ESMTP id 5455252 for <masq@indyramp.com>; Tue, 19 Sep 2000 21:38:44 -0400 EDT
Sender: haggerty@bnl.gov
Message-ID: <39C816B9.D4C3DB@bnl.gov>
Date: Tue, 19 Sep 2000 21:45:30 -0400
X-PH: V4.4@bnl.gov
From: "John S. Haggerty" <haggerty@bnl.gov>
Organization: Brookhaven National Laboratory
X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.14-5.0 i586)
X-Accept-Language: en
MIME-Version: 1.0
To: masq@indyramp.com
Subject: Slow client connection through masq
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=us-ascii

The speed of my connection through masq'ed Windows machines is about
half the download speed that it should
be.  My situation is

- Micron Pentium 133 running Red Hat 6.2 (2.2.14-5.0)
- 2 Linksys NC100 V2 10/100 Network Anywhere cards (tulip driver
compiled from Donald Becker's site last
month)
- CopperRocket 201 SDSL -> eth1
- 10/100 hub -> eth0, 1 W95, 2 W98 machines

I set up masq'ing following the script in the HOWTO for 2.2.x kernels
(p. 22), and I tried the firewallss script from the Red Hat site, which
are essentially the same.  This is what ipchains says:

# /sbin/ipchains -L
Chain input (policy ACCEPT):
Chain forward (policy DENY):
target     prot opt     source                destination
ports
MASQ       all  ------  192.168.1.0/24       anywhere              n/a
Chain output (policy ACCEPT):

The Linux machine runs great--using this very nice web page for
measuring the speed:
http://www.dslreports.com/stest/0
I very consistently see around 370 kbit/sec up and down ( I have 416
kbit/sec SDSL).  But from the masq'ed W9x
machines, I get around 170 kbit/sec down and around 350 kbit/sec up,
sometimes even less on the download.  The speed test is reliable,
judging from timing
ftp's, and just by watching the lights, you can see that the masq'ed
machines seem to be waiting on something to
get their data--the data and lan lights flicker much more on a download
to them than to the Linux box.

I should add that I set up the dhcpd and named as well; I can't see any
problem with them, or the rest of the network setup, since all the
things that are supposed to work on the clients work, just not as fast
as I'd like.  For fun, I set up the squid proxy server and set up
netscape to use it, and with that, the client seemed to get full speed
out to the internet.  (I'm not interested in configuring every piece of
software in the world to use a proxy server, though.)

Now the list and the howto say that this is not unknown, and the disease
is full duplex ethernet.  Maybe so, but I
can't quite see it--here's conf.modules:

alias parport_lowlevel parport_pc
alias eth0 tulip
alias eth1 tulip
options tulip debug=0 full_duplex=0,0

which I'm pretty sure set eth0 and eth1 to full duplex off.  Also, the
tulip-diag  output is appended at the end
of this message, and all the interfaces look half-duplex to me (although
they said half duplex when they were autosensed, too, I confess).

The internal network looks ok, based mainly on timing ping's, and here's
the real annoyance that says it's how I set
up masq'ing--when I first got DSL, it was wired closer to a W98 machine
than the Linux machine, so I set up the
W98 machine to be the DHCP server (now also moved to Linux) and
Microsoft Internet Connection Sharing (ICS)
for sharing the connection--and all the machines (the Linux box
included) got pretty much the full DSL bandwidth.
My Linux box is now the crux of jokes by the 15 and 12 year old network
users.  Do I need to alter the configuration
of the network cards in the W9x boxes, too?  Or did I not really set up
the network cards right even now?

Any ideas on what to look at next?   The only thing I haven't done which
the last post on this subject suggested is to change the internal
addresses to 192.168.0.x.  That can't make any differeence, right?
Below are some configuration information (with my ip address replaced by
x.x.x.x):

Here's output from tulip-diag:

tulip-diag.c:v2.03 7/31/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a ADMtek AL985 Centaur-P adapter at 0xf800.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit unit is set to store-and-forward.
 The Comet MAC registers are 00002000 ffff4bb2 filter 8000000000000000.
Index #2: Found a ADMtek AL985 Centaur-P adapter at 0xf400.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
 The Comet MAC registers are 0f782000 ffff7731 filter 8000000000000000.
 Use '-a' or '-aa' to show device registers,
     '-e' to show EEPROM contents, -ee for parsed contents,
  or '-m' or '-mm' to show MII management registers.

Here's ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:20:00:00:B2:4B
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5188 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5709 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:9 Base address:0x3c00

eth1      Link encap:Ethernet  HWaddr 00:20:78:0F:31:77
          inet addr: x.x.x.x  Bcast:x.x.x.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7534 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:11 Base address:0x5800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:290 errors:0 dropped:0 overruns:0 frame:0
          TX packets:290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

Here's route (which hangs a few seconds when invoked--that seems odd,
which is why I include it, not to mention that I find the route tables
quite mysterious):

# /sbin/route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.1.1     *               255.255.255.255 UH    0      0        0
eth0
255.255.255.255 *               255.255.255.255 UH    0      0        0
eth1
255.255.255.255 *               255.255.255.255 UH    0      0        0
eth0
johns           *               255.255.255.255 UH    0      0        0
eth1
x.x.x.0    *               255.255.255.0   U     0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0
eth0
127.0.0.0       *               255.0.0.0       U     0      0        0
lo
default         x.x.x.1    0.0.0.0         UG    0      0        0 eth1

# netstat -i
Kernel Interface table
Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP
TX-OVR Flg
eth0   1500   0     5256      0      0      0     5769      0
0      0 BRU
eth1   1500   0     8808      0      0      0     7551      0
0      0 BRU
lo        3924  0         296      0      0      0      296      0
0      0 LRU

--
John Haggerty
internet: haggerty@bnl.gov
voice/fax: 631 344 2286/3253
http://www.rhic.bnl.gov/phenix/computing/online/oncs/people/haggerty/johnh.html





--------------222D9D00D9E1FE77ECB651F7--