Re: Darwin NKE question
Re: Darwin NKE question
- Subject: Re: Darwin NKE question
- From: "Peter Lovell" <email@hidden>
- Date: Fri, 18 Apr 2003 19:57:40 -0400
>
Hi,
>
>
I'm wondering if anyone can confirm for me what the expectations are in
>
regard to the OS sbappend() function and network kernel extensions. I had
>
thought that mbufs passing through here would always be in order, but I'm
>
wondering if that is a trustworthy assumption.
>
>
Thanks in advance,
>
>
>
Eric Long
Hi Eric,
yes - that's trustworthy. TCP requires that data be presented in order,
and sbappend is where that is being done. You may note that the last part
of the sbappend routine itself (in uipc_socket2.c) calls sbcompress. That
does compaction of data in mbufs etc. If presentation to sbappend were
not in order, then the data to sbcompress and therefore to the user would
not be in order.
The rearrangement etc of data into the correct order, and making sure
that it's all present, is done earlier in ip_input and its friends. This
is of course where the call is made to sbappend.
So packets at the data-link layer may be in any order, missing, repeated
etc. But at sbappend you're guaranteed reliable, in-sequence data.
Regards.....Peter
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.