From owner-freebsd-net@FreeBSD.ORG Fri Mar 21 23:15:55 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2EDFA1065671 for ; Fri, 21 Mar 2008 23:15:55 +0000 (UTC) (envelope-from ermal.luci@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.246]) by mx1.freebsd.org (Postfix) with ESMTP id C68E08FC20 for ; Fri, 21 Mar 2008 23:15:54 +0000 (UTC) (envelope-from ermal.luci@gmail.com) Received: by an-out-0708.google.com with SMTP id c14so560228anc.13 for ; Fri, 21 Mar 2008 16:15:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=/5jWkyZreYZgp1pWs/AQCj0DAcHqdFzpHP3zrMBiqdg=; b=fJn0gvEmlBBnteMT1Dc91SPFfG/Ns+WkjG9a/XwqYsA51JOn0gdMKxMCpqx5gotOLs/KNZLQeWFyBUCXtFQCs9PYfZPRZbBWrKVI0o1vHcHl25E8O6kuRjzC8BY5u5HJtGnd60zx+fQia0+NGEH1ZbMw/wrscm0UCWZLa7D7IxM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=qXWVKz1ebmmMHL8JTPZZ/QCpJvZzZJ1y2gxpMW0Fk2YGYhO+vbYxF+13M1B66A503P3hgzwwih1jm5Xz2ZFdI0/3W5YK2g8+ctS2L3PqyVTwfOe6D68lBJ0+fuOhEAu+13VEd56itqyeK4p0CUtnxvTrbjJYspg3uMOJM6Cmq9c= Received: by 10.100.152.11 with SMTP id z11mr9622094and.17.1206139821307; Fri, 21 Mar 2008 15:50:21 -0700 (PDT) Received: by 10.100.240.5 with HTTP; Fri, 21 Mar 2008 15:50:21 -0700 (PDT) Message-ID: <9a542da30803211550s2ae854f7p23405b64f0c43f9c@mail.gmail.com> Date: Fri, 21 Mar 2008 23:50:21 +0100 From: "=?ISO-8859-1?Q?Ermal_Lu=E7i?=" To: "Brett Glass" In-Reply-To: <200803211547.JAA28265@lariat.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200803211547.JAA28265@lariat.net> Cc: net@freebsd.org Subject: Re: GRE Mux X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Mar 2008 23:15:55 -0000 On Fri, Mar 21, 2008 at 4:47 PM, Brett Glass wrote: > Everyone: > > I have recently been building FreeBSD VPN servers which can accept > 50 to 100 PPTP connections. PPTP is, essentially, PPP over GRE > (with a TCP control connection), so we have large numbers of > packets passing in and out using GRE. Unfortunately, GRE on FreeBSD > doesn't currently have a multiplexing function as does TCP. If > userland PPP and pptpd are used to handle the PPTP sessions, each > GRE packet is passed to the first pptpd process. If the call ID > doesn't match, it's passed to the next, and then the next, and so > on. What's more, each test requires a "bounce" into and out of the > kernel. mpd, which uses netgraph, does more of the work within the > kernel, but the testing still takes place in linear time -- and the > potential delay increases with the number of PPTP sessions that > have been established. The packet is bounced from one netgraph node > to another until one of them accepts it or the packet falls off the > end of the chain. > > It seems to me that it might be worth it to implement a > multiplexing function that dispatches the packet directly to the > right process or netgraph node rather than passing it from hand to > hand. Thoughts? > ng_gif_demux does the same it shouldn't be to hard to come with something similar for pptp. If you find the time and do it please share. > --Brett Glass > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >