sys/ tree re-structuring proposal

Matthew Dillon dillon at apollo.backplane.com
Mon Aug 4 00:20:22 PDT 2003


:> sys/modules/
:> 	|
:> 	|- net/      - Network related eg. ethernet drivers, netgraph...
:> 	|- security/ - Things like IPFilter, IPFW and CRYPTO go here...
:> 	|- dev/      - Device Tree (sub-divided by buses)
:> 	|   |
:> 	|   |- pci/	  PCI and related driver build files
:> 	|   |- isa/	  ISA and related build files
:> 	|   |- usb/	  USB and related build files
:> 	|   |- firewire/  IEEE-1394 and related build files
:> 	|   |- etc...
:> 	|
:> 	|- vfs/      - File systems.
:> 	|- exec/     - Emulation and related framework build files
:> 	|- contrib/  - Contributed modules, eg. gnufp, ext2fs, etc.
:> 	|- misc/     - Uncategorized driver build files
:> 
:
:This was discussed for FreeBSD too, though I'm not sure if it ever hit
:the lists. Some of the problems that popped up were USB NICs (for
:instance). Do they belong under net or dev/usb?
:
:There were quite a few examples like that, and perhaps other pitfalls -
:I wasn't able to stick around until the discussion had settled.
:
:-- 
:Munish Chopra

    net is a special case because there are so blasted many NIC drivers.
    I would have a tendancy to create a bus hierarchy under net/ as well as
    under dev/, so:

    net {
	pci
	isa
	usb
	firewire
	etc...
    }
    dev {	/* non-NIC device drivers */
	pci
	isa
	usb
	firewire
	etc...
    }

    Another reason for keeping net/ separated out is that a lot of the NIC
    drivers could potentially share a mini-library's worth of code, like
    the miibus stuff for example, which could go in net/common or something
    like that.

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>






More information about the Kernel mailing list