Acquring SGLs'?

All

My device does RECV offload.
Is it a good idea to acquire SGLs’ in my storage virtual miniport and pass them down to nic miniport so that during recv it can just program with those SGL’s to initiate recv offload ?

Not sure how much of this is a concern one vs other

  1. if my storage miniport reserves those SGL’s, is it too early in the transaction to acquire those?

Is there a way a storage miniport can acquire sgls’ for recv - GetScatterGatherList()?

  1. what if my nic miniport cannot acquire SGL’s soon enough the recv buffers overrun ? (failing too late in the transaction)

Also is there a way a protocol driver can acquire sgls’?

–thanks