From owner-cvs-src@FreeBSD.ORG Mon Mar 24 22:55:24 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 39722106564A; Mon, 24 Mar 2008 22:55:24 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1C59E8FC18; Mon, 24 Mar 2008 22:55:24 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2OMtNm0087644; Mon, 24 Mar 2008 22:55:23 GMT (envelope-from mav@repoman.freebsd.org) Received: (from mav@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2OMtNRm087643; Mon, 24 Mar 2008 22:55:23 GMT (envelope-from mav) Message-Id: <200803242255.m2OMtNRm087643@repoman.freebsd.org> From: Alexander Motin Date: Mon, 24 Mar 2008 22:55:23 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/netgraph ng_pptpgre.c ng_pptpgre.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Mar 2008 22:55:24 -0000 mav 2008-03-24 22:55:22 UTC FreeBSD src repository Modified files: sys/netgraph ng_pptpgre.c ng_pptpgre.h Log: Rewrite node to support multiple hooks, alike to ng_l2tp, to use one pair of pptpgre and ksocket nodes for all calls between two peers. This patch modifies node's API by adding new "session_%04x" hook names support, while keeping backward compatibility. Together with appropriate user-level support (by latest mpd5) it gives huge performance benefits for case of multiple active calls between two peers because of avoiding data duplication and extra socket processing. On my benchmarks I have got more then 10 times speedup for the 200 simultaneous PPTP calls between two peers. In conclusion, it allows now to build effective "clients <=> PAC <=> PNS" setups. Revision Changes Path 1.41 +279 -240 src/sys/netgraph/ng_pptpgre.c 1.10 +4 -0 src/sys/netgraph/ng_pptpgre.h