5.4 weird transmit problem
jmc
jcagle at gmail.com
Thu May 12 09:43:22 PDT 2005
I've got 5.4 amd64 installed on an Opteron server and I cannot get it to
reliably transmit packets larger than 80 bytes using the bge driver (on a
BCM5703 NIC). It receives large packets without any problem, but it just
won't transmit them. (I can tcpdump all day long without a problem - big and
small packets.)
For example, I can "ping -s 38 <ip>" and it works fine. But if I try "ping
-s 39 <ip>" (or any size larger than 38) it does not work. A 38 byte ping
creates an 80 byte Ethernet packet.
Here's the bge0 info from dmesg:
bge0: <Broadcom BCM5703X Gigabit Ethernet, ASIC rev. 0x1100> mem
0xf7ef0000-0xf7
efffff irq 24 at device 1.0 on pci3
bge0: Reserved 0x10000 bytes for rid 0x10 type 3 at 0xf7ef0000
miibus0: <MII bus> on bge0
brgphy0: <BCM5703 10/100/1000baseTX PHY> on miibus0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,
1000baseTX
-FDX, auto
bge0: bpf attached
bge0: Ethernet address: 00:11:85:fd:8f:f9
bge0: [MPSAFE]
Here's ifconfig for bge0:
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet 16.100.240.165 <http://16.100.240.165> netmask 0xfffffc00 broadcast
16.100.243.255 <http://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 <full-duplex>)
status: active
Much to my dismay, I've found that if I use the -l option (preload) for
ping, I get some large packets through:
ninox# ping -l10 -c10 -s200 16.100.240.1 <http://16.100.240.1>
PING 16.100.240.1 <http://16.100.240.1> (16.100.240.1 <http://16.100.240.1>):
200 data bytes
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=2 ttl=128 time=
1.025 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=3 ttl=128 time=
1.306 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=4 ttl=128 time=
1.593 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=5 ttl=128 time=
2.026 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=6 ttl=128 time=
2.314 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=7 ttl=128 time=
2.746 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=8 ttl=128 time=
3.034 ms
208 bytes from 16.100.240.1 <http://16.100.240.1>: icmp_seq=9 ttl=128 time=
3.468 ms
--- 16.100.240.1 <http://16.100.240.1> ping statistics ---
10 packets transmitted, 8 packets received, 20% packet loss
round-trip min/avg/max/stddev = 1.025/2.189/3.468/0.806 ms
Has anyone else ever seen a problem like this? Any suggestions on where to
poke around for a solution?
Thanks,
John
More information about the freebsd-stable
mailing list