Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Feb 2012 19:06:27 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Julian Elischer <julian@freebsd.org>
Cc:        net@freebsd.org, Marcel Moolenaar <marcel@xcllnt.net>
Subject:   Re: Abstracting struct ifnet
Message-ID:  <CAJ-Vmo==Xa_w%2BOMQSZ8p39QJMnRXVXn8phFN8JW=HzroL0G-ag@mail.gmail.com>
In-Reply-To: <4F41B789.7050705@freebsd.org>
References:  <338757D1-6B1E-49CF-983F-5D5851066FD3@xcllnt.net> <20120217135320.GJ55075@FreeBSD.org> <E23BCF0B-1C2F-4767-B2C5-ADAC62AEE7AF@xcllnt.net> <4F41B789.7050705@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2012/2/19 Julian Elischer <julian@freebsd.org>:

>> 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.
> =A0 netstat -i | -I interface [-abdhntW] [-f address_family] [-M core]
> =A0 =A0 =A0 =A0 =A0 =A0 [-N system]
>
> becomes much more difficult to achieve.

Why? For the default kernel they'd just evaluate to whatever they are
right now. There's room for doing extra debugging and logging in the
accessor methods, but the accessor methods are still accessing the
same underlying structures.

You could still inspect the direct data and keep those structures the
"FreeBSD Kernel ABI" so tools like netstat can still directly fondle
them. This is just for portability and modularity. If a vendor like
Juniper wants to override that stuff, let's let them? :)


Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo==Xa_w%2BOMQSZ8p39QJMnRXVXn8phFN8JW=HzroL0G-ag>