From owner-freebsd-stable@FreeBSD.ORG Thu May 12 16:43:21 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E061E16A4CE for ; Thu, 12 May 2005 16:43:21 +0000 (GMT) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3C06243D8B for ; Thu, 12 May 2005 16:43:21 +0000 (GMT) (envelope-from jcagle@gmail.com) Received: by rproxy.gmail.com with SMTP id a41so265097rng for ; Thu, 12 May 2005 09:43:20 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=atTNHGx5Tp2STO3lo2CC7Tcm39u0H1BJ1hVhKn9qPudVQmtYzgNcCjYm+mD4O1+kjrMmlNjJNDxzGtoX8tkMAFJwh9tz8MDFy88g1tBKQYYTw91bIugDNQaq+6zegrElyiYVpUHdrRz7isvYm5sWctr+6+uWyJdNlhyhih1sGDg= Received: by 10.39.1.54 with SMTP id d54mr891291rni; Thu, 12 May 2005 09:43:20 -0700 (PDT) Received: by 10.38.90.72 with HTTP; Thu, 12 May 2005 09:43:20 -0700 (PDT) Message-ID: <6863f0c905051209432a3afcb9@mail.gmail.com> Date: Thu, 12 May 2005 11:43:20 -0500 From: jmc To: freebsd-stable@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: 5.4 weird transmit problem X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: jmc List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2005 16:43:22 -0000 I've got 5.4 amd64 installed on an Opteron server and I cannot get it to=20 reliably transmit packets larger than 80 bytes using the bge driver (on a= =20 BCM5703 NIC). It receives large packets without any problem, but it just=20 won't transmit them. (I can tcpdump all day long without a problem - big an= d=20 small packets.) For example, I can "ping -s 38 " and it works fine. But if I try "ping= =20 -s 39 " (or any size larger than 38) it does not work. A 38 byte ping= =20 creates an 80 byte Ethernet packet. Here's the bge0 info from dmesg: bge0: mem=20 0xf7ef0000-0xf7 efffff irq 24 at device 1.0 on pci3 bge0: Reserved 0x10000 bytes for rid 0x10 type 3 at 0xf7ef0000 miibus0: on bge0 brgphy0: on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,=20 1000baseTX -FDX, auto bge0: bpf attached bge0: Ethernet address: 00:11:85:fd:8f:f9 bge0: [MPSAFE] Here's ifconfig for bge0: bge0: flags=3D8843 mtu 1500 options=3D1a inet 16.100.240.165 netmask 0xfffffc00 broadcast=20 16.100.243.255 inet6 fe80::211:85ff:fefd:8ff9%bge0 prefixlen 64 scopeid 0x1 ether 00:11:85:fd:8f:f9 media: Ethernet autoselect (1000baseTX ) status: active Much to my dismay, I've found that if I use the -l option (preload) for=20 ping, I get some large packets through: ninox# ping -l10 -c10 -s200 16.100.240.1 PING 16.100.240.1 (16.100.240.1 = ):=20 200 data bytes 208 bytes from 16.100.240.1 : icmp_seq=3D2 ttl=3D128 t= ime=3D 1.025 ms 208 bytes from 16.100.240.1 : icmp_seq=3D3 ttl=3D128 t= ime=3D 1.306 ms 208 bytes from 16.100.240.1 : icmp_seq=3D4 ttl=3D128 t= ime=3D 1.593 ms 208 bytes from 16.100.240.1 : icmp_seq=3D5 ttl=3D128 t= ime=3D 2.026 ms 208 bytes from 16.100.240.1 : icmp_seq=3D6 ttl=3D128 t= ime=3D 2.314 ms 208 bytes from 16.100.240.1 : icmp_seq=3D7 ttl=3D128 t= ime=3D 2.746 ms 208 bytes from 16.100.240.1 : icmp_seq=3D8 ttl=3D128 t= ime=3D 3.034 ms 208 bytes from 16.100.240.1 : icmp_seq=3D9 ttl=3D128 t= ime=3D 3.468 ms --- 16.100.240.1 ping statistics --- 10 packets transmitted, 8 packets received, 20% packet loss round-trip min/avg/max/stddev =3D 1.025/2.189/3.468/0.806 ms Has anyone else ever seen a problem like this? Any suggestions on where to= =20 poke around for a solution? Thanks, John