Date: Tue, 25 Sep 2012 12:07:48 +0330 From: Hooman Fazaeli <hoomanfazaeli@gmail.com> To: "Rudy (bulk)" <crapsh@monkeybrains.net> Cc: freebsd-net <freebsd-net@freebsd.org> Subject: Re: ping: sendto: No buffer space available Message-ID: <50616D5C.705@gmail.com> In-Reply-To: <50615F6F.1070105@monkeybrains.net> References: <5060884C.3050709@monkeybrains.net> <506154C7.3040209@sepehrs.com> <50615F6F.1070105@monkeybrains.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 9/25/2012 11:08 AM, Rudy (bulk) wrote: > On 9/24/12 11:52 PM, Hooman Fazaeli wrote: >> sysctl dev.em.1 > > From the side having the 'No buffer space available' (FreeBSD 8.3 Sep 13 2012) > > # sysctl dev.em.1 > dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 7.3.2 > dev.em.1.%driver: em > dev.em.1.%location: slot=0 function=0 > dev.em.1.%pnpinfo: vendor=0x8086 device=0x10d3 subvendor=0x15d9 subdevice=0x0000 class=0x020000 > dev.em.1.%parent: pci5 > dev.em.1.nvm: -1 > dev.em.1.debug: -1 > dev.em.1.fc: 3 > dev.em.1.rx_int_delay: 0 > dev.em.1.tx_int_delay: 66 > dev.em.1.rx_abs_int_delay: 66 > dev.em.1.tx_abs_int_delay: 66 > dev.em.1.rx_processing_limit: 200 > dev.em.1.eee_control: 0 > dev.em.1.link_irq: 6379725883 > dev.em.1.mbuf_alloc_fail: 0 > dev.em.1.cluster_alloc_fail: 0 > dev.em.1.dropped: 0 > dev.em.1.tx_dma_fail: 0 > dev.em.1.rx_overruns: 0 > dev.em.1.watchdog_timeouts: 0 > dev.em.1.device_control: 1477444168 > dev.em.1.rx_control: 67141634 > dev.em.1.fc_high_water: 18432 > dev.em.1.fc_low_water: 16932 > dev.em.1.queue0.txd_head: 188 > dev.em.1.queue0.txd_tail: 188 > dev.em.1.queue0.tx_irq: 760427663 > dev.em.1.queue0.no_desc_avail: 0 > dev.em.1.queue0.rxd_head: 300 > dev.em.1.queue0.rxd_tail: 297 > dev.em.1.queue0.rx_irq: 838300057 > dev.em.1.mac_stats.excess_coll: 0 > dev.em.1.mac_stats.single_coll: 0 > dev.em.1.mac_stats.multiple_coll: 0 > dev.em.1.mac_stats.late_coll: 0 > dev.em.1.mac_stats.collision_count: 0 > dev.em.1.mac_stats.symbol_errors: 0 > dev.em.1.mac_stats.sequence_errors: 0 > dev.em.1.mac_stats.defer_count: 0 > dev.em.1.mac_stats.missed_packets: 580251107926 > dev.em.1.mac_stats.recv_no_buff: 895 > dev.em.1.mac_stats.recv_undersize: 0 > dev.em.1.mac_stats.recv_fragmented: 0 > dev.em.1.mac_stats.recv_oversize: 0 > dev.em.1.mac_stats.recv_jabber: 0 > dev.em.1.mac_stats.recv_errs: 0 > dev.em.1.mac_stats.crc_errs: 0 > dev.em.1.mac_stats.alignment_errs: 0 > dev.em.1.mac_stats.coll_ext_errs: 0 > dev.em.1.mac_stats.xon_recvd: 809 > dev.em.1.mac_stats.xon_txd: 684 > dev.em.1.mac_stats.xoff_recvd: 580251112172 > dev.em.1.mac_stats.xoff_txd: 580251108668 > dev.em.1.mac_stats.total_pkts_recvd: 582154845658 > dev.em.1.mac_stats.good_pkts_recvd: 1903732156 > dev.em.1.mac_stats.bcast_pkts_recvd: 923 > dev.em.1.mac_stats.mcast_pkts_recvd: 0 > dev.em.1.mac_stats.rx_frames_64: 257128416 > dev.em.1.mac_stats.rx_frames_65_127: 702676478 > dev.em.1.mac_stats.rx_frames_128_255: 225331435 > dev.em.1.mac_stats.rx_frames_256_511: 59888288 > dev.em.1.mac_stats.rx_frames_512_1023: 47777176 > dev.em.1.mac_stats.rx_frames_1024_1522: 610930363 > dev.em.1.mac_stats.good_octets_recvd: 1057190106675 > dev.em.1.mac_stats.good_octets_txd: 1502996801989 > dev.em.1.mac_stats.total_pkts_txd: 582709483882 > dev.em.1.mac_stats.good_pkts_txd: 2458374408 > dev.em.1.mac_stats.bcast_pkts_txd: 73 > dev.em.1.mac_stats.mcast_pkts_txd: 0 > dev.em.1.mac_stats.tx_frames_64: 314613253 > dev.em.1.mac_stats.tx_frames_65_127: 841961719 > dev.em.1.mac_stats.tx_frames_128_255: 268669868 > dev.em.1.mac_stats.tx_frames_256_511: 73341358 > dev.em.1.mac_stats.tx_frames_512_1023: 62765737 > dev.em.1.mac_stats.tx_frames_1024_1522: 897022473 > dev.em.1.mac_stats.tso_txd: 1880 > dev.em.1.mac_stats.tso_ctx_fail: 0 > dev.em.1.interrupts.asserts: 6331439142 > dev.em.1.interrupts.rx_pkt_timer: 0 > dev.em.1.interrupts.rx_abs_timer: 0 > dev.em.1.interrupts.tx_pkt_timer: 0 > dev.em.1.interrupts.tx_abs_timer: 0 > dev.em.1.interrupts.tx_queue_empty: 0 > dev.em.1.interrupts.tx_queue_min_thresh: 0 > dev.em.1.interrupts.rx_desc_min_thresh: 0 > dev.em.1.interrupts.rx_overrun: 74346455 > > > And the the other end of the link (FreeBSD 9.0-STABLE Feb 1 2012) > > # sysctl dev.em.2 > dev.em.2.%desc: Intel(R) PRO/1000 Network Connection 7.2.3 > dev.em.2.%driver: em > dev.em.2.%location: slot=0 function=0 > dev.em.2.%pnpinfo: vendor=0x8086 device=0x10d3 subvendor=0x15d9 subdevice=0x10d3 class=0x020000 > dev.em.2.%parent: pci7 > dev.em.2.nvm: -1 > dev.em.2.debug: -1 > dev.em.2.rx_int_delay: 0 > dev.em.2.tx_int_delay: 66 > dev.em.2.rx_abs_int_delay: 66 > dev.em.2.tx_abs_int_delay: 66 > dev.em.2.rx_processing_limit: 100 > dev.em.2.flow_control: 3 > dev.em.2.eee_control: 0 > dev.em.2.link_irq: 6379294926 > dev.em.2.mbuf_alloc_fail: 0 > dev.em.2.cluster_alloc_fail: 0 > dev.em.2.dropped: 0 > dev.em.2.tx_dma_fail: 0 > dev.em.2.rx_overruns: 0 > dev.em.2.watchdog_timeouts: 0 > dev.em.2.device_control: 1477444168 > dev.em.2.rx_control: 67141634 > dev.em.2.fc_high_water: 18432 > dev.em.2.fc_low_water: 16932 > dev.em.2.queue0.txd_head: 735 > dev.em.2.queue0.txd_tail: 735 > dev.em.2.queue0.tx_irq: 839960061 > dev.em.2.queue0.no_desc_avail: 0 > dev.em.2.queue0.rxd_head: 237 > dev.em.2.queue0.rxd_tail: 236 > dev.em.2.queue0.rx_irq: 762108556 > dev.em.2.mac_stats.excess_coll: 0 > dev.em.2.mac_stats.single_coll: 0 > dev.em.2.mac_stats.multiple_coll: 0 > dev.em.2.mac_stats.late_coll: 0 > dev.em.2.mac_stats.collision_count: 0 > dev.em.2.mac_stats.symbol_errors: 0 > dev.em.2.mac_stats.sequence_errors: 0 > dev.em.2.mac_stats.defer_count: 0 > dev.em.2.mac_stats.missed_packets: 580252415422 > dev.em.2.mac_stats.recv_no_buff: 3211 > dev.em.2.mac_stats.recv_undersize: 0 > dev.em.2.mac_stats.recv_fragmented: 0 > dev.em.2.mac_stats.recv_oversize: 0 > dev.em.2.mac_stats.recv_jabber: 0 > dev.em.2.mac_stats.recv_errs: 0 > dev.em.2.mac_stats.crc_errs: 0 > dev.em.2.mac_stats.alignment_errs: 0 > dev.em.2.mac_stats.coll_ext_errs: 0 > dev.em.2.mac_stats.xon_recvd: 684 > dev.em.2.mac_stats.xon_txd: 811 > dev.em.2.mac_stats.xoff_recvd: 580252412652 > dev.em.2.mac_stats.xoff_txd: 580252416163 > dev.em.2.mac_stats.total_pkts_recvd: 582710830267 > dev.em.2.mac_stats.good_pkts_recvd: 2458413107 > dev.em.2.mac_stats.bcast_pkts_recvd: 162 > dev.em.2.mac_stats.mcast_pkts_recvd: 0 > dev.em.2.mac_stats.rx_frames_64: 314616449 > dev.em.2.mac_stats.rx_frames_65_127: 841966916 > dev.em.2.mac_stats.rx_frames_128_255: 268689241 > dev.em.2.mac_stats.rx_frames_256_511: 73346849 > dev.em.2.mac_stats.rx_frames_512_1023: 62768450 > dev.em.2.mac_stats.rx_frames_1024_1522: 897025202 > dev.em.2.mac_stats.good_octets_recvd: 1503009815756 > dev.em.2.mac_stats.good_octets_txd: 1056695683673 > dev.em.2.mac_stats.total_pkts_txd: 582155360950 > dev.em.2.mac_stats.good_pkts_txd: 1902943976 > dev.em.2.mac_stats.bcast_pkts_txd: 8862 > dev.em.2.mac_stats.mcast_pkts_txd: 5 > dev.em.2.mac_stats.tx_frames_64: 257064868 > dev.em.2.mac_stats.tx_frames_65_127: 702386644 > dev.em.2.mac_stats.tx_frames_128_255: 225240646 > dev.em.2.mac_stats.tx_frames_256_511: 59862797 > dev.em.2.mac_stats.tx_frames_512_1023: 47743269 > dev.em.2.mac_stats.tx_frames_1024_1522: 610645752 > dev.em.2.mac_stats.tso_txd: 12910 > dev.em.2.mac_stats.tso_ctx_fail: 0 > dev.em.2.interrupts.asserts: 6331624353 > dev.em.2.interrupts.rx_pkt_timer: 1 > dev.em.2.interrupts.rx_abs_timer: 0 > dev.em.2.interrupts.tx_pkt_timer: 0 > dev.em.2.interrupts.tx_abs_timer: 0 > dev.em.2.interrupts.tx_queue_empty: 0 > dev.em.2.interrupts.tx_queue_min_thresh: 0 > dev.em.2.interrupts.rx_desc_min_thresh: 0 > dev.em.2.interrupts.rx_overrun: 74250608 > > > I should note that I had the two devices set to mtu of 9000 at first, I got the 'No buffer space available' error a week ago and set both to an mtu of 1500. Then the 'No buffer space available' > came back until the link was reset with an 'ifconfig up/down'. > > > Based on the strangely high value of dev.em.1.link_irq (which means too many link status changes: down -> up -> down -> ....), I guess the problem is the same as discussed in these threads: http://lists.freebsd.org/pipermail/freebsd-net/2011-November/030424.html http://lists.freebsd.org/pipermail/freebsd-net/2012-March/031648.html To confirm, you may run this test: 1. Start a ping flood: ping -f <other-machine-ip> 2. Let it run for a few seconds. 3. Disconnect the cable. 4. After a while, you should see "no buffer space" error. 5. Stop ping flood. 6. Re-connect the cable and wait 10 seconds. 7. Start a normal ping. Error messages should show up again. To fix, upgrade to the latest e1000 driver from HEAD. The very high link_irq may be due to a loose connection. Replace the patch cord and see if it helps.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50616D5C.705>