diff options
Diffstat (limited to 'src/vpp/mem/mem.rst')
-rw-r--r-- | src/vpp/mem/mem.rst | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/vpp/mem/mem.rst b/src/vpp/mem/mem.rst new file mode 100644 index 00000000000..82ae2ff35df --- /dev/null +++ b/src/vpp/mem/mem.rst @@ -0,0 +1,25 @@ +.. _mempreload_doc: + +VPP mem preload +=============== + +Internal VPP memory allocations rely on VPP main-heap, however when +using external libraries, esp. in plugins (e.g. OpenSSL library used by +the IKEv2 plugin), those external libraries usually manages memory using +the standard libc ``malloc()``/``free()``/… calls. This, in turn, makes +use of the default libc heap. + +VPP has no knowledge of this heap and tools such as memory traces cannot +be used. + +In order to enable the use of standard VPP debugging tools, this library +replaces standard libc memory management calls with version using VPP +main-heap. + +To use it, you need to use the ``LD_PRELOAD`` mechanism, e.g. + +:: + + ~# LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libvppmem_preload.so /usr/bin/vpp -c /etc/vpp/startup.conf + +You can then use tools such as memory traces as usual. |