Bill Paul's network drivers

Giorgos Keramidas keramida at
Fri Jul 19 15:56:23 UTC 2013

On Wed, 17 Jul 2013 13:28:39 -0300, Michel Behr <michelbehr at> wrote:
> Hi
> I'm considering learning how to build drivers, so I can make my Lenovo S400
> wireless card get detected by FreeBSD.
> The Architecture Handbook cites these "Bill Paul's network drivers".
> 9.5 Network Drivers: Drivers for network devices do not use device nodes in
> order to be accessed. Their selection is based on other decisions made
> inside the kernel and instead of calling open(), use of a network device is
> generally introduced by using the system call socket(2).
> For more information see ifnet(9), the source of the loopback device, and
> Bill Paul's network drivers.
> Where can I find those Bill Paul's network drivers?

All network drivers are part of the kernel sources.  You should have
them in your /usr/src/sys directory.

Having said that, the networking stack is a large piece of software,
with many parts and interactions between them.  If you are planning to
get into that sort of development, you should probably consider reading
a _book_ about how things work.

Two excellent books about drivers and networking are:

    "FreeBSD Device Drivers"
        by Joseph Kong (Stark Press)

    "The Design and Implementation of the FreeBSD Operating System"
        by Marshall Kirk Mc Kusick & George V. Neville-Neil

More information about the freebsd-questions mailing list