Skip to content

Commit 7e5117f

Browse files
committed
chore: initial commit
0 parents  commit 7e5117f

File tree

4,168 files changed

+2197748
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,168 files changed

+2197748
-0
lines changed

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*.internal
2+
*.d
3+
*.o
4+
5+
cmake-cache
6+
build
7+
ns-allinone-3.36/__pycache__
8+
9+
ns-allinone-3.36/ns-3.36/.lock-ns3_linux_build
10+
slurm-*
11+
res/
12+
ns-allinone-3.36/ns-3.36/res
13+
.DS_Store

CITATION.cff

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
cff-version: 1.2.0
2+
message: "NC-RDF Simulator"
3+
authors:
4+
- family-names: Fuger
5+
given-names: Konrad
6+
orcid: https://orcid.org/0000-0002-8472-1483
7+
title: "NC-RDF Simulator"
8+
version: 1.0.0
9+
doi: XXX
10+
date-released: 2024-10-10

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# nc-rdf-simulator
2+
3+
This repository holds the simulation code for the evaluation of flooding protocols for urban UAV networks. It is intended for interested parties to reproduce research results, understand the inner workings of the protocols, or apply them to their own scenarios.
4+
5+
The simulation is based on [ns-3](https://www.nsnam.org/) and uses its IEEE 802.11p implementation.
6+
7+
All flooding protocols are implemented as application layer protocols.
8+
9+
## Getting started
10+
All simulation code is the `ns-allinone-3.36/ns-3.36` folder. In there, simulations are setup in the `scratch` folder. For convenience, all simulations are wrapped in a python scripts.
11+
12+
To execute a NC-RDF simulation, run
13+
14+
```
15+
python3 run_nc_rdf_experiment <k> 0
16+
```
17+
18+
where $k \in [0, 2079]$.
19+
20+
The `exploration` directory contains all scripts used to post process and analyze the simulation data.

ns-allinone-3.36/.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?><config>
2+
<ns-3 dir="ns-3.36" branch="master"/>
3+
<pybindgen dir="pybindgen-0.22.1" version="0.22.1"/>
4+
<netanim dir="netanim-3.108" version="netanim-3.108"/>
5+
<bake dir="bake" version="bake"/>
6+
</config>

ns-allinone-3.36/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
This is **_ns-3-allinone_**, a repository with some scripts to download
2+
and build the core components around the
3+
[ns-3 network simulator](https://www.nsnam.org).
4+
More information about this can be found in the
5+
[ns-3 tutorial](https://www.nsnam.org/documentation/).
6+
7+
If you have downloaded this in tarball release format, this directory
8+
contains some released ns-3 version, along with third party components
9+
necessary to support two optional ns-3 features: a Python
10+
bindings generator named [pybindgen](https://github.com/gjcarneiro/pybindgen/)
11+
and the [NetAnim network animator](https://gitlab.com/nsnam/netanim/).
12+
In this case, just run the script `build.py`, which attempts to build
13+
NetAnim and pybindgen (if dependencies are met) and then ns-3 itself.
14+
If you want to build ns-3 examples and tests (a full ns-3 build),
15+
instead type:
16+
```
17+
./build.py --enable-examples --enable-tests
18+
```
19+
20+
This directory also contains the [bake build tool](https://www.gitlab.com/nsnam/bake/), which allows access to
21+
other extensions of ns-3, including the Direct Code Execution environment,
22+
and click and openflow extensions for ns-3. Consult the ns-3 tutorial
23+
on how to use bake to access optional ns-3 components.
24+
25+
If you have downloaded this from Git, the `download.py` script can be used to
26+
download bake, netanim, pybindgen, and ns-3-dev. The usage to use
27+
basic ns-3 (netanim and ns-3-dev) is to type:
28+
```
29+
./download.py
30+
./build.py --enable-examples --enable-tests
31+
```
32+
and change directory to ns-3-dev for further work.

ns-allinone-3.36/bake/TODO

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
* check build and source tool versions from bakeconf.xml
2+
* compressed 'bake' binary
3+
* add <patch> xml node in source node.
4+
* export env vars that need to be modified in shell from build objects
5+
* find a way for users to specify an env var for build
6+
* find a way to deal with per-module options that are not build-tool-dependent
7+
* change $INSTALLDIR to ${PREFIX} in xml
8+
* make <installed value=""> tags work when mving the directory.
9+
* check that module names do not contain reserved characters for paths.
10+
11+
* missing commands:
12+
- diff in ModuleSource
13+
- reset in ModuleSource
14+
- clean in ModuleSource
15+
- query modules, deps, etc.
16+
17+

ns-allinone-3.36/bake/bake.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/usr/bin/env python3
2+
3+
###############################################################################
4+
# Copyright (c) 2013 INRIA
5+
#
6+
# This program is free software; you can redistribute it and/or modify
7+
# it under the terms of the GNU General Public License version 2 as
8+
# published by the Free Software Foundation;
9+
#
10+
# This program is distributed in the hope that it will be useful,
11+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
# GNU General Public License for more details.
14+
#
15+
# You should have received a copy of the GNU General Public License
16+
# along with this program; if not, write to the Free Software
17+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
#
19+
# Authors: Daniel Camara <daniel.camara@inria.fr>
20+
# Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
21+
###############################################################################
22+
# bake.py
23+
#
24+
# Bake executable, in fact it is just a wrapper for the main Bake class.
25+
26+
import sys, os
27+
import bake
28+
29+
try:
30+
dir = oridir = os.getcwd()
31+
32+
while True:
33+
script = os.path.join(dir, "bake.py")
34+
if os.path.isfile(script):
35+
if dir == oridir:
36+
break
37+
os.chdir(dir)
38+
args = ' '.join(sys.argv[1:])
39+
os.system("python bake.py " + args)
40+
exit()
41+
else:
42+
tmp = os.path.dirname(dir)
43+
if tmp == dir:
44+
break
45+
dir = tmp
46+
47+
b = bake.Bake()
48+
b.main(sys.argv)
49+
except SystemExit as e:
50+
sys.exit(e)
51+
except:
52+
print(" > Unexpected exception!\n"
53+
" Please register the error at https://www.nsnam.org/bugzilla, \n"
54+
" with a copy of the trace below and, if possible, a list of steps to reproduce the error!<")
55+
sys.stdout.flush()
56+
bake.Utils.print_backtrace()

0 commit comments

Comments
 (0)