tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: patch: sockaddr instead of mbuf to carry addresses



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



Home | Main Index | Thread Index | Old Index