update devguide notes for installing emane
This commit is contained in:
parent
9f3a3cef28
commit
8fe6bc76ca
1 changed files with 25 additions and 15 deletions
|
@ -87,8 +87,18 @@ EMANE bindings are not available through pip, you will need to build and install
|
|||
[Build EMANE](https://github.com/adjacentlink/emane/wiki/Build#general-build-instructions)
|
||||
|
||||
```shell
|
||||
# after building emane above
|
||||
# ./autogen.sh && ./configure --prefix=/usr && make
|
||||
# clone emane repo
|
||||
git clone https://github.com/adjacentlink/emane.git
|
||||
|
||||
# install emane build deps
|
||||
sudo apt install libxml2-dev libprotobuf-dev uuid-dev libpcap-dev protobuf-compiler
|
||||
|
||||
# build emane
|
||||
./autogen.sh
|
||||
./configure --prefix=/usr
|
||||
make -j8
|
||||
|
||||
# install emane binding in pipenv
|
||||
python3 -m pipenv install $EMANEREPO/src/python
|
||||
```
|
||||
|
||||
|
@ -110,26 +120,26 @@ python3 -m pipenv run coretk
|
|||
|
||||
## Linux Network Namespace Commands
|
||||
|
||||
Linux network namespace containers are often managed using the *Linux Container Tools* or *lxc-tools* package.
|
||||
The lxc-tools website is available here http://lxc.sourceforge.net/ for more information. CORE does not use these
|
||||
management utilities, but includes its own set of tools for instantiating and configuring network namespace containers.
|
||||
Linux network namespace containers are often managed using the *Linux Container Tools* or *lxc-tools* package.
|
||||
The lxc-tools website is available here http://lxc.sourceforge.net/ for more information. CORE does not use these
|
||||
management utilities, but includes its own set of tools for instantiating and configuring network namespace containers.
|
||||
This section describes these tools.
|
||||
|
||||
### vnoded
|
||||
|
||||
The *vnoded* daemon is the program used to create a new namespace, and listen on a control channel for commands that
|
||||
may instantiate other processes. This daemon runs as PID 1 in the container. It is launched automatically by the CORE
|
||||
daemon. The control channel is a UNIX domain socket usually named */tmp/pycore.23098/n3*, for node 3 running on CORE
|
||||
The *vnoded* daemon is the program used to create a new namespace, and listen on a control channel for commands that
|
||||
may instantiate other processes. This daemon runs as PID 1 in the container. It is launched automatically by the CORE
|
||||
daemon. The control channel is a UNIX domain socket usually named */tmp/pycore.23098/n3*, for node 3 running on CORE
|
||||
session 23098, for example. Root privileges are required for creating a new namespace.
|
||||
|
||||
### vcmd
|
||||
|
||||
The *vcmd* program is used to connect to the *vnoded* daemon in a Linux network namespace, for running commands in the
|
||||
namespace. The CORE daemon uses the same channel for setting up a node and running processes within it. This program
|
||||
has two required arguments, the control channel name, and the command line to be run within the namespace. This command
|
||||
The *vcmd* program is used to connect to the *vnoded* daemon in a Linux network namespace, for running commands in the
|
||||
namespace. The CORE daemon uses the same channel for setting up a node and running processes within it. This program
|
||||
has two required arguments, the control channel name, and the command line to be run within the namespace. This command
|
||||
does not need to run with root privileges.
|
||||
|
||||
When you double-click on a node in a running emulation, CORE will open a shell window for that node using a command
|
||||
When you double-click on a node in a running emulation, CORE will open a shell window for that node using a command
|
||||
such as:
|
||||
|
||||
```shell
|
||||
|
@ -144,13 +154,13 @@ vcmd -c /tmp/pycore.50160/n1 -- /sbin/ip -4 ro
|
|||
|
||||
### core-cleanup script
|
||||
|
||||
A script named *core-cleanup* is provided to clean up any running CORE emulations. It will attempt to kill any
|
||||
remaining vnoded processes, kill any EMANE processes, remove the :file:`/tmp/pycore.*` session directories, and remove
|
||||
A script named *core-cleanup* is provided to clean up any running CORE emulations. It will attempt to kill any
|
||||
remaining vnoded processes, kill any EMANE processes, remove the :file:`/tmp/pycore.*` session directories, and remove
|
||||
any bridges or *ebtables* rules. With a *-d* option, it will also kill any running CORE daemon.
|
||||
|
||||
### netns command
|
||||
|
||||
The *netns* command is not used by CORE directly. This utility can be used to run a command in a new network namespace
|
||||
The *netns* command is not used by CORE directly. This utility can be used to run a command in a new network namespace
|
||||
for testing purposes. It does not open a control channel for receiving further commands.
|
||||
|
||||
### Other Useful Commands
|
||||
|
|
Loading…
Reference in a new issue