Common Open Research Emulator
a5ae485fa6
A node's private mounts are currently removed before killing vnoded, which makes them unavailable during container service shutdown. Any such service accessing the filesystem for atexit() cleanup (e.g., rsyslogd), will do so on the host filesystem instead, very likely causing unintended damage. For example, the default behavior of rsyslogd is to remove its listening socket (/dev/log, or /run/systemd/journal/dev-log) at shutdown from its atexit() handler. If the node's private '/dev' or '/run/systemd/journal' mount has already been removed, the host-side /dev/log or /run/systemd/journal/dev-log sockets will be removed instead! Since non-persistent (mount) namespaces are automatically destroyed by the kernel when the last process referencing them is killed, we should simply rely on that behavior instead of explicitly (and prematurely) unmounting a node's private directories during shutdown. Signed-off-by: Gabriel Somlo <glsomlo@cert.org> |
||
---|---|---|
daemon | ||
doc | ||
gui | ||
kernel | ||
packaging | ||
scripts | ||
.editorconfig | ||
.gitignore | ||
ASSIGNMENT OF COPYRIGHT .pdf | ||
bootstrap.sh | ||
Changelog | ||
configure.ac | ||
LICENSE | ||
Makefile.am | ||
python-prefix.py | ||
README-Xen | ||
README.rst | ||
revision.sh | ||
sonar-project.properties |
==== CORE ==== CORE: Common Open Research Emulator Copyright (c)2005-2017 the Boeing Company. See the LICENSE file included in this distribution. About ===== CORE is a tool for emulating networks using a GUI or Python scripts. The CORE project site (1) is a good source of introductory information, with a manual, screenshots, and demos about this software. The GitHub project (2) hosts the source repos, wiki, and bug tracker. There is a deprecated Google Code page (3) with the old wiki, blog, bug tracker, and quickstart guide. 1. http://www.nrl.navy.mil/itd/ncs/products/core 2. https://github.com/coreemu/core 3. http://code.google.com/p/coreemu/ 4. `Official Documentation`_ .. _Official Documentation: https://downloads.pf.itd.nrl.navy.mil/docs/core/core-html/index.html Building CORE ============= To build this software you should use: ./bootstrap.sh ./configure make sudo make install Note: You may need to pass the proxy settings to sudo make install: sudo make install HTTP_PROXY=<proxy> Here is what is installed with 'make install': /usr/local/bin/core-gui /usr/local/sbin/core-daemon /usr/local/sbin/[vcmd, vnoded, coresendmsg, core-cleanup.sh] /usr/local/lib/core/* /usr/local/share/core/* /usr/local/lib/python2.6/dist-packages/core/* /usr/local/lib/python2.6/dist-packages/[netns,vcmd].so /etc/core/* /etc/init.d/core See the manual for the software required for building CORE. Building Documentation ====================== Being able to build documentation depends on help2man being installed. Once that has been done you can run the following commands: ./bootstrap.sh ./configure make html Running CORE ============ First start the CORE services: sudo /etc/init.d/core-daemon start This automatically runs the core-daemon program. Assuming the GUI is in your PATH, run the CORE GUI by typing the following: core-gui This launches the CORE GUI. You do not need to run the GUI as root. Support ======= If you have questions, comments, or trouble, please use the CORE mailing lists: - `core-users`_ for general comments and questions - `core-dev`_ for bugs, compile errors, and other development issues .. _core-users: https://publists.nrl.navy.mil/mailman/listinfo/core-users .. _core-dev: https://publists.nrl.navy.mil/mailman/listinfo/core-dev