Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 May 2002 23:33:29 -0500
From:      "Maildrop" <maildrop@qwest.net>
To:        freebsd-stable@freebsd.org
Subject:   FW: Buffers fill on network card causing it to hang
Message-ID:  <NGBBIILBAKIFGHHCHOHPCEOLCPAA.maildrop@qwest.net>

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


> -----Original Message-----
> From: Budec [mailto:budec@qwest.net]
> Sent: Tuesday, May 14, 2002 1: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<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
>   AMD Features=0x400<<b10>>
> real memory  = 184549376 (180224K bytes)
> avail memory = 176369664 (172236K bytes)
> Preloaded elf kernel "kernel" at 0xc02cb000.
> md0: Malloc disk
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> pcib0: <Host to PCI bridge> on motherboard
> pci0: <PCI bus> on pcib0
> isab0: <AcerLabs M1533 portable PCI-ISA bridge> at device 2.0 on pci0
> isa0: <ISA bus> on isab0
> pci0: <ATI Mach64-GP graphics accelerator> at 3.0 irq 0
> fxp0: <Intel Pro 10/100B/100+ Ethernet> 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: <i82555 10/100 media interface> on miibus0
> inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> dc0: <ADMtek AN985 10/100BaseTX> port 0xea00-0xeaff mem 
> 0xffafec00-0xffafefff irq 11 at device 7.0 on pci0
> dc0: Ethernet address: 00:03:6d:1a:5a:31
> miibus1: <MII bus> on dc0
> ukphy0: <Generic IEEE 802.3u media interface> on miibus1
> ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> atapci0: <AcerLabs Aladdin ATA33 controller> 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: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
> kbd0 at atkbd0
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A
> sio1 at port 0x2f8-0x2ff irq 3 on isa0
> sio1: type 16550A
> ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
> ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
> ppc0: FIFO with 16/16/1 bytes threshold
> lpt0: <Printer> on ppbus0
> lpt0: Interrupt-driven port
> IP packet filtering initialized, divert enabled, rule-based 
> forwarding disabled, default to deny, logging disabled
> ad0: 4112MB <SAMSUNG SV0432A> [8912/15/63] at ata0-master UDMA33
> ad2: 95396MB <WDC WD1000BB-00CAA0> [193821/16/63] at ata1-master UDMA33
> ad3: 78167MB <Maxtor 98196H8> [158816/16/63] at ata1-slave UDMA33
> acd0: CDROM <ATAPI 48X CDROM> at ata0-slave using PIO4
> Mounting root from ufs:/dev/ad0s1a
> ad0s1a: UDMA ICRC error reading fsbn 5167935 of 2583936-2584063 
> (ad0s1 bn 5167935; cn 321 tn 175 sn 45) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5168799 of 2584368-2584447 
> (ad0s1 bn 5168799; cn 321 tn 189 sn 27) retrying
> ad0s1a: UDMA ICRC error reading fsbn 7335423 of 3667680-3667807 
> (ad0s1 bn 7335423; cn 456 tn 155 sn 18) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5196543 of 2598240-2598335 
> (ad0s1 bn 5196543; cn 323 tn 119 sn 51) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5196543 of 2598240-2598335 
> (ad0s1 bn 5196543; cn 323 tn 119 sn 51) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5162799 of 2581368-2581463 
> (ad0s1 bn 5162799; cn 321 tn 94 sn 12) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5162799 of 2581368-2581463 
> (ad0s1 bn 5162799; cn 321 tn 94 sn 12) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5162799 of 2581368-2581463 
> (ad0s1 bn 5162799; cn 321 tn 94 sn 12) retrying
> ad0s1a: UDMA ICRC error reading fsbn 5162799 of 2581368-2581463 
> (ad0s1 bn 5162799; cn 321 tn 94 sn 12) falling back to PIO mode
> 
> bud@hydra:/home/bud/doc/fxp/ --> ifconfig -a
> fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         inet 192.168.17.1 netmask 0xffffff00 broadcast 192.168.17.255
>         ether 00:03:47:40:2c:93 
>         media: Ethernet autoselect (100baseTX <full-duplex>)
>         status: active
> dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         inet 69.231.238.225 netmask 0xfffffff8 broadcast 69.231.238.231
>         inet 69.231.238.226 netmask 0xffffffff broadcast 69.231.238.226
>         inet 69.231.238.227 netmask 0xffffffff broadcast 69.231.238.227
>         inet 69.231.238.228 netmask 0xffffffff broadcast 69.231.238.228
>         inet 69.231.238.229 netmask 0xffffffff broadcast 69.231.238.229
>         ether 00:03:6d:1a:5a:31 
>         media: Ethernet autoselect (100baseTX <full-duplex>)
>         status: active
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
>         inet 127.0.0.1 netmask 0xff000000 
> ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
> 
> bud@hydra:/home/bud/doc/fxp/ --> netstat -s
> tcp:
>         47995 packets sent
>                 45922 data packets (55502836 bytes)
>                 24 data packets (29496 bytes) retransmitted
>                 0 resends initiated by MTU discovery
>                 2027 ack-only packets (1959 delayed)
>                 0 URG only packets
>                 0 window probe packets
>                 9 window update packets
>                 13 control packets
>         25112 packets received
>                 18796 acks (for 55498017 bytes)
>                 14 duplicate acks
>                 0 acks for unsent data
>                 10242 packets (1758833 bytes) received in-sequence
>                 5 completely duplicate packets (195 bytes)
>                 0 old duplicate packets
>                 0 packets with some dup. data (0 bytes duped)
>                 0 out-of-order packets (0 bytes)
>                 0 packets (0 bytes) of data after window
>                 0 window probes
>                 13 window update packets
>                 0 packets received after close
>                 0 discarded for bad checksums
>                 0 discarded for bad header offset fields
>                 0 discarded because packet too short
>         4 connection requests
>         11 connection accepts
>         0 bad connection attempts
>         0 listen queue overflows
>         14 connections established (including accepts)
>         14 connections closed (including 2 drops)
>                 6 connections updated cached RTT on close
>                 6 connections updated cached RTT variance on close
>                 2 connections updated cached ssthresh on close
>         1 embryonic connection dropped
>         13409 segments updated rtt (of 13410 attempts)
>         23 retransmit timeouts
>                 0 connections dropped by rexmit timeout
>         0 persist timeouts
>                 0 connections dropped by persist timeout
>         0 keepalive timeouts
>                 0 keepalive probes sent
>                 0 connections dropped by keepalive
>         13713 correct ACK header predictions
>         6238 correct data packet header predictions
>         11 syncache entries added
>                 0 retransmitted
>                 0 dupsyn
>                 0 dropped
>                 11 completed
>                 0 bucket overflow
>                 0 cache overflow
>                 0 reset
>                 0 stale
>                 0 aborted
>                 0 badack
>                 0 unreach
>                 0 zone failures
>         0 cookies sent
>         0 cookies received
> udp:
>         360 datagrams received
>         0 with incomplete header
>         0 with bad data length field
>         0 with bad checksum
>         0 with no checksum
>         4 dropped due to no socket
>         0 broadcast/multicast datagrams dropped due to no socket
>         0 dropped due to full socket buffers
>         0 not for hashed pcb
>         356 delivered
>         181 datagrams output
> ip:
>         35691 total packets received
>         0 bad header checksums
>         0 with size smaller than minimum
>         0 with data size < data length
>         0 with ip length > max ip packet size
>         0 with header length < data size
>         0 with data length < header length
>         0 with bad options
>         0 with incorrect version number
>         0 fragments received
>         0 fragments dropped (dup or out of space)
>         0 fragments dropped after timeout
>         0 packets reassembled ok
>         29354 packets for this host
>         0 packets for unknown/unsupported protocol
>         6337 packets forwarded (0 packets fast forwarded)
>         0 packets not forwardable
>         0 packets received for unknown multicast group
>         0 redirects sent
>         48181 packets sent from this host
>         3269 packets sent with fabricated ip header
>         0 output packets dropped due to no bufs, etc.
>         0 output packets discarded due to no route
>         0 output datagrams fragmented
>         0 fragments created
>         0 datagrams that can't be fragmented
>         0 tunneling packets that can't find gif
>         0 datagrams with bad address in header
> icmp:
>         4 calls to icmp_error
>         0 errors not generated 'cuz old message was icmp
>         Output histogram:
>                 destination unreachable: 4
>         0 messages with bad code fields
>         0 messages < minimum length
>         0 bad checksums
>         0 messages with bad length
>         0 multicast echo requests ignored
>         0 multicast timestamp requests ignored
>         Input histogram:
>                 destination unreachable: 4
>         0 message responses generated
>         0 invalid return addresses
>         0 no return routes
>         ICMP address mask responses are disabled
> igmp:
>         0 messages received
>         0 messages received with too few bytes
>         0 messages received with bad checksum
>         0 membership queries received
>         0 membership queries received with invalid field(s)
>         0 membership reports received
>         0 membership reports received with invalid field(s)
>         0 membership reports received for groups to which we belong
>         0 membership reports sent
> 
> bud@hydra:/home/bud/doc/fxp/ --> netstat -m
> 142/592/131072 mbufs in use (current/peak/max):
>         130 mbufs allocated to data
>         12 mbufs allocated to packet headers
> 128/250/32768 mbuf clusters in use (current/peak/max)
> 648 Kbytes allocated to network (0% of mb_map in use)
> 0 requests for memory denied
> 0 requests for memory delayed
> 0 calls to protocol drain routines
> 
> bud@hydra:/home/bud/doc/fxp/ --> netstat -i
> Name  Mtu   Network       Address            Ipkts Ierrs    Opkts 
> Oerrs  Coll
> fxp0  1500  <Link#1>    00:03:47:40:2c:93    24000     0    47338 
>     0     0
> fxp0  1500  192.168.17    hydra              19667     -    43975 
>     -     -
> dc0   1500  <Link#2>    00:03:6d:1a:5a:31     3883     0     3279 
>     0     0
> dc0   1500  69.231.238.22 63.231.238.225       406     -     3270 
>     -     -
> dc0   1500  69.231.238.22 63.231.238.226         0     -        0 
>     -     -
> dc0   1500  69.231.238.22 63.231.238.227         0     -        0 
>     -     -
> dc0   1500  69.231.238.22 63.231.238.228         0     -        0 
>     -     -
> dc0   1500  69.231.238.22 63.231.238.229      1489     -        0 
>     -     -
> lo0   16384 <Link#3>                          5663     0     5663 
>     0     0
> lo0   16384 your-net      localhost           5607     -     5607 
>     -     -
> ppp0* 1500  <Link#4>                             0     0        0 
>     0     0
> 
> 
> 
> 

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?NGBBIILBAKIFGHHCHOHPCEOLCPAA.maildrop>