From owner-freebsd-net@FreeBSD.ORG Tue Feb 8 18:46:23 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E5CD2106566B; Tue, 8 Feb 2011 18:46:23 +0000 (UTC) (envelope-from sem@FreeBSD.org) Received: from sunner.semmy.ru (sunner.semmy.ru [IPv6:2a00:14d0:0:20::3]) by mx1.freebsd.org (Postfix) with ESMTP id 5AA338FC08; Tue, 8 Feb 2011 18:46:23 +0000 (UTC) Received: from dhcp170-205-red.yandex.net ([95.108.170.205]) by sunner.semmy.ru with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.74 (FreeBSD)) (envelope-from ) id 1PmsZy-0005XU-Gc; Tue, 08 Feb 2011 21:46:22 +0300 Message-ID: <4D518F7E.3020804@FreeBSD.org> Date: Tue, 08 Feb 2011 21:46:22 +0300 From: Sergey Matveychuk User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: Julian Elischer References: <4D4DCD1E.1050906@freebsd.org> <4D4DFC95.9010804@freebsd.org> <4D501198.6090901@FreeBSD.org> <4d516a6a.8937e30a.0996.2f26@mx.google.com> <4D51750A.3070303@FreeBSD.org> <4D517775.6090107@freebsd.org> In-Reply-To: <4D517775.6090107@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: divert rewrite 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: Tue, 08 Feb 2011 18:46:24 -0000 08.02.2011 20:03, Julian Elischer wrote: >> 08.02.2011 19:08, rozhuk.im@gmail.com wrote: >>> Did you try ng_ether + ng_ksocket? >>> It can translate Ethernet frames incapsulated to udp to user space >>> receiver. >> >> The idea is catch packets from firewall (ng_ipfw, ng_nat was mentioned >> by mistake) and pass them to user space module that do some processing >> and puts back the packets into firewall (for rules with `diverted' >> keyword). > > yes, however did you try the ipfw netgraph keyword and the ng_ipfw node? > I have also been wondering it it might not make sense to simpply > replavce the diver code with > a netgraph equivalent.. Using the ng_ipfw node one can almost do it with > no changes as it is. I've tried ng_socket+ng_ipfw. It gets incoming packets, but outgoing packets drops because of a tag having lost after leaving kernel space. It looks like a magic can be done with ng_tag node, but really I could not tame it. > >> >> It works now for IPv4 with `divert' and doesn't with IPv6. > > yes, I'm pondering the right fix for that.. I'm first to test it please :)