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:
parent
58ffd045e2
commit
2dd3839396
3 changed files with 29 additions and 59 deletions
|
@ -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.
|
||||||
|
|
||||||
|
|
BIN
docs/static/distributed-emane-configuration.png
vendored
BIN
docs/static/distributed-emane-configuration.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 140 KiB |
BIN
docs/static/single-pc-emane.png
vendored
BIN
docs/static/single-pc-emane.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 105 KiB |
Loading…
Reference in a new issue