80 likes | 94 Views
SCTP Draft. DDP Stream establishment issue identified Dynamic Protection Domain selection assumes local interface supports deferred Protection Domain assignment. Should be documented at the minimum. Not compatible with traditional local interfaces.
E N D
SCTP Draft • DDP Stream establishment issue identified • Dynamic Protection Domain selection assumes local interface supports deferred Protection Domain assignment. • Should be documented at the minimum. • Not compatible with traditional local interfaces. • Draft under author-review to support single-message exchange before stream is associated with an endpoint. • Compatible with private data exchange described in current MPA draft. • No other issues identified.
Shared Receive Queues vs. Shared Buffer Pool • Shared Receive Queues proposed in draft-hilland-verbs-00. • Not yet reviewed by the WG, a requirements round may be needed first. • But presence/absence has impact on other drafts. • Architecture: definition/existence of “post receive” operation. • Security: certain vunerabilities may be specific to Shared Receive Queues as opposed to RDMA in general.
The problem: the need to under-provision receive buffers for servers • 100,000 DDP Streams allowed 6 in-flight untagged messages each requires 600,000 committed buffers. • But network topology might make it impossible for more than 50,000 to show up in the time it takes to process and release a buffer. • Proposal: allow ULP servers an option to pool buffers within an application when ULP is confident that lower number of buffers is adequate. • Two mechanisms proposed: • Shared Receive Queue - as in draft-hilland. • Shared Buffer Pool - as in emails from Caitlin Bestler
Non-shared Model • ULP enables one untagged receive by pre-posting a receive buffer to the DDP Stream’s “Receive Queue”. • If N have been posted, then a range of N Message Sequence Numbers (MSNs) can be accepted. • Peer sending “too much” will have out-of-range MSN, resulting in stream teardown.
Shared Receive Queue Model • DDP Stream optionally associated with a Shared Receive Queue, rather than its own. • ULP enables reads by pre-posting to a shared receive queue. • Invalid message detection by buffer exhaustion (adjusting for implied buffers). • Asynchronous notice configurable for a stream if it exceeds its limits, but no DDP layer action is taken against the stream.
Shared Buffer Pool Model • DDP Stream optionally configured to obtain buffers from Shared Buffer Pool, but untagged message credits still tracked for each DDP Stream’s “Receive Queue”. • DDP Stream exceeding MSN window will be terminated, just as for non-sharing streams. • No chance of abusive stream draining available buffers. • No chance of available buffers being “leant” to recover a stream that had slipped into temporary non-compliance.