From owner-cvs-src@FreeBSD.ORG Tue Oct 19 21:28:23 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C16B16A4CE; Tue, 19 Oct 2004 21:28:23 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA0A843D45; Tue, 19 Oct 2004 21:28:22 +0000 (GMT) (envelope-from julian@elischer.org) Received: from elischer.org (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id CEE3F7A43E; Tue, 19 Oct 2004 14:28:22 -0700 (PDT) Message-ID: <417586F6.6070003@elischer.org> Date: Tue, 19 Oct 2004 14:28:22 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030516 X-Accept-Language: en, hu MIME-Version: 1.0 To: Andre Oppermann References: <200410192114.i9JLEvjQ001574@repoman.freebsd.org> In-Reply-To: <200410192114.i9JLEvjQ001574@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/modules/ipdivert Makefile src/sys/netinet in_proto.c ip_divert.c ip_divert.h ip_fw2.c ip_fw_pfil.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 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: Tue, 19 Oct 2004 21:28:23 -0000 Andre Oppermann wrote: >andre 2004-10-19 21:14:57 UTC > > FreeBSD src repository > > Modified files: > sys/netinet in_proto.c ip_divert.c ip_divert.h > ip_fw2.c ip_fw_pfil.c > Added files: > sys/modules/ipdivert Makefile > Log: > Convert IPDIVERT into a loadable module. This makes use of the dynamic loadability > of protocols. The call to divert_packet() is done through a function pointer. All > semantics of IPDIVERT remain intact. If IPDIVERT is not loaded ipfw will refuse to > install divert rules and natd will complain about 'protocol not supported'. Once > it is loaded both will work and accept rules and open the divert socket. The module > can only be unloaded if no divert sockets are open. It does not close any divert > sockets when an unload is requested but will return EBUSY instead. > Can you unload it if there are divert rules? If yes, what happens if a packet is then diverted..? > > Revision Changes Path > 1.1 +8 -0 src/sys/modules/ipdivert/Makefile (new) > 1.75 +0 -13 src/sys/netinet/in_proto.c > 1.101 +67 -8 src/sys/netinet/ip_divert.c > 1.4 +10 -4 src/sys/netinet/ip_divert.h > 1.82 +2 -4 src/sys/netinet/ip_fw2.c > 1.11 +13 -8 src/sys/netinet/ip_fw_pfil.c > >