getting started with FreeBSD network driver development

Saima Baig saimabaig11 at gmail.com
Mon Jul 27 11:30:44 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, is this the right forum for asking these questions? Where is the
web interface to it? Or do these questions belong to the freebsd-net
mailing list?

waiting to hear from the experts here.

Regards,

Ms. S


More information about the freebsd-net mailing list