added emane examples for various emane topics when used within core
This commit is contained in:
parent
3d3e2271be
commit
5a07929fde
9 changed files with 1050 additions and 0 deletions
160
docs/emane/files.md
Normal file
160
docs/emane/files.md
Normal file
|
@ -0,0 +1,160 @@
|
|||
# EMANE XML Files
|
||||
* Table of Contents
|
||||
{:toc}
|
||||
|
||||
## Overview
|
||||
Introduction to the XML files generated by CORE used to drive EMANE for
|
||||
a given node.
|
||||
|
||||
[EMANE Demo 0](https://github.com/adjacentlink/emane-tutorial/wiki/Demonstration-0)
|
||||
may provide more helpful details.
|
||||
|
||||
## Run Demo
|
||||
1. Select `Open...` within the GUI
|
||||
1. Load `emane-demo-files.xml`
|
||||
1. Click 
|
||||
1. After startup completes, double click n1 to bring up the nodes terminal
|
||||
|
||||
## Example Demo
|
||||
We will take a look at the files generated in the example demo provided. In this
|
||||
case we are running the RF Pipe model.
|
||||
|
||||
### Generated Files
|
||||
|
||||
|Name|Description|
|
||||
|---|---|
|
||||
|\<node name>-platform.xml|configuration file for the emulator instances|
|
||||
|\<interface name>-nem.xml|configuration for creating a NEM|
|
||||
|\<interface name>-mac.xml|configuration for defining a NEMs MAC layer|
|
||||
|\<interface name>-phy.xml|configuration for defining a NEMs PHY layer|
|
||||
|\<interface name>-trans-virtual.xml|configuration when a virtual transport is being used|
|
||||
|\<interface name>-trans.xml|configuration when a raw transport is being used|
|
||||
|
||||
### Listing File
|
||||
Below are the files within n1 after starting the demo session.
|
||||
|
||||
```shell
|
||||
root@n1:/tmp/pycore.46777/n1.conf# ls
|
||||
eth0-mac.xml eth0-trans-virtual.xml n1-platform.xml var.log
|
||||
eth0-nem.xml ipforward.sh quaggaboot.sh var.run
|
||||
eth0-phy.xml n1-emane.log usr.local.etc.quagga var.run.quagga
|
||||
```
|
||||
|
||||
### Platform XML
|
||||
The root configuration file used to run EMANE for a node is the platform xml file.
|
||||
In this demo we are looking at `n1-platform.xml`.
|
||||
|
||||
* lists all configuration values set for the platform
|
||||
* The unique nem id given for each interface that EMANE will create for this node
|
||||
* The path to the file(s) used for definition for a given nem
|
||||
|
||||
```shell
|
||||
root@n1:/tmp/pycore.46777/n1.conf# cat n1-platform.xml
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE platform SYSTEM "file:///usr/share/emane/dtd/platform.dtd">
|
||||
<platform>
|
||||
<param name="antennaprofilemanifesturi" value=""/>
|
||||
<param name="controlportendpoint" value="0.0.0.0:47000"/>
|
||||
<param name="eventservicedevice" value="ctrl0"/>
|
||||
<param name="eventservicegroup" value="224.1.2.8:45703"/>
|
||||
<param name="eventservicettl" value="1"/>
|
||||
<param name="otamanagerchannelenable" value="1"/>
|
||||
<param name="otamanagerdevice" value="ctrl0"/>
|
||||
<param name="otamanagergroup" value="224.1.2.8:45702"/>
|
||||
<param name="otamanagerloopback" value="0"/>
|
||||
<param name="otamanagermtu" value="0"/>
|
||||
<param name="otamanagerpartcheckthreshold" value="2"/>
|
||||
<param name="otamanagerparttimeoutthreshold" value="5"/>
|
||||
<param name="otamanagerttl" value="1"/>
|
||||
<param name="stats.event.maxeventcountrows" value="0"/>
|
||||
<param name="stats.ota.maxeventcountrows" value="0"/>
|
||||
<param name="stats.ota.maxpacketcountrows" value="0"/>
|
||||
<nem id="1" name="tap1.0.f" definition="eth0-nem.xml">
|
||||
<transport definition="eth0-trans-virtual.xml">
|
||||
<param name="device" value="eth0"/>
|
||||
</transport>
|
||||
</nem>
|
||||
</platform>
|
||||
```
|
||||
|
||||
### NEM XML
|
||||
The nem definition will contain reference to the transport, mac, and phy xml
|
||||
definitions being used for a given nem.
|
||||
|
||||
```shell
|
||||
root@n1:/tmp/pycore.46777/n1.conf# cat eth0-nem.xml
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE nem SYSTEM "file:///usr/share/emane/dtd/nem.dtd">
|
||||
<nem name="emane_rfpipe NEM">
|
||||
<transport definition="eth0-trans-virtual.xml"/>
|
||||
<mac definition="eth0-mac.xml"/>
|
||||
<phy definition="eth0-phy.xml"/>
|
||||
</nem>
|
||||
```
|
||||
|
||||
### MAC XML
|
||||
MAC layer configuration settings would be found in this file. CORE will write
|
||||
out all values, even if the value is a default value.
|
||||
|
||||
```shell
|
||||
root@n1:/tmp/pycore.46777/n1.conf# cat eth0-mac.xml
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE mac SYSTEM "file:///usr/share/emane/dtd/mac.dtd">
|
||||
<mac name="emane_rfpipe MAC" library="rfpipemaclayer">
|
||||
<param name="datarate" value="1000000"/>
|
||||
<param name="delay" value="0.000000"/>
|
||||
<param name="enablepromiscuousmode" value="0"/>
|
||||
<param name="flowcontrolenable" value="0"/>
|
||||
<param name="flowcontroltokens" value="10"/>
|
||||
<param name="jitter" value="0.000000"/>
|
||||
<param name="neighbormetricdeletetime" value="60.000000"/>
|
||||
<param name="pcrcurveuri" value="/usr/share/emane/xml/models/mac/rfpipe/rfpipepcr.xml"/>
|
||||
<param name="radiometricenable" value="0"/>
|
||||
<param name="radiometricreportinterval" value="1.000000"/>
|
||||
</mac>
|
||||
```
|
||||
|
||||
### PHY XML
|
||||
PHY layer configuration settings would be found in this file. CORE will write
|
||||
out all values, even if the value is a default value.
|
||||
|
||||
```shell
|
||||
root@n1:/tmp/pycore.46777/n1.conf# cat eth0-phy.xml
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE phy SYSTEM "file:///usr/share/emane/dtd/phy.dtd">
|
||||
<phy name="emane_rfpipe PHY">
|
||||
<param name="bandwidth" value="1000000"/>
|
||||
<param name="fading.model" value="none"/>
|
||||
<param name="fading.nakagami.distance0" value="100.000000"/>
|
||||
<param name="fading.nakagami.distance1" value="250.000000"/>
|
||||
<param name="fading.nakagami.m0" value="0.750000"/>
|
||||
<param name="fading.nakagami.m1" value="1.000000"/>
|
||||
<param name="fading.nakagami.m2" value="200.000000"/>
|
||||
<param name="fixedantennagain" value="0.000000"/>
|
||||
<param name="fixedantennagainenable" value="1"/>
|
||||
<param name="frequency" value="2347000000"/>
|
||||
<param name="frequencyofinterest" value="2347000000"/>
|
||||
<param name="noisebinsize" value="20"/>
|
||||
<param name="noisemaxclampenable" value="0"/>
|
||||
<param name="noisemaxmessagepropagation" value="200000"/>
|
||||
<param name="noisemaxsegmentduration" value="1000000"/>
|
||||
<param name="noisemaxsegmentoffset" value="300000"/>
|
||||
<param name="noisemode" value="none"/>
|
||||
<param name="propagationmodel" value="2ray"/>
|
||||
<param name="subid" value="1"/>
|
||||
<param name="systemnoisefigure" value="4.000000"/>
|
||||
<param name="timesyncthreshold" value="10000"/>
|
||||
<param name="txpower" value="0.000000"/>
|
||||
</phy>
|
||||
```
|
||||
|
||||
### Transport XML
|
||||
```shell
|
||||
root@n1:/tmp/pycore.46777/n1.conf# cat eth0-trans-virtual.xml
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE transport SYSTEM "file:///usr/share/emane/dtd/transport.dtd">
|
||||
<transport name="Virtual Transport" library="transvirtual">
|
||||
<param name="bitrate" value="0"/>
|
||||
<param name="devicepath" value="/dev/net/tun"/>
|
||||
</transport>
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue