Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Feb 2004 22:38:44 +0100
From:      Poul-Henning Kamp <phk@phk.freebsd.dk>
To:        current@freebsd.org
Subject:   Review/Test:  Pseudo-device unit number management patch
Message-ID:  <4310.1076103524@critter.freebsd.dk>

next in thread | raw e-mail | index | archive | help

http://phk.freebsd.dk/patch/pseudo.patch

This patch adds a couple of functions for pseudodrivers to use for
implementing cloning in a manner we will be able to lock down
(shortly).

Basically what happens is that pseudo drivers get a way to ask for
"give me the dev_t with this unit number" or alternatively "give
me a dev_t with the lowest guaranteed free unit number" (there are
a lot of non-POLA in the value of this number, just live with it
for now!)

Managing the unit number space this way removes the need to use
rman(9) and greatly simplifies the code in the drivers because
even using rman(9) they still needed to manage their dev_t's too.

I have taken the if_tun, if_tap and nmdm drivers through the mill,
partly because they (ab)used makedev(), but mostly because together
they represent three different problems for device-cloning:

	if_tun is the plain case: just give me a device.
	if_tap has two kinds of devices, with a flag for device type.
	nmdm has paired devices (a'la pty).

I would appreciate if people would test these devices work _as
previously_ with this patch in place.

If nothing crops up, I plan to commit this patch in two weeks time.

Poul-Henning


-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4310.1076103524>