From owner-freebsd-isdn Sun Jan 12 14:32:27 2003 Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D478E37B401 for ; Sun, 12 Jan 2003 14:32:25 -0800 (PST) Received: from mailout06.sul.t-online.com (mailout06.sul.t-online.com [194.25.134.19]) by mx1.FreeBSD.org (Postfix) with ESMTP id 948E843EB2 for ; Sun, 12 Jan 2003 14:32:19 -0800 (PST) (envelope-from garyj@jennejohn.org) Received: from fwd10.sul.t-online.de by mailout06.sul.t-online.com with smtp id 18XqeP-0001zq-04; Sun, 12 Jan 2003 23:32:17 +0100 Received: from peedub.jennejohn.org (520017439985-0001@[217.235.109.230]) by fmrl10.sul.t-online.com with esmtp id 18XqeM-0FKt7YC; Sun, 12 Jan 2003 23:32:14 +0100 Received: from peedub.jennejohn.org (localhost [127.0.0.1]) by peedub.jennejohn.org (8.12.6/8.11.6) with ESMTP id h0CMWCs5042107; Sun, 12 Jan 2003 23:32:13 +0100 (CET) (envelope-from garyj@peedub.jennejohn.org) Message-Id: <200301122232.h0CMWCs5042107@peedub.jennejohn.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.3 To: G Hasse Cc: freebsd-isdn@FreeBSD.ORG Subject: Re: Problem with "no bufferspace" Reply-To: Gary Jennejohn In-reply-to: Your message of "Sun, 12 Jan 2003 23:18:58 GMT." <20030112230724.P51762-100000@gandalf.raditex.se> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 12 Jan 2003 23:32:12 +0100 From: Gary Jennejohn X-Sender: 520017439985-0001@t-dialin.net Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org G Hasse writes: > If I have one connection to one site the othere sites will be > blocked (offcourse). And there will be a message "no bufferspace > available". This is offcourse correct. > > But after a while when the first connection goes away this > condition will persist, and I cant connect to any other site. > > I have to restart the interface > > ifconfig isp3 delete -link1 down > .. > ifconfig isp3 inet 192.168.63.1 192.168.63.2 netmask 0xffffffff link1 > etc > > And it all works again. > OK, I don't know whether my analysis is correct, but here goes: The kernel limits the number of packets queued for transmission to (normally) 50, see the _IF_QFULL macro. Once that many packets are in a queue there's no way to add more to it. You are apparently running into this limitation, although I don't understand how packets are being sent to non-active interfaces. You must be doing something weird. Since only one connection can be active at a time, and the "full" interfaces have no active connection, there is no way for the kernel to drain the full queues. And because the queues are full, there's no way for the kernel to add more packets to them to establish the connection. It's a real circus vitiosus. ifconfig'ing the interface down throws away all the queued packets, which is why the interface starts working again. Stop sending packets to interfaces which have no active connection. --- Gary Jennejohn / garyj@jennejohn.org gj@freebsd.org gj@denx.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message