Skip to content

Commit

Permalink
Initial development.
Browse files Browse the repository at this point in the history
  • Loading branch information
sgalgano committed Aug 18, 2023
0 parents commit c324503
Show file tree
Hide file tree
Showing 193 changed files with 22,901 additions and 0 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages

on:
push:
branches: ["main"]
paths:
- "guide/site/**"

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# Build job
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: guide/site
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
working-directory: '${{ github.workspace }}/guide/site
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
with:
working-directory: '${{ github.workspace }}/guide/site
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v1
with:
path: "guide/site/_site"

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
47 changes: 47 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
The EMANE Guide is licensed under the following terms:

Copyright (c) 2014-2023 - Adjacent Link LLC, Bridgewater, New Jersey
All rights reserved.

Except where otherwise noted, this work (the EMANE Guide) is licensed
under Creative Commons Attribution 4.0 International License
(https://creativecommons.org/licenses/by/4.0/).

Copyright (c) 2014-2023 - Adjacent Link LLC, Bridgewater, New Jersey
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Adjacent Link LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Portions of the EMANE Guide derive from EMANE User Manual 0.8.1 which
has the following license:

Copyright (c) 2013 - Adjacent Link LLC, Bridgewater, New Jersey
Copyright (c) 2012 - DRS CenGen, LLC, Bridgewater, New Jersey

This work is licensed under the Creative Commons Attribution 3.0
Unported License (http://creativecommons.org/licenses/by/3.0/).
17 changes: 17 additions & 0 deletions examples/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
examples= \
commeffect-01 \
bentpipe-01 \
bentpipe-02 \
ieee80211abg-01 \
rfpipe-01 \
tdma-01

all:
@for example in $(examples); do \
$(MAKE) -C $$example; \
done

clean:
@for example in $(examples); do \
$(MAKE) -C $$example clean; \
done
26 changes: 26 additions & 0 deletions examples/antenna-patterns/antenna-30-degree-sector-24.25dbi.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!DOCTYPE antennaprofile SYSTEM "file:///usr/share/emane/dtd/antennaprofile.dtd">
<antennaprofile>
<antennapattern>
<elevation min="-90" max="-16">
<bearing min="0" max="359">
<gain value="-200.0"/>
</bearing>
</elevation>
<elevation min="-15" max="15">
<bearing min="0" max="15">
<gain value="24.25"/>
</bearing>
<bearing min="16" max="344">
<gain value="-200.0"/>
</bearing>
<bearing min="345" max="359">
<gain value="24.25"/>
</bearing>
</elevation>
<elevation min="16" max="90">
<bearing min="0" max="359">
<gain value="-200.0"/>
</bearing>
</elevation>
</antennapattern>
</antennaprofile>
13 changes: 13 additions & 0 deletions examples/antenna-patterns/antenna-omni-24.25dbi.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE antennaprofile SYSTEM "file:///usr/share/emane/dtd/antennaprofile.dtd">

<!-- omni antenna pattern-->
<antennaprofile>
<antennapattern>
<elevation min='-90' max='0'>
<bearing min='0' max='359'>
<gain value='24.25'/>
</bearing>
</elevation>
</antennapattern>
</antennaprofile>
10 changes: 10 additions & 0 deletions examples/bentpipe-01/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
topdir=..

all:
letce2 \
lxc \
build \
experiment.cfg

clean:
letce2 lxc clean
88 changes: 88 additions & 0 deletions examples/bentpipe-01/experiment.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
[!experiment]
@experiment_control_interface=letce0

[host:experiment]
__template.path=../templates/host:../templates/common
@bridge.0.name=%(@experiment_control_interface)s
@bridge.0.ipv4=10.99.0.100/16
__template.file.100=bridge
__template.file.101=control
__template.file.102=start.local
__template.file.103=otestpoint-broker.xml
__template.file.104=stop.local
__template.file.105=functions
__template.file.106=pathloss.eel@mv{scenario.eel}
__template.file.107=eelgenerator.xml
__template.file.108=eventservice.xml
__template.file.109=prestart.local

[!common:experiment]
+@lxc.interface.0.link =%(@experiment_control_interface)s
+@lxc.interface.0.ipv4=%(@control_ip_addr)s
+@lxc.interface.0.name=%(@control_interface)s
@control_interface=backchan0
__template.file.001=lxc.conf
__template.file.002=lxc.hook.autodev.sh
+@control_ip_addr=10.99.0.%(@id)s/16

[!bentpipe:common]
__template.path=../templates/radio/bentpipe:../templates/radio/common:../templates/common
__template.file.100=init
__template.file.101=init.local
__template.file.102=functions
__template.file.103=emane-platform.xml
__template.file.104=emane-bentpipe-nem.xml
__template.file.105=emane-bentpipe-pcr.xml
__template.file.106=emane-transvirtual.xml
__template.file.107=otestpoint.xml
__template.file.108=otestpoint-probe-emane-physicallayer.xml
__template.file.109=otestpoint-probe-emane-bentpipe.xml
__template.file.110=otestpoint-probe-emane-virtualtransport.xml
__template.file.111=otestpoint-recorder.xml
+@lxc.interface.1.link=%(@lan_link)s
+@lxc.interface.1.ipv4=%(@lan_ip_addr)s
+@lxc.interface.1.name=%(@lan_interface)s
@waveform_interface=emane0
@sub_id=1
@tx_frequency_hz=29.910G
@rx_frequency_hz=29.910G
+@nem_id=%(@id)s
@radio_ip_addr=10.100.0.%(@nem_id)s/24
@lan_link=r%(@id)s_0
@lan_ip_addr=10.98.%(@id)s.1/24
@lan_interface=lan0
@tx_power_dbm=0
@propagationmodel=precomputed
@tx_mtu_bytes=2048

[!application-host:common]
__template.path=../templates/application-host:../templates/common
__template.file.100=init
__template.file.101=init.local
__template.file.102=functions
+@lxc.interface.1.link=%(@lan_link)s
+@lxc.interface.1.name=%(@lan_interface)s
+@lxc.interface.1.ipv4=%(@lan_ip_addr)s
@lan_interface=lan0
@lan_ip_addr=10.98.%(@id)s.2/24
@lan_link=r%(@id)s_0
+@gateway_ip_addr=10.98.%(@id)s.1/24
+@control_ip_addr=10.99.1.%(@id)s/16

[!ground:bentpipe]
__template.file.200=emane-bentpipe-ground-radiomodel.xml@mv{emane-bentpipe-radiomodel.xml}
__template.file.201=node-poststart

[node-1:ground]
@id=1
@antenna.0=0:omni;0.5;0

[node-2:ground]
@id=2
@antenna.0=0:omni;0;0

[host-1:application-host]
@id=1

[host-2:application-host]
@id=2
2 changes: 2 additions & 0 deletions examples/bentpipe-01/letce2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[lxc]
module=letce2.plugins.lxc
15 changes: 15 additions & 0 deletions examples/bentpipe-01/node-poststart
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash -

node_name=$1

if (! route | grep -q 10.98.1.0 )
then
echo "$node_name: ip route add 10.98.1.0/24 via 10.100.0.1"
ip route add 10.98.1.0/24 via 10.100.0.1
fi

if (! route | grep -q 10.98.2.0 )
then
echo "$node_name: ip route add 10.98.2.0/24 via 10.100.0.2"
ip route add 10.98.2.0/24 via 10.100.0.2
fi
2 changes: 2 additions & 0 deletions examples/bentpipe-01/pathloss.eel
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0.0 nem:1 pathloss nem:2,87.0

10 changes: 10 additions & 0 deletions examples/bentpipe-02/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
topdir=..

all:
letce2 \
lxc \
build \
experiment.cfg

clean:
letce2 lxc clean
15 changes: 15 additions & 0 deletions examples/bentpipe-02/antennaprofilemanifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<%
profile_dir=__top_dir + '/../antenna-patterns'
%>
<!DOCTYPE profiles SYSTEM "file:///usr/share/emane/dtd/antennaprofile.dtd">
<profiles>
<profile id='1'
antennapatternuri='${profile_dir}/antenna-30-degree-sector-24.25dbi.xml'>
<placement north='0' east='0' up='0'/>
</profile>
<profile id='2'
antennapatternuri='${profile_dir}/antenna-omni-24.25dbi.xml'>
<placement north='0' east='0' up='0'/>
</profile>
</profiles>
Loading

0 comments on commit c324503

Please sign in to comment.