- 
                Notifications
    You must be signed in to change notification settings 
- Fork 8.2k
Closed
Labels
EnhancementChanges/Updates/Additions to existing featuresChanges/Updates/Additions to existing featuresarea: Networking
Description
Current buffer management is far from being optimized and requires a complete rework, moreover now that net_buf allows variable length allocator (or even custom one)
-  Serialize 15.4/BT/6lo packet transmission
 i.e.: instead of fragmenting/compression/framing the whole packet at once, let's do it fragment after fragment (if transmission fails early, at least host cpu won't have lost time in preparing the whole packet). This will be necessary for the next task.
-  Fully separate L2 header memory area from IP memory area
 No more LL reserve in net_pkt nor in IP core area. This will reduce the work load and memory usage.
- Switch net_pkt core to variable length allocator for the data buffers (net_pkt structures are still allocated on a slab, no nee to change that
-  (optional) Have a custom allocator that could manager allocating less than requested as long as it fits with a proper minimum (relevant only when sending)
 This would allow sending packet even if memory is heavily used.
the 2 first items are almost fully done. There is delays to port all the unit tests as it changes many things (how L2s behaves obviously).
3rd item had already a prototype, but has been delayed. (for various reasons, but major one being how to properly split it in relevant incremental patches)
Metadata
Metadata
Assignees
Labels
EnhancementChanges/Updates/Additions to existing featuresChanges/Updates/Additions to existing featuresarea: Networking