Common Open Research Emulator
Modify getMyIP to cache the local machine's IP address, and return it without further accessing of the underlying resolver libraries during subsequent invocations. getMyIP is called roughly once a second from within monitor_loop when refreshing CPU utilization in the bottom-right corner of the GUI window. Other, dedicated CPU usage windows might also call getMyIP at regular intervals. With systemd commit cda458a54 (between v232 and v233), the implementation of gethostbyname4_r() was updated to a more intransigently standard-compliant error reporting convention, which in turn causes glibc to retry in a more labor intensive way (see https://github.com/systemd/systemd/pull/5359). Under certain circumstances depending on the local hostname and IP configuration, the glibc/systemd back-end resolver routines triggered by getMyIP's call to [socket ...] and [fconfigure ...] end up taking long enough to noticeably slow down refreshing the main core-gui window, to the point where interaction with the GUI becomes difficult. 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