From owner-freebsd-stable Mon Feb 26 20:50: 4 2001 Delivered-To: freebsd-stable@freebsd.org Received: from panzer.kdm.org (panzer.kdm.org [216.160.178.169]) by hub.freebsd.org (Postfix) with ESMTP id 49F3537B491; Mon, 26 Feb 2001 20:49:46 -0800 (PST) (envelope-from ken@panzer.kdm.org) Received: (from ken@localhost) by panzer.kdm.org (8.9.3/8.9.1) id VAA28948; Mon, 26 Feb 2001 21:49:37 -0700 (MST) (envelope-from ken) Date: Mon, 26 Feb 2001 21:49:37 -0700 From: "Kenneth D. Merry" To: Edvard Fagerholm Cc: Poul-Henning Kamp , freebsd-stable@FreeBSD.ORG Subject: Re: fxp and HP Procurve incompatibility... Message-ID: <20010226214937.A28833@panzer.kdm.org> References: <3596.982855160@critter> <3A97B119.38FBF6B4@sigtrap.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="AhhlLboLdkugWU4S" Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <3A97B119.38FBF6B4@sigtrap.com>; from desti@sigtrap.com on Sat, Feb 24, 2001 at 01:03:21PM +0000 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Feb 24, 2001 at 13:03:21 +0000, Edvard Fagerholm wrote: > Well I get those same packets with an rtl8139. > > But with my fxp cards I get random crashes under high network + disk + > cpu load. And usually my ProCurve crashes at the same time too, this > didn't happen when I was running a Cisco Catalyst (but it reported lots > of CRC errors). > > Anyways back to this fxp problem. This doesn't happen with any other > chips than cards running the 82559 chipset. My box that crashes sits as > an internal nameserver between 3 subnets (and it has 3 fxps and is > connected to 3 switches). This crashing didn't occur until i plugged it > into the 3rd subnet and thus put one more fxp to it (this one had a > 82559 chips while the other ones had 82557s). > > Cheers, > Edvard Fagerholm > > But I get those odd packets with all fxp cards. These are flow control packets. The problem is that the fxp boards are negotiating flow control with the switch, but flow control isn't turned on for the boards. I had this problem last year after I got an Intel 410T switch and an Intel 82559 board. I wound up grabbing the code to turn on flow control from the Linux driver, since Intel doesn't release documentation on the 8255x chips. For more information, search the freebsd-net list archives for messages with the following subject: "anyone know about 802.3x flow control?" A patch (against -stable) is attached to enable flow control in the fxp driver. I sent it to David Greenman, but he never put it in the tree. This message is timely, since I just got a new machine with an onboard 82559, and I'm running -stable on it instead of -current. My -stable tree doesn't have the flow control fix, so I just noticed I'm getting the flow control packets on that machine: 21:46:02.939470 0:0:0:0:0:30 1:80:c2:0:0:1 8808 60: 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 21:46:02.981424 0:0:0:0:0:30 1:80:c2:0:0:1 8808 60: 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 21:46:03.023361 0:0:0:0:0:30 1:80:c2:0:0:1 8808 60: 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 8808 0001 0000 0000 Time to check that patch into my (local) stable tree as well. > Poul-Henning Kamp wrote: > > > > With 4.x stable a few days old I see an _odd_ thing. > > > > If I plug an fxp card into a HP ProCurve 2224 switch (J4095A) > > I see a flurry of packets which I can monitor with tcpdump: > > > > 15:39:50.834150 0:0:0:0:0:10 1:80:c2:0:0:1 8808 60: > > 0001 0000 0000 8808 0001 0000 0000 8808 > > 0001 0000 0000 8808 0001 0000 0000 8808 > > 0001 0000 0000 8808 0001 0000 0000 > > 15:39:50.876092 0:0:0:0:0:10 1:80:c2:0:0:1 8808 60: > > 0001 0000 0000 8808 0001 0000 0000 8808 > > 0001 0000 0000 8808 0001 0000 0000 8808 > > 0001 0000 0000 8808 0001 0000 0000 > > 15:39:50.918035 0:0:0:0:0:10 1:80:c2:0:0:1 8808 60: > > 0001 0000 0000 8808 0001 0000 0000 8808 > > 0001 0000 0000 8808 0001 0000 0000 8808 > > 0001 0000 0000 8808 0001 0000 0000 > > > > This does not happen if I use a D-Link card (if_dc driver). > > > > Any clues ? > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-stable" in the body of the message Ken -- Kenneth Merry ken@kdm.org --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="if_fxp.flow_control.stable.20010226" ==== //depot/FreeBSD-ken-RELENG_4/src/sys/pci/if_fxp.c#2 - /c/ken/perforce6/FreeBSD-ken-RELENG_4/src/sys/pci/if_fxp.c ==== *** /tmp/tmp.28934.0 Mon Feb 26 21:48:46 2001 --- /c/ken/perforce6/FreeBSD-ken-RELENG_4/src/sys/pci/if_fxp.c Mon Feb 26 21:48:23 2001 *************** *** 1574,1579 **** --- 1574,1580 ---- cbp->stripping = !prm; /* truncate rx packet to byte count */ cbp->padding = 1; /* (do) pad short tx packets */ cbp->rcv_crc_xfer = 0; /* (don't) xfer CRC to host */ + cbp->flow_control = 0x3d; /* turn on 802.3x flow control */ cbp->force_fdx = 0; /* (don't) force full duplex */ cbp->fdx_pin_en = 1; /* (enable) FDX# pin */ cbp->multi_ia = 0; /* (don't) accept multiple IAs */ ==== //depot/FreeBSD-ken-RELENG_4/src/sys/pci/if_fxpreg.h#2 - /c/ken/perforce6/FreeBSD-ken-RELENG_4/src/sys/pci/if_fxpreg.h ==== *** /tmp/tmp.28934.1 Mon Feb 26 21:48:46 2001 --- /c/ken/perforce6/FreeBSD-ken-RELENG_4/src/sys/pci/if_fxpreg.h Mon Feb 26 21:48:23 2001 *************** *** 163,169 **** padding:1, rcv_crc_xfer:1, :5; ! volatile u_int :6, force_fdx:1, fdx_pin_en:1; volatile u_int :6, --- 163,174 ---- padding:1, rcv_crc_xfer:1, :5; ! /* ! * IEEE 802.3x flow control: ! * 0 == off ! * 0x3d == on ! */ ! volatile u_int flow_control:6, force_fdx:1, fdx_pin_en:1; volatile u_int :6, --AhhlLboLdkugWU4S-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message