Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Feb 2001 21:49:37 -0700
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Edvard Fagerholm <desti@sigtrap.com>
Cc:        Poul-Henning Kamp <phk@FreeBSD.ORG>, freebsd-stable@FreeBSD.ORG
Subject:   Re: fxp and HP Procurve incompatibility...
Message-ID:  <20010226214937.A28833@panzer.kdm.org>
In-Reply-To: <3A97B119.38FBF6B4@sigtrap.com>; from desti@sigtrap.com on Sat, Feb 24, 2001 at 01:03:21PM %2B0000
References:  <3596.982855160@critter> <3A97B119.38FBF6B4@sigtrap.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010226214937.A28833>