From owner-svn-src-all@FreeBSD.ORG Wed Aug 7 12:06:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 6C8A7CC5; Wed, 7 Aug 2013 12:06:02 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CA1B6268A; Wed, 7 Aug 2013 12:06:00 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id r77C5wgq065707; Wed, 7 Aug 2013 16:05:58 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id r77C5woB065706; Wed, 7 Aug 2013 16:05:58 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 7 Aug 2013 16:05:58 +0400 From: Gleb Smirnoff To: Bruce Simpson Subject: Re: svn commit: r253841 - head/sys/netinet6 Message-ID: <20130807120558.GF20104@FreeBSD.org> References: <201307311624.r6VGOob5022079@svn.freebsd.org> <20130801142324.GG20104@FreeBSD.org> <97527D06-7783-4441-BA50-702DEE0B9076@FreeBSD.org> <51FA8C73.4070808@FreeBSD.org> <52022217.50709@fastmail.net> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <52022217.50709@fastmail.net> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: src-committers@freebsd.org, "Alexander V. Chernikov" , svn-src-all@freebsd.org, Hiroki Sato , svn-src-head@freebsd.org, Rui Paulo X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Aug 2013 12:06:02 -0000 On Wed, Aug 07, 2013 at 11:31:51AM +0100, Bruce Simpson wrote: B> On 01/08/13 17:55, Rui Paulo wrote: B> > On 1 Aug 2013, at 09:27, Alexander V. Chernikov wrote: B> >> Because thay aren't really interfaces. All they need is BPF. B> >> There is a cleaner approach described here: http://lists.freebsd.org/pipermail/freebsd-net/2012-December/034031.html B> > B> > I don't agree with this patch as-is, but I'll need to spend some time writing an email... To be continued later. B> > B> B> +1 with Rui here. A few comments. B> B> I would like to see a cleaner approach to the networking data plane, but B> this would need to be considered in some depth. One place to start might B> be the "informational" RFC for the Netlink socket API. B> B> Whilst the gap between BPF and ifnet is acknowledged, there is still a B> place for "virtual" interfaces. Lacking other management mechanisms, the B> ifnet (and its name) ends up being used as a convenient handle. B> B> I have code in development which tries to address more general issues of B> IPvX address dependency by using such an interface. Yes, lack of good management mechanism creates a temptation to create a foo(4) interface for any new FOO protocol, with its own if_ioctl method that will provide a clean entry into its management. I suspect that was one of the reasons to implement carp(4) as interface. What do you mean about "virtual" interfaces? An interface must represent a sink where a route entry can point to and incoming packets can come in. With this definition a vlan(4) is a real interface, but pfsync(4), pflog(4), ipfwlog(4) are not. The situation with lack of management mechs should be fixed, and BPF providers should be decoupled from ifnet, and no new not-a-true-interface ifnets should be introduced in FreeBSD. All these not-a-true-interfaces require dozens of special handling around the kernel, an example is a commit we are discussing. -- Totus tuus, Glebius.