Mindaugas Rasiukevicius <rmind%netbsd.org@localhost> writes: > Greg Troxel <gdt%ir.bbn.com@localhost> wrote: >> >> Not objecting, but can you articulate the gain? >> > > It is a part of wider objective to cleanup protocol user-request methods. > Historically, we had a single pr_usrreq method which was just a massive > switch statement with PRU_ constants. While such API was okay in 1980s, > it is quite far away from okay in today's standards. > > So I made initial steps of splitting the pr_usrreq actions into their own > methods, defining a proper API between the socket layer and protocol layer > (something what FreeBSD and others did long time ago). Tyler volunteered > and did a great job to finish up the split. > > The old pr_usrreq method abused struct mbuf and other parameters to carry > various different types. It is a massive change to fix everything in one > go, so usng *real* type of the parameters is a next step. AFAIK (although > I might be wrong) the reason why mbufs were abused to carry the parameters > was because back in the day they just had a faster memory allocator. Well, > today we prefer functions, type-safety, clear locking rules, symmetric and > just generally sane APIs. :) Thanks. That sounds totally reasonable.
Attachment:
pgpFjTjbaOvLI.pgp
Description: PGP signature