Revitalizing ns-3’s Direct Code Execution
Parth Pratim Chatterjee, Thomas R. Henderson · 2022
This paper reports on significant updates that were made to ns-3’s Direct Code Execution (DCE) feature to restore its compatibility with modern Linux distributions and kernel stacks. Recent versions of the GNU C standard library introduced security features that blocked DCE’s preferred mode of operation, and DCE’s ability to incorporate the TCP/IP kernel stack from recent Linux kernels was also disrupted by kernel evolution. This paper describes the challenges and possible solutions to each issue and summarizes the solution that was implemented to restore compatibility. Finally, a Docker-based environment was configured to ease the installation and usage of DCE for ns-3, expanding the range of Linux distributions supported. The result of this project is a forthcoming DCE release supporting Ubuntu 20.04 distributions natively, and others via Docker, and initial support for Linux kernel 5.10 use for IPv4-based applications. Our performance evaluation highlights the need to next work on performance profiling to improve execution speed.