From c89df70ef8339f20e33cd022cafc4feeb5888750 Mon Sep 17 00:00:00 2001 From: Steven Galgano Date: Wed, 6 Sep 2023 15:34:32 -0400 Subject: [PATCH] Site output generated for preface, events, and getting started updates. --- .../auto-generated-dont-run-multiple-nems.png | Bin 21539 -> 0 bytes .../auto-generated-incomplete-chapter.png | Bin 22822 -> 0 bytes ...enerated-no-packages-with-source-build.png | Bin 23863 -> 0 bytes .../auto-generated-pcr-representation.png | Bin 20907 -> 0 bytes guide/site/events.md | 319 +++++++++++++++++- guide/site/getting-started.md | 29 ++ guide/site/preface.md | 30 +- 7 files changed, 351 insertions(+), 27 deletions(-) delete mode 100644 guide/images/auto-generated-dont-run-multiple-nems.png delete mode 100644 guide/images/auto-generated-incomplete-chapter.png delete mode 100644 guide/images/auto-generated-no-packages-with-source-build.png delete mode 100644 guide/images/auto-generated-pcr-representation.png diff --git a/guide/images/auto-generated-dont-run-multiple-nems.png b/guide/images/auto-generated-dont-run-multiple-nems.png deleted file mode 100644 index bcfd527b2c17cc52755075cd8fd32ced7dfa66c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21539 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

~TK^Vb^Q!(*r3%C{Hn42DD@9@%T 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

t_q&E?9GeD zu;u-%*u+Xb``A{-^Zl+{lOY#W7N509ZdYBu%eNZVBydZC?B|m=Uv?IvLrX;Mur1TO zdlv%x%hMYDYd>cfWDa9r zcrN9>o=V|tCb_hFkit6+vXEZEkVzVS^>pCL?p~Ij>whY1HE0{_IsN5L?M+0zGPg_l zi>k1${inK2sVAM2+s;0C|4H-Lb?qjqUp!H5G*i5Fnx5evN6vL0JToTA&YiQqh%66w z{QdEJwwCX~YWlVb;9{K6ijdk4CEscCh@X6#SQIF=lZU-^SLr32=#OSI+cQ??_1XWV zk+ho@0|lGA1yz_1|0vM3+G`J^c{SnQ3}YVUg{qybQpbVVu_2<_Bb4Uic)6e1}< zJ#+Xyp4hLh=&g)CQzac|)2HDW$y`e#>Al8|sJ!v?zK2lLrx3X1D^mu_=>@G=v2&ZaWB?K2b-(BavDO4AwE6T&+r-HR7 z-j&Y4>Tg&43`+`Kd8?f0>^`-~>PkMyTOpfurQ7nc@WyAF&w*f7K-ge0a#sUjL2Xd{ zlhzaU!*u?##KO`fhtPYKs^I551gGABlvyDvd_m$B&D>(ZQtIb}iE5goxz`Q7b`ZsB zCWW|yJ1tP7KGTdkXCMsn%+m2)T;|6mc08R<#>e%<;lt#ADCUf(hY}OL{6oM zx>8~(<5lv}s}Ze<x7*ueoO~eW_3G8PfX=6feh(B&t`R)Ye624M zuW_dri7N=Mz%&pWk>KE&`AT<$%xp9_Cr)!o$H) zZSLQCV8KtJw2V}Nw#7Ld6aK%yZ&wjzKFY6`qwbn0xu%cuP(U468_4u2s@vGxkIfM3! z+w!n@!dcoN4sR~Y%dhKi;C@%u99`JUaky zpy&eJBF95ikmDss4XVhsl1g|Huq*3lT}p#X9mS2Neot@+6WGRn^E8Z3bmTR8R*Al{ zDnb;Uic&7&h7a6N6C~s{i;3i4Knw^#qS_W*_j~~1S5rEF<{ggbZxvgC{AQI0O z4HUdo83cVtrR)MPsW`rIAcZW`pW>L*?pVxmn^U6q>;w0G$&Cs2d+DKn_5yig*EuuD z0FBIj{KfzKX+J$naf!6@)=#9*jZE~LU=C7sColR7jfGo-(vV||1Pp%zD z-kCJD7`^x0XjAtd<+VfjXqlp4+>j0XRI#q~c32BAfv#9qAA`XpYcf%`s|W z(+-g(4V_78OGP}-qad}!*eWf4Cex782-_GJ%Z*tGc%6WLmp;)Ix%)#4mecMi*A|dw zwXhR1k*}w5c6?&QlqyZ{{MNm{6Ac>_LW}YxQEn$7u~J|Lopj^GwGxU z+0o@>H7-!D*_!+Q=OPI?ozT&CXwjKshbMW)&Pk7M@GlYRUd8AeCSn9ar_qy8y@b8=Et0to{ jS495ve|*FT%>4xvIcbk!ye~p0p~P3A#(EVx4v+o^UyYO8 diff --git a/guide/images/auto-generated-no-packages-with-source-build.png b/guide/images/auto-generated-no-packages-with-source-build.png deleted file mode 100644 index 53290750ed748cd009f960607e955cd039bb8c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23863 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 AWdHyG diff --git a/guide/images/auto-generated-pcr-representation.png b/guide/images/auto-generated-pcr-representation.png deleted file mode 100644 index 2ed5fef2240e98977f7929d76462ebae67acc881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20907 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 KMimCP This chapter is incomplete. - A scenario is a set of *events* that are sent to one or more *NEMs* in order to change environmental characteristics such as locations, pathloss and antenna pointing. Events are delivered opaquely to -registered radio model and physical layer instances so individual -radio models may use their own specialized events. +registered radio model and physical layer instances allowing +individual radio models to use their own specialized events when +necessary. + +Events are defined using [Google Protocol +Buffers](https://protobuf.dev/) and transmitted to emulator instances +via the multicast event channel or in some special circumstances via +the multicast over-the-air channel. Events on the over-the-air channel +are referred to as *attached events* because they are attached to +specific over-the-air messages. The *attached event* mechanism is used +by a small subset of *compat1* radio models to issue antenna profile +events that are required to be processed before their respective +over-the-air message. The vast majority of radio models do not use +*attached events* and the MIMO API (*compat2*) makes using *attached +events* for antenna profile control unnecessary. + +*EMANE* provides two mechanisms for generating events and injecting +them into a running emulation: event generator plugins using the +[Event Service](applications#event-service) and applications using the Python +`emane.events` module. + +The [Emulation Event Log Generator](eel-event-generator#eel-event-generator) for +the [Event Service](applications#event-service) provides a time based input sentence +syntax for defining emulation events and is discussed in detail in a +later [section](eel-event-generator#eel-event-generator). + +The Python `emane.events` module provides an event class for each of +the standard *EMANE* events and an `EventService` class for sending +and receiving events. The following sections detail each of the +standard *EMANE* events along with Python usage examples and command +line tools that are available for quick event injection. + +You can also use event protocol buffer +definitions to develop your own tools that generate and send +events. The +[emane-example-cpp-events](https://github.com/adjacentlink/emane-example-cpp-events) +project is an example of doing just that in C++. + +## Monitoring Events + +It can be beneficial to monitor events in order to determine why an +emulation may not be executing as intended. Events can be monitored in +a number of way: using the *EMANE* shell (`emanesh`) to inspect +individual event reception tables; using OpenTestPoint to monitor all +event reception tables of all nodes in an emulation, or using +`emaneevent-dump` to listen and display event contents transmitted via +the event and over-the-air channels. + +Depending on the scale of your emulation and your reason for +monitoring events, some monitoring methods may be more appropriate +than others. As we discuss event monitoring, you can try any of the +following examples yourself using a running [`rfpipe-01`](rf-pipe-radio-model#rfpipe-01) example. Don't +worry about what the nodes in the example are doing. For now we are +only interested in events. + +The `emaneevent-dump` application listens on an interface for events +and displays the Python representation of received event data. If you +are trying this yourself with `rfpipe-01`, you might miss the event +sent at the start of the example. You can send events with any of the +example scripts in `emane-guide/examples/event-01/scripts` and see +them with `emaneevent-dump`. The examples below are after executing +the `send-location-event.py` script. + +```text +$ emaneevent-dump -i letce0 +[1694014118.758490] nem: 0 event: 100 len: 33 seq: 1 [Location] + UUID: 8e156854-12c9-42eb-9d56-f2e5bfb771af + (1, {'latitude': 37.274043, 'longitude': -115.79903, 'altitude': 10.0}) +``` + +{: .warning } +> If you are not seeing any events, you might have to set +letce0 to be a trusted interface: sudo firewall-cmd --zone=trusted +--change-interface=letce0 + + +The `emanesh` application can query a running `emane` instance to view +statistics and statistic tables. + +```text +$ emanesh node-1 get table nems phy EventReceptionTable +nem 1 phy EventReceptionTable +| Event | Total Rx | +| 100 | 1 | +| 101 | 1 | + +``` -## `AntennaProfileEvent` +The Physical Layer `EventReceptionTable` keeps a count of all received +events by event id. + +| Event Id | Event Name | +|-----------|-----------------------| +| 100 | Location | +| 101 | Pathloss | +| 102 | Antenna Profile | +| 103 | Comm Effect | +| 104 | IEEE802.11abg One Hop | +| 105 | TDMA Schedule | +| 106 | Fading Selection | + +OpenTestPoint probes for *EMANE* publish statistic and statistic table +measurements on OpenTestPoint time boundaries, once every 5 +seconds. An easy way to view a correlated table of +`EventReceptionTable` entries from all nodes is to use +`otestpoint-labtools-mtabletool`. + +```text +$ otestpoint-labtools-mtabletool \ + localhost:9002 \ + Measurement_emane_physicallayer_tables_events@eventreceptiontable \ + EMANE.PhysicalLayer.Tables.Events \ + --actions \ + "pass(c=(0));" \ + "pass(c=(1))=>|Total|};" \ + --pivot "values=(2),index=(0),cols=(1);" +``` + +Which will produce a periodically updated long-form table of per node event +counts pivoted on event id. + +```text + Measurement_emane_physicallayer_tables_events@eventreceptiontable + Total +Event 100 101 +_Publisher +node-1 1 1 +node-2 1 1 +node-3 1 1 +node-4 1 1 +node-5 1 1 + ``` + +## AntennaProfileEvent An `AntennaProfileEvent` is used to set the antenna profile and pointing information (azimuth and elevation) for an *NEM's* default antenna (index 0). +*NEMs* must know the antenna profile and pointing information for +themselves and/or any other *NEMs* that have their physical layer +[configuration parameters](physical-layer#configuration) set accordingly: + +1. `compatibilitymode` is `1` +2. `fixedanntennagainenable` is `off` + ```protobuf package EMANEMessage; option optimize_for = SPEED; @@ -40,11 +174,50 @@ message AntennaProfileEvent ```

emane/src/libemane/antennaprofileevent.proto


-## `LocationEvent` +The following example uses the `emane.events` Python module to send +antenna profile updates for two *NEMs* to all *NEMs*. + +```python +from emane.events import EventService +from emane.events import AntennaProfileEvent + +# create the event service +service = EventService(('224.1.2.8',45703,'letce0')) + +# create an event +event = AntennaProfileEvent() + +# append NEM 1 & NEM 2 antenna profile and pointing +event.append(1,profile=1,azimuth=291.11372919270093,elevation=69.66042286291453) +event.append(2,profile=1,azimuth=46.978501196479556,elevation=72.73376112146813) + +# publish the event to all NEMs +service.publish(0,event) +``` +

emane-guide/examples/events-01/scripts/send-antenna-profile-event.py


+ +The `emaneevent-antennaprofile` command line tool can be used to set a +single antenna profile and pointing for one or more *NEMs*. See +`emaneevent-antennaprofile --help` for more information. + +```text +$ emaneevent-antennaprofile 1 profile=1 azimuth=291.11372919270093 elevation=69.66042286291453 -i letce0 +``` + +## LocationEvent A `LocationEvent` is used to set the location and optionally the velocity and/or orientation of an *NEM*. +*NEMs* must know the location of all other *NEMs* if any of the +following physical layer [configuration parameters](physical-layer#configuration) are set +accordingly: + +1. `propagationmodel` is `2ray` or `freespace` +2. `fading.model` is `event`, `nakagami`, or `lognormal` +3. `dopplershiftenable` is `on` +4. `fixedanntennagainenable` is `off` + ```protobuf package EMANEMessage; option optimize_for = SPEED; @@ -80,12 +253,48 @@ message LocationEvent ```

emane/src/libemane/locationevent.proto


-## `PathlossEvent` +The following example uses the `emane.events` Python module to send a +location update for a single *NEM*. + +```python +from emane.events import EventService +from emane.events import LocationEvent + +# create the event service +service = EventService(('224.1.2.8',45703,'letce0')) + +# create an event +event = LocationEvent() + +# append NEM 1 position +event.append(1,latitude=37.274043,longitude=-115.799030,altitude=10.0) + +# publish the event to all NEMs +service.publish(0,event) +``` +

emane-guide/examples/events-01/scripts/send-location-event.py


+ +The `emaneevent-location` command line tool can be used to set a +single position, with an optional velocity and/or orientation, as the +position for one or more *NEMs*. See `emaneevent-location --help` for +more information. + +```text +$ emaneevent-location 1 latitude=37.274043 longitude=-115.799030 altitude=10.0 -i letce0 +``` + +## PathlossEvent A `PathlossEvent` is used to set the pathloss used at a receiving *NEM* for over-the-air transmissions from one or more specified source *NEMs*. +*NEMs* must know the pathloss for transmitting *NEMs* if any of the +following physical layer [configuration parameters](physical-layer#configuration) are set +accordingly: + +1. `propagationmodel` is `precomuted` + ```protobuf package EMANEMessage; option optimize_for = SPEED; @@ -101,13 +310,65 @@ message PathlossEvent } ```

emane/src/libemane/pathlossevent.proto


- -## `FadingSelectionEvent` + +The following example uses the `emane.events` Python module to send a +pathloss update to *NEMs* 1 through 3 to place them in a straight +line. If a previous pathloss event enabled *NEM* 1 and *NEM* 3 to see +each other, the script should be modified to add a sufficiently large +enough pathloss between the two to prevent direct communication. + +```python +from emane.events import EventService +from emane.events import PathlossEvent + +# create the event service +service = EventService(('224.1.2.8',45703,'letce0')) + +# topology: 1 <-> 2 <-> 3 + +# create an event setting the pathloss between 1 & 2 +event = PathlossEvent() +event.append(1,forward=90) +event.append(2,forward=90) + +# publish the event +service.publish(1,event) +service.publish(2,event) + +# create an event setting the pathloss between 2 & 3 +event = PathlossEvent() +event.append(2,forward=90) +event.append(3,forward=90) + +# publish the event +service.publish(2,event) +service.publish(3,event) +``` +

emane-guide/examples/events-01/scripts/send-pathloss-event.py


+ +The physical layer ignores any self-pathloss information, so you can +avoid having to create separate event objects to change the +bidirectional pathloss between two nodes. + +The `emaneevent-pathloss` command line tool can be used to set the +pathloss between one or more *NEMs*. See `emaneevent-pathloss --help` +for more information. + +```text +$ emaneevent-pathloss 1:5 200 -i letce0 +``` + +## FadingSelectionEvent A `FadingSelectionEvent` is used to set the fading model in use at a receiving *NEM* for over-the-air transmission from one or more -specified source *NEMs*. Required when the physical layer -`fading.model` configuration parameter is set to `event`. +specified source *NEMs*. + +*NEMs* must know the fading model selection for transmitting *NEMs* if +the receiving *NEM* has its physical layer [configuration parameters](physical-layer#configuration) set +accordingly: + +1. `fading.model` is `event` ```protobuf package EMANEMessage; @@ -129,3 +390,37 @@ message FadingSelectionEvent } ```

emane/src/libemane/fadingselectionevent.proto


+ +The following example uses the `emane.events` Python module to send a +fading model selection to all *NEMs*, selecting `nakagami` for all +received traffic from *NEMs* 1 through 5. + +```python +from emane.events import EventService +from emane.events import FadingSelectionEvent + +# create the event service +service = EventService(('224.1.2.8',45703,'letce0')) + +# create an event setting nakagami fading model to be used for all +# over-the-air messages from NEMs 1 - 5 +event =FadingSelectionEvent() +event.append(1,model='nakagami') +event.append(2,model='nakagami') +event.append(3,model='nakagami') +event.append(4,model='nakagami') +event.append(5,model='nakagami') + +# publish the event +service.publish(0,event) +``` +

emane-guide/examples/events-01/scripts/send-fading-selection-event.py


+ +The `emaneevent-fadingselection` command line tool can be used to set +the fading selection used at receiving *NEMs* for messages from +transmitting *NEMs*. See `emaneevent-fadingselection --help` for more +information. + +```text +$ emaneevent-fadingselection 1:5 nakagami -i letce0 +``` diff --git a/guide/site/getting-started.md b/guide/site/getting-started.md index 5b1433f..a7c7ceb 100644 --- a/guide/site/getting-started.md +++ b/guide/site/getting-started.md @@ -263,6 +263,35 @@ $ git clone https://github.com/adjacentlink/emane-guide $ emane-guide/extras/adjacentlink-foss-build.sh build ``` +{: .warning } +> If you wish to build the latest develop instead of the +latest release, modify the build script changing all branches from +master to develop. + +```python +emane_branch=master +openstatistic_branch=master +opentestpoint_branch=master +opentestpoint_probe_emane_branch=master +opentestpoint_probe_iproute_branch=master +opentestpoint_probe_iptraffic_branch=master +opentestpoint_probe_system_branch=master +opentestpoint_probe_mgen_branch=master +opentestpoint_labtools_branch=master +python_etce_branch=master +emane_node_director_branch=master +letce2_branch=master +letce2_plugin_lxc_branch=master +emane_spectrum_tools_branch=master +emane_jammer_simple_branch=master +emane_model_lte_branch=master +srsRAN_emane_branch=master +opentestpoint_probe_lte_branch=master +waveform_resource_branch=master +``` +

emane-guide/extras/adjacentlink-foss-build.sh lines: 48-66


+ + The *emane* dtd and schema must be copied to `/usr/share/emane`. These are core files that never change, regardless of which version of *emane* you are running. diff --git a/guide/site/preface.md b/guide/site/preface.md index c951a85..16c3da8 100644 --- a/guide/site/preface.md +++ b/guide/site/preface.md @@ -13,29 +13,29 @@ permalink: / The *emane-guide* is for anyone interested in using the [*Extendable Mobile Ad-hoc Network Emulator*](https://github.com/adjacentlink/emane) (*EMANE*) for -research and/or development of wireless communication systems. +research and development of wireless communication systems. -This guide assumes that you are familiar with basic wireless +The *emane-guide* assumes that you are familiar with basic wireless communication concepts and have a working knowledge of the Linux -command line. The material presented throughout this guide is done in -a broadly accessible manner. Networking tools and operating system -components, such as Linux Containers, are used throughout the examples -that accompany this guide. If you find that you require more -information or direction using any of these, there is ample -documentation readily available on the Internet. +command line. The material presented throughout the guide is done in a +broadly accessible manner. Networking tools and operating system +components, such as Linux Containers, are used throughout the +accompanying examples. If you find that you require more information +or direction using any of these, there is ample documentation readily +available on the Internet. ## How to Use This Guide -This guide is designed to be read in sequence, with each chapter -building on the previous. This guide comes with a set of examples, so -you will want to clone the latest version from -[GitHub](https://github.com) and try each of the examples yourself. +The *emane-guide* is designed to be read in sequence, with each +chapter building on the previous. The *emane-guide* comes with a set +of examples, so you will want to clone the latest version from +[GitHub](https://github.com) and give each a try. ```text $ git clone https://github.com/adjacentlink/emane-guide ``` -Some sections of this guide that focus on internal and external APIs +Some sections of the guide that focus on internal and external APIs will make more sense if you have a programming background, specifically experience with C++, Python, and Google Protocol Buffers. None of which are a prerequisite for using *EMANE*, but if @@ -45,13 +45,13 @@ proficiency with each will be helpful. ## Resources and Contributions All [Adjacent Link](https://adjacentlink.com) Free and Open Software -(FOSS), including this guide, is available on [Adjacent Link's +(FOSS), including the *emane-guide*, are available on [Adjacent Link's GitHub](https://github.com/adjacentlink) organization page. Each project has its own *Issues* and *Pull Requests*. Please use these to report any application specific bugs or questions. Additional Adjacent Link tutorials related to material and topics -referenced in this guide are as follows: +referenced the *emane-guide* are as follows: * The [*emane-control-port-tutorial*](https://github.com/adjacentlink/emane-control-port-tutorial)