docs: updated emane docs to remove old GUI references and update the example pictures to include the configuration dialog of the new gui

This commit is contained in:
Blake Harnden 2022-02-25 12:17:51 -08:00
parent 58ffd045e2
commit 2dd3839396
3 changed files with 29 additions and 59 deletions

View file

@ -33,7 +33,7 @@ user space socket to the TAP device for sending and receiving data from CORE.
An EMANE instance sends and receives OTA (Over-The-Air) traffic to and from An EMANE instance sends and receives OTA (Over-The-Air) traffic to and from
other EMANE instances via a control port (e.g. *ctrl0*, *ctrl1*). It also other EMANE instances via a control port (e.g. *ctrl0*, *ctrl1*). It also
sends and receives Events to and from the Event Service using the same or a sends and receives Events to and from the Event Service using the same or a
different control port. EMANE models are configured through CORE's WLAN different control port. EMANE models are configured through the GUI's
configuration dialog. A corresponding EmaneModel Python class is sub-classed configuration dialog. A corresponding EmaneModel Python class is sub-classed
for each supported EMANE model, to provide configuration items and their for each supported EMANE model, to provide configuration items and their
mapping to XML files. This way new models can be easily supported. When mapping to XML files. This way new models can be easily supported. When
@ -201,27 +201,21 @@ EMANE. Using the primary control channel prevents your emulation session from
sending multicast traffic on your local network and interfering with other sending multicast traffic on your local network and interfering with other
EMANE users. EMANE users.
EMANE is configured through a WLAN node, because it is all about emulating EMANE is configured through an EMANE node. Once a node is linked to an EMANE
wireless radio networks. Once a node is linked to a WLAN cloud configured cloud, the radio interface on that node may also be configured
with an EMANE model, the radio interface on that node may also be configured
separately (apart from the cloud.) separately (apart from the cloud.)
Double-click on a WLAN node to invoke the WLAN configuration dialog. Click Right click on an EMANE node and select EMANE Config to open the configuration dialog.
the *EMANE* tab; when EMANE has been properly installed, EMANE wireless modules The EMANE models should be listed here for selection. (You may need to restart the
should be listed in the *EMANE Models* list. (You may need to restart the
CORE daemon if it was running prior to installing the EMANE Python bindings.) CORE daemon if it was running prior to installing the EMANE Python bindings.)
Click on a model name to enable it.
When an EMANE model is selected in the *EMANE Models* list, clicking on the When an EMANE model is selected, you can click on the models option button
*model options* button causes the GUI to query the CORE daemon for causing the GUI to query the CORE daemon for configuration items.
configuration items. Each model will have different parameters, refer to the Each model will have different parameters, refer to the
EMANE documentation for an explanation of each item. The defaults values are EMANE documentation for an explanation of each item. The defaults values are
presented in the dialog. Clicking *Apply* and *Apply* again will store the presented in the dialog. Clicking *Apply* and *Apply* again will store the
EMANE model selections. EMANE model selections.
The *EMANE options* button allows specifying some global parameters for
EMANE, some of which are necessary for distributed operation.
The RF-PIPE and IEEE 802.11abg models use a Universal PHY that supports The RF-PIPE and IEEE 802.11abg models use a Universal PHY that supports
geographic location information for determining pathloss between nodes. A geographic location information for determining pathloss between nodes. A
default latitude and longitude location is provided by CORE and this default latitude and longitude location is provided by CORE and this
@ -241,21 +235,12 @@ used to achieve geo-location accuracy in this situation.
Clicking the green *Start* button launches the emulation and causes TAP devices Clicking the green *Start* button launches the emulation and causes TAP devices
to be created in the virtual nodes that are linked to the EMANE WLAN. These to be created in the virtual nodes that are linked to the EMANE WLAN. These
devices appear with interface names such as eth0, eth1, etc. The EMANE processes devices appear with interface names such as eth0, eth1, etc. The EMANE processes
should now be running in each namespace. For a four node scenario: should now be running in each namespace.
```shell To view the configuration generated by CORE, look in the */tmp/pycore.nnnnn/* session
ps -aef | grep emane directory to find the generated EMANE xml files. One easy way to view
root 1063 969 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane4.log /tmp/pycore.59992/platform4.xml this information is by double-clicking one of the virtual nodes and listing the files
root 1117 959 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane2.log /tmp/pycore.59992/platform2.xml in the shell.
root 1179 942 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane1.log /tmp/pycore.59992/platform1.xml
root 1239 979 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane5.log /tmp/pycore.59992/platform5.xml
```
The example above shows the EMANE processes started by CORE. To view the
configuration generated by CORE, look in the */tmp/pycore.nnnnn/* session
directory for a *platform.xml* file and other XML files. One easy way to view
this information is by double-clicking one of the virtual nodes, and typing
*cd ..* in the shell to go up to the session directory.
![](static/single-pc-emane.png) ![](static/single-pc-emane.png)
@ -278,55 +263,40 @@ within a node.
**IMPORTANT: If an auxiliary control network is used, an interface on the host **IMPORTANT: If an auxiliary control network is used, an interface on the host
has to be assigned to that network.** has to be assigned to that network.**
Each machine that will act as an emulation server needs to have CORE and EMANE Each machine that will act as an emulation server needs to have CORE distributed
installed. and EMANE installed. As well as be setup to work for CORE distributed mode.
The IP addresses of the available servers are configured from the CORE emulation The IP addresses of the available servers are configured from the CORE
servers dialog box (choose *Session* then *Emulation servers...*). This list of servers dialog box. The dialog shows available
servers is stored in a *~/.core/servers.conf* file. The dialog shows available
servers, some or all of which may be assigned to nodes on the canvas. servers, some or all of which may be assigned to nodes on the canvas.
Nodes need to be assigned to emulation servers. Select several nodes, Nodes need to be assigned to servers and can be done so using the node
right-click them, and choose *Assign to* and the name of the desired server. configuration dialog. When a node is not assigned to any emulation server,
When a node is not assigned to any emulation server, it will be emulated it will be emulated locally.
locally. The local machine that the GUI connects with is considered the
"master" machine, which in turn connects to the other emulation server
"slaves". Public key SSH should be configured from the master to the slaves.
Under the *EMANE* tab of the EMANE WLAN, click on the *EMANE options* button. Using the EMANE node configuration dialog. You can change the EMANE model
This brings up the emane configuration dialog. The *enable OTA Manager channel* being used, along with changing any configuration setting from their defaults.
should be set to *on*. The *OTA Manager device* and *Event Service device*
should be set to a control network device. For example, if you have a primary
and auxiliary control network (i.e. controlnet and controlnet1), and you want
the OTA traffic to have its dedicated network, set the OTA Manager device to
*ctrl1* and the Event Service device to *ctrl0*. The EMANE models can be
configured. Click *Apply* to save these settings.
![](static/distributed-emane-configuration.png) ![](static/distributed-emane-configuration.png)
> **NOTE:** Here is a quick checklist for distributed emulation with EMANE. > **NOTE:** Here is a quick checklist for distributed emulation with EMANE.
1. Follow the steps outlined for normal CORE. 1. Follow the steps outlined for normal CORE.
2. Under the *EMANE* tab of the EMANE WLAN, click on *EMANE options*. 2. Assign nodes to desired servers
3. Turn on the *OTA Manager channel* and set the *OTA Manager device*. 3. Synchronize your machine's clocks prior to starting the emulation,
Also set the *Event Service device*.
4. Select groups of nodes, right-click them, and assign them to servers
using the *Assign to* menu.
5. Synchronize your machine's clocks prior to starting the emulation,
using *ntp* or *ptp*. Some EMANE models are sensitive to timing. using *ntp* or *ptp*. Some EMANE models are sensitive to timing.
6. Press the *Start* button to launch the distributed emulation. 4. Press the *Start* button to launch the distributed emulation.
Now when the Start button is used to instantiate the emulation, the local CORE Now when the Start button is used to instantiate the emulation, the local CORE
Python daemon will connect to other emulation servers that have been assigned daemon will connect to other emulation servers that have been assigned
to nodes. Each server will have its own session directory where the to nodes. Each server will have its own session directory where the
*platform.xml* file and other EMANE XML files are generated. The NEM IDs are *platform.xml* file and other EMANE XML files are generated. The NEM IDs are
automatically coordinated across servers so there is no overlap. Each server automatically coordinated across servers so there is no overlap.
also gets its own Platform ID.
An Ethernet device is used for disseminating multicast EMANE events, as An Ethernet device is used for disseminating multicast EMANE events, as
specified in the *configure emane* dialog. EMANE's Event Service can be run specified in the *configure emane* dialog. EMANE's Event Service can be run
with mobility or pathloss scripts as described in :ref:`Single_PC_with_EMANE`. with mobility or pathloss scripts.
If CORE is not subscribed to location events, it will generate them as nodes If CORE is not subscribed to location events, it will generate them as nodes
are moved on the canvas. are moved on the canvas.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 105 KiB