From owner-freebsd-stable Wed May 15 10:28:31 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mail.trigger.net (ns.trigger.net [204.50.18.5]) by hub.freebsd.org (Postfix) with ESMTP id 32F5B37B406 for ; Wed, 15 May 2002 10:28:05 -0700 (PDT) Received: from mike (wettoast.org [204.50.18.204]) by mail.trigger.net (Postfix) with SMTP id E02B83091F; Wed, 15 May 2002 13:27:45 -0400 (EDT) From: "Mike Jakubik" To: "Budec" , Subject: RE: Buffers fill on network card causing it to hang Date: Wed, 15 May 2002 13:27:46 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 In-Reply-To: Importance: Normal Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Do yourself a favour and get a 3com card (3c905C will do). I have had a few machines with the fxp card, on board and off. Some work perfectly, some dont. I have yet to find a definitavie solution to this problem. I find the above 3com card to be the most reliable so far. -----Original Message----- From: owner-freebsd-stable@FreeBSD.ORG [mailto:owner-freebsd-stable@FreeBSD.ORG]On Behalf Of Budec Sent: Tuesday, May 14, 2002 2:48 AM To: freebsd-stable@freebsd.org Subject: Buffers fill on network card causing it to hang I am having an issuse with FreeBSD 4.5 Stable. I just sync my source and make a new kernel and world, using the generic kernel, but added support for ipfw. The setup is a single x86 (AMD K6-2 300Mhz, 180 megs ram, IDE, Intel Pro 100+ Ethernet, Generic Linksys ethernet). The machine is being used as a firewall/file server amoung other things. The issuse that I am having is that the fxp0 interface (intel nic) which hosts the internal network "over flows it buffers". After a large amount of network traffic the nic will hang and I have to go though the other interface (or console!) and manually take it down/up (ie: ifconfig down; ifconfig up) to get it work again, or reboot the entire system. When it is in this hung state and I try and ping (the internal network), I get the error message: PING jenny (192.168.17.20): 56 data bytes ping: sendto: No buffer space available ping: sendto: No buffer space available This was in a high stress network, but had to remove it (and take it home!) to try and get it working... Sadly FreeBSD has become a "banned" OS in that envoirment due to this issuse (they think it is to "unsupported and unstable" to be in a production envoirment, I still like it anyways!). Currently it is being used as my personal firewall/fileserver at home and has another clean install of 4.5 release synced to 4.5 stable. I have gotten a couple suggests from the questions@freebsd.org, but no real answer on why this keeps happening. I also seen posts of this though google searches, but have yet to find if it is a configuration issuse, hardware issuse or Bug. I can rule out hardware as I tried another 4 other nics that have been working in other boxes. So either config issuse or bug. I am willing to test differant configurations on this, but have tried everything I could think of and eveyrthing that has been suggested. Or can anyone confirm that this is infact a bug? I tried setting keep alive to both '0' and '1', both had no effect. NMBCLUSTERS has been increased to varies levels 32768 which should be more than enough. This had no effect. Any ideas? I will try anything. Is there any info that would be helpful in debuging this? Below is included random bits of informs, everything appears to be fine by my eyes: (also is there anyway to look at the buffers that the ping command is referencing? I thought it was `netstat -m`, but that says it is using 0% of the buffer when I am having this problem). bud@hydra:/home/bud/doc/fxp/ --> sysctl -a | grep tcp tcpcb: 544, 32768, 15, 15, 28 net.inet.tcp.rfc1323: 1 net.inet.tcp.rfc1644: 0 net.inet.tcp.mssdflt: 512 net.inet.tcp.keepidle: 7200000 net.inet.tcp.keepintvl: 75000 net.inet.tcp.sendspace: 32768 net.inet.tcp.recvspace: 65536 net.inet.tcp.keepinit: 75000 net.inet.tcp.delacktime: 100 net.inet.tcp.log_in_vain: 0 net.inet.tcp.blackhole: 0 net.inet.tcp.delayed_ack: 1 net.inet.tcp.drop_synfin: 0 net.inet.tcp.path_mtu_discovery: 1 net.inet.tcp.slowstart_flightsize: 1 net.inet.tcp.local_slowstart_flightsize: 4 net.inet.tcp.newreno: 1 net.inet.tcp.tcbhashsize: 512 net.inet.tcp.do_tcpdrain: 1 net.inet.tcp.pcbcount: 15 net.inet.tcp.icmp_may_rst: 1 net.inet.tcp.strict_rfc1948: 0 net.inet.tcp.isn_reseed_interval: 0 net.inet.tcp.syncookies: 1 net.inet.tcp.syncache.bucketlimit: 30 net.inet.tcp.syncache.cachelimit: 15359 net.inet.tcp.syncache.count: 0 net.inet.tcp.syncache.hashsize: 512 net.inet.tcp.syncache.rexmtlimit: 3 net.inet.tcp.msl: 30000 net.inet.tcp.always_keepalive: 0 bud@hydra:/home/bud/doc/fxp/ --> sysctl -a | grep net net.local.stream.sendspace: 8192 net.local.stream.recvspace: 8192 net.local.dgram.maxdgram: 2048 net.local.dgram.recvspace: 4096 net.local.inflight: 0 net.inet.ip.portrange.lowfirst: 1023 net.inet.ip.portrange.lowlast: 600 net.inet.ip.portrange.first: 1024 net.inet.ip.portrange.last: 5000 net.inet.ip.portrange.hifirst: 49152 net.inet.ip.portrange.hilast: 65535 net.inet.ip.forwarding: 1 net.inet.ip.redirect: 1 net.inet.ip.ttl: 64 net.inet.ip.rtexpire: 3600 net.inet.ip.rtminexpire: 10 net.inet.ip.rtmaxcache: 128 net.inet.ip.sourceroute: 0 net.inet.ip.intr_queue_maxlen: 50 net.inet.ip.intr_queue_drops: 0 net.inet.ip.accept_sourceroute: 0 net.inet.ip.fastforwarding: 0 net.inet.ip.keepfaith: 0 net.inet.ip.subnets_are_local: 0 net.inet.ip.fw.enable: 1 net.inet.ip.fw.one_pass: 1 net.inet.ip.fw.debug: 1 net.inet.ip.fw.verbose: 1 net.inet.ip.fw.verbose_limit: 0 net.inet.ip.fw.dyn_buckets: 256 net.inet.ip.fw.curr_dyn_buckets: 256 net.inet.ip.fw.dyn_count: 0 net.inet.ip.fw.dyn_max: 1000 net.inet.ip.fw.static_count: 6 net.inet.ip.fw.dyn_ack_lifetime: 300 net.inet.ip.fw.dyn_syn_lifetime: 20 net.inet.ip.fw.dyn_fin_lifetime: 1 net.inet.ip.fw.dyn_rst_lifetime: 1 net.inet.ip.fw.dyn_udp_lifetime: 10 net.inet.ip.fw.dyn_short_lifetime: 5 net.inet.ip.fw.dyn_grace_time: 10 net.inet.ip.maxfragpackets: 8192 net.inet.ip.check_interface: 0 net.inet.icmp.maskrepl: 0 net.inet.icmp.icmplim: 200 net.inet.icmp.drop_redirect: 0 net.inet.icmp.log_redirect: 0 net.inet.icmp.bmcastecho: 0 net.inet.tcp.rfc1323: 1 net.inet.tcp.rfc1644: 0 net.inet.tcp.mssdflt: 512 net.inet.tcp.keepidle: 7200000 net.inet.tcp.keepintvl: 75000 net.inet.tcp.sendspace: 32768 net.inet.tcp.recvspace: 65536 net.inet.tcp.keepinit: 75000 net.inet.tcp.delacktime: 100 net.inet.tcp.log_in_vain: 0 net.inet.tcp.blackhole: 0 net.inet.tcp.delayed_ack: 1 net.inet.tcp.drop_synfin: 0 net.inet.tcp.path_mtu_discovery: 1 net.inet.tcp.slowstart_flightsize: 1 net.inet.tcp.local_slowstart_flightsize: 4 net.inet.tcp.newreno: 1 net.inet.tcp.tcbhashsize: 512 net.inet.tcp.do_tcpdrain: 1 net.inet.tcp.pcbcount: 15 net.inet.tcp.icmp_may_rst: 1 net.inet.tcp.strict_rfc1948: 0 net.inet.tcp.isn_reseed_interval: 0 net.inet.tcp.syncookies: 1 net.inet.tcp.syncache.bucketlimit: 30 net.inet.tcp.syncache.cachelimit: 15359 net.inet.tcp.syncache.count: 0 net.inet.tcp.syncache.hashsize: 512 net.inet.tcp.syncache.rexmtlimit: 3 net.inet.tcp.msl: 30000 net.inet.tcp.always_keepalive: 0 net.inet.udp.checksum: 1 net.inet.udp.maxdgram: 9216 net.inet.udp.recvspace: 41600 net.inet.udp.log_in_vain: 0 net.inet.udp.blackhole: 0 net.inet.accf.unloadable: 0 net.inet.raw.maxdgram: 8192 net.inet.raw.recvspace: 8192 net.link.generic.system.ifcount: 4 net.link.ether.inet.prune_intvl: 300 net.link.ether.inet.max_age: 1200 net.link.ether.inet.host_down_time: 20 net.link.ether.inet.maxtries: 5 net.link.ether.inet.useloopback: 1 net.link.ether.inet.proxyall: 0 net.link.ether.inet.log_arp_wrong_iface: 1 bud@hydra:/home/bud/bin/ --> dmesg Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.5-RELEASE-p4 #0: Mon May 13 14:22:48 CDT 2002 bud@hydra:/u2/src/sys/compile/HYDRA2 Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 299941774 Hz CPU: AMD-K6tm w/ multimedia extensions (299.94-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x570 Stepping = 0 Features=0x8001bf AMD Features=0x400<> real memory = 184549376 (180224K bytes) avail memory = 176369664 (172236K bytes) Preloaded elf kernel "kernel" at 0xc02cb000. md0: Malloc disk npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 isab0: at device 2.0 on pci0 isa0: on isab0 pci0: at 3.0 irq 0 fxp0: port 0xec00-0xec3f mem 0xff900000-0xff9fffff,0xffafd000-0xffafdfff irq 9 at device 5.0 on pci0 fxp0: Ethernet address 00:03:47:40:2c:93 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc0: port 0xea00-0xeaff mem 0xffafec00-0xffafefff irq 11 at device 7.0 on pci0 dc0: Ethernet address: 00:03:6d:1a:5a:31 miibus1: on dc0 ukphy0: on miibus1 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto atapci0: port 0xffa0-0xffaf irq 0 at device 11.0 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 orm0: