Network driver development

Saima Baig saimabaig11 at gmail.com
Mon Jul 27 12:06:59 UTC 2020


 Hello

I'm getting started with driver development in FreeBSD. Im reading the
classic 'design and implementation' text by Kirk and Neville et all.

As expected I have a bunch of questions and general doubts about things.
Here are some of the questions I have:

1. Why are the number of Transmit and Receive descriptors hardware
dependent? AFAIK, the driver merely programs the base address of the buffer
descriptor ring isn't it? Why would the hardware care if this linked list
has 100 elements or 1000?

2. Most examples I find on the internet is for the e1000 adapter, which is
a 1Gbps adapter. Things seem to have gotten a lot more complex since the
introduction of 10Gbps (and now 40Gbps) adapters and newer hardware
techniques like RSS, LRO and TSO. Is there a blog/text that introduces the
implementation challenges for these technologies?

Lastly, as a meta question, where do questions on freebsd network drivers
belong to? This mailing list or the generic drivers mailing list? Or should
I post it to net at freebsd.org?

waiting to hear from the experts here.

Regards,

Ms. S


More information about the freebsd-net mailing list