From owner-freebsd-net@FreeBSD.ORG  Mon Feb 20 02:59:58 2012
Return-Path: <owner-freebsd-net@FreeBSD.ORG>
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 620AE106566C;
	Mon, 20 Feb 2012 02:59:58 +0000 (UTC)
	(envelope-from julian@freebsd.org)
Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16])
	by mx1.freebsd.org (Postfix) with ESMTP id 117F88FC17;
	Mon, 20 Feb 2012 02:59:57 +0000 (UTC)
Received: from julian-mac.elischer.org (c-67-180-24-15.hsd1.ca.comcast.net
	[67.180.24.15]) (authenticated bits=0)
	by vps1.elischer.org (8.14.4/8.14.4) with ESMTP id q1K2xsO1050766
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Sun, 19 Feb 2012 18:59:56 -0800 (PST)
	(envelope-from julian@freebsd.org)
Message-ID: <4F41B789.7050705@freebsd.org>
Date: Sun, 19 Feb 2012 19:01:29 -0800
From: Julian Elischer <julian@freebsd.org>
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US;
	rv:1.9.2.26) Gecko/20120129 Thunderbird/3.1.18
MIME-Version: 1.0
To: Marcel Moolenaar <marcel@xcllnt.net>
References: <338757D1-6B1E-49CF-983F-5D5851066FD3@xcllnt.net>	<20120217135320.GJ55075@FreeBSD.org>
	<E23BCF0B-1C2F-4767-B2C5-ADAC62AEE7AF@xcllnt.net>
In-Reply-To: <E23BCF0B-1C2F-4767-B2C5-ADAC62AEE7AF@xcllnt.net>
Content-Type: text/plain; charset=KOI8-R; format=flowed
Content-Transfer-Encoding: 7bit
Cc: net@freebsd.org
Subject: Re: Abstracting struct ifnet
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net>
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Feb 2012 02:59:58 -0000

On 2/17/12 7:48 AM, Marcel Moolenaar wrote:
> On Feb 17, 2012, at 5:53 AM, Gleb Smirnoff wrote:
>> M>  Thoughts, feedback and suggestion are welcome,
>>
>> Is it possible to make the structure the driver points to opaque?
>>
>> Once made, that would allow us to hack on the ifnet (or on its
>> successor - iflogical) more aggressively without breaking ABI/API.
> Yes, that's the idea. Backward compatibility kinda conflicts
> with making struct ifnet entirely abstract, but I don't see
> that as a problem without solution. Only as a problem for
> which an acceptable solution must be found.
>
> For example: you can introduce a define that either old or
> new drivers use to indicate whether they need full visibility
> or whether an abstract type works. This then drives what is
> defined/declared and how it's defined/declared.
>
The trouble is that core debugging is not doable via methods

i.e.
    netstat -i | -I interface [-abdhntW] [-f address_family] [-M core]
              [-N system]

becomes much more difficult to achieve.