cal memory address can be done with single subtract of a base address. Most stack implementations come with a (private) buffer management scheme that is optimized to the application. It relies on a single large memory allocation that is done at boot-time using the Linux Huge pages feature that is initialized at boot-time as defined in. Within the application multiple processes can share this large allocation. In order to support zero-copy stack implementations, this memory is defined as sharable within the application domain. The U-Plane component of most MAC/RLC/PDCP stacks are implemented using two log- ical memory domains: The first domain is defined by Transport, GTP, and portion of the PDCP stack that interfaces to the GTP stack (downlink: pre-PDCP security). This memory domain is characterized by: Buffer size defined by transport packet size Requirement for fast/optimized implementation of physical to virtual and vice versa address translation as (optionally) required for interfacing to accelerator hardware (security engine, Ethernet controller) The transport block buffers can optionally be shared between user-space (UDP, GTP, PCDP) and kernel space in case the transport (IPSec) stack is implemented as a kernel-space component. Zero-copy operation and buffer sharing are enabled by use of user-space buffers for both domains. Defined by typical maximum Ethernet packet size ( ~1500B), transport packets are smaller than standard Linux page size (4KB) and as such can be allocated through malloc() mechanism. The second memory domain is defined by MAC/RLC and the portion of the PDCP stack that interfaces to the RLC (downlink: postsecurity). This memory domain is characterized by Buffer size defined by maximum transport block size (and/or other L2 defined maximum buffer size) Multi-use buffers as required for optimized implementations of HARQ and ARQ Requirement for fast/optimized implementation of physical to virtual and vice versa address translation as required for interfacing to accelerator hardware (security e