dce/rpc PDUs [was Re: dce/rpc "client" api]
Jeremy Allison
jeremy at valinux.com
Tue Aug 22 20:56:11 GMT 2000
Luke Kenneth Casson Leighton wrote:
>
> for ncacn_np, the SMB transport _really_, _really_ gets in the way of
> this individual PDU reassembly, as what SMBs are used are not only
> dependent upon the size of the PDU, but on the client's maximum SMBtrans,
> SMBreadX and SMBwriteX buffer sizes, on whether the first and/or last bits
> are set in the PDU header, and _also_ on what is negotiated during the
> Bind / Bind-Ack sequence: it is possible for NT5 to negotiate - somehow -
> to _not_ use SMBtrans but only to use SMBreadX and SMBwriteX, which
> incidentally allows for the "cancellation" of outstanding DCE/RPC
> requests, at the cost of doubling the round-trip time on every DCE/RPC
> function call.
The current HEAD code is able to ignore all this stuff.
Writes are coalesced - whatever method they come in via,
into PDU chuncks, which are then stripped, de-sign/sealed
if neccessary, then the data is appended to a linear buffer.
Once the full RPC length (multi-pdu or not) is received
then it's handed down to the implementation layer.
This is very clean and simple and is working well in HEAD.
Jeremy.
--
--------------------------------------------------------
Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.
--------------------------------------------------------
More information about the samba-technical
mailing list