I'm working on a project that will be using a whole lot of gif(4) devices.
Since I'd written an almost-clone patch for snp and gif's current lack of
cloning annoyed me, I figured I'd take a look at writing a patch for it.
Unfortunately, it appears to be rather more complicated then I had hoped.

With network devices that are also normal devices the way tun is,
you do this by just implementing a dev_clone event handler so when the
user attempts to open a non-existent instance it's created.  The problem
with gif is that there's no device in /dev to open.  Since most network
devices at attached to hardware this usually doesn't matter, but in this
case it does.

In Solaris the ip.tunX devices have the same problem, but they have
a solution of sorts.  With them you simply call "ifconfig ip.tun0
plumb" to create ip.tun0.  Is this the sort of solution we'd like to
use in FreeBSD?  Do we instead want to make the network interface name
space work like the devfs name space so "ifconfig gif<new> blah" works?
How would this work anyway?

Comments, thoughts, ideas?

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

PGP signature

Reply via email to