Feature #8140
closedloader: network read rework
100%
Description
The current networking code is building receive buffer from up to down - guessing the size of the data. Amazingly it mostly appears to work, but not always. Also this approach actually does limit us pretty badly. Therefore we need to allocate the memory where the data is appearing - while reading the packet from the interface and pass it all up.
As an secondary part of this work, we drop PXE UDP based IO and use UNDI instead - this will enable us more generic access to network.
With new data allocation, the essential problem is about releasing the memory; one option would allocate and reuse the buffer, in this work I use the approach to release memory whenever the packet is not needed any more.
Updated by Electric Monk about 6 years ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
git commit 859472da62d5df230117a53edc3cfcc61d5896ac
commit 859472da62d5df230117a53edc3cfcc61d5896ac Author: Toomas Soome <tsoome@me.com> Date: 2017-10-16T13:34:42.000Z 8140 loader: network read rework Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Richard Lowe <richlowe@richlowe.net>