Commit graph

98 commits

Author SHA1 Message Date
Maximilian Nitsch
a837c7d722 docs: Add manpage to mkdocs
Uses pandoc to convert the manpage into a markdown document and add it
to the mkdocs documentation.

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2025-06-13 17:55:24 +02:00
Felix Walter
42d312d958 Merge branch '15-207-improve-contact-plan-handling-in-bdm' into 'master'
Improve contact plan handling in DFCF BDM and tools

Closes #207, #15, and #238

See merge request d3tn/ud3tn!199
2025-06-06 10:11:05 +02:00
Felix Walter
8b3d84e6f4 doc/testing: Document that now we need -r in integration tests
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2025-06-06 09:01:41 +02:00
Felix Walter
868bac67b6 router_agent, mk: Add stub of JSON configuration feature
This adds a function to decode JSON configuration via Jansson to the
router agent. The JSON functionality and, thus, the dependency on
Jansson, can be disabled during the build process by setting the
`DISABLE_JSON` compile-time flag (see `config.mk.example` for details).

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2025-06-05 17:03:39 +02:00
Felix Walter
6deef60dfb Apply suggestions from GitLab MR !211
Co-authored-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-12-06 08:25:25 +01:00
Maximilian Nitsch
482bf69434 doc: Link Protobuf docs instead of .proto files
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-12-05 16:58:01 +01:00
Maximilian Nitsch
56f7d5a1ef doc: Remove scalar value types from protoc-gen-doc markdown template
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-12-05 16:36:48 +01:00
Maximilian Nitsch
6be8a3ed79 doc/README.md: Update mkdocs build instructions
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-12-05 09:33:25 +01:00
Maximilian Nitsch
f1634f090c Makefile: Add make target to build HTML docs
- Add `make doc` target to run protoc-gen-doc before mkdocs
- Ignore auto generated markdown files

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-12-05 09:31:37 +01:00
Maximilian Nitsch
6bd781656e doc: Remove table of contents from protoc-gen-doc markdown template
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-12-05 09:31:37 +01:00
Maximilian Nitsch
66a47d91e6 doc: Add protoc-gen-doc markdown template
In order to adjust the resulting markdown files to our needs, the
upstream markdown template[^1] is added. The markdown template itself is
added to exclude_docs in the mkdocs.yaml file.

[^1]: https://github.com/pseudomuto/protoc-gen-doc/blob/master/resources/markdown.tmpl

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com
2024-12-05 09:31:37 +01:00
Felix Walter
00b29cb9c2 Bump dates and versions for v0.14.2
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-12-04 11:00:42 +01:00
Felix Walter
4e684d1891 doc: Add alt text to image on overview page
For accessibility.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-16 12:01:22 +01:00
Felix Walter
ca0ffd2ef4 doc: Add white background with some spacing to SVG figures
This improves their appearance and readability in dark mode.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-16 12:01:22 +01:00
Felix Walter
244f552524 doc: Add a section on release builds
Release builds of µD3TN are quite special, so we add some colorful hints
how to deal with them.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-16 12:01:22 +01:00
Felix Walter
b4b7ffeaf2 doc, README: Move "build and run" instructions to documentation
This moves most of the extended instructions to the mkDocs pages. The
intention is to keep the bare minimum in the README for developers that
just want to quickly try it out.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-16 12:01:22 +01:00
Felix Walter
421dec1da5 doc: Add page how to build an AAP 2.0 client
This adds a page explaining the use of the Python module to build an AAP
2.0 client and links it from the corresponding page.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-16 12:01:22 +01:00
Felix Walter
c640089dee doc: Add architecture overview page
This adds a page to the web documentation that provides a high-level
overview of µD3TN's architecture. The existing architecture figure is
updated and renamed appropriately.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-16 12:01:21 +01:00
Felix Walter
897d8f4871
Merge branch 'feature/mkdocs'
See !190
2024-11-15 13:06:32 +01:00
Fiona Fuchs
77774158fd Minor changes to URLs and visuals
This updates the BPv7 URLs in the AAP documentation, and makes some minor fixes on the index page.

Signed-off-by: Fiona Fuchs <fiona.fuchs@d3tn.com>
2024-11-15 12:20:56 +01:00
Felix Walter
8a00f81e7e doc: Fix some broken links
Some links changed when moving docs around. This fixes them.

See: https://gitlab.com/d3tn/ud3tn/-/merge_requests/190#note_2212654238

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-15 11:32:21 +01:00
Felix Walter
0305a056db Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: murzik <murzik@mailbox.org>
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-11-15 11:25:18 +01:00
Fiona Fuchs
b148d4d177 Move file to image-material directory, adjust CSS
This moves the 'build_plantuml.sh' file to the 'image-material' directory, and takes on a more generic approach for the CSS changes.

Signed-off-by: Fiona Fuchs <fiona.fuchs@d3tn.com>
2024-11-15 09:52:57 +01:00
Fiona Fuchs
e249cc3006 Add index.md file, change documentation structure, add new elements and images to folders, add CSS
This performs the following actions:
- change overall documentation tree to adjust to existing material
- add CSS for improved visuals
- add folders to improve structure
- move the README of the Contact Plan Reader to the doc folder and integrate it into the documentation
- add file for 'Home' to provide a starting point for the documentation

Signed-off-by: Fiona Fuchs <fiona.fuchs@d3tn.com>
2024-11-15 07:59:32 +01:00
Fiona Fuchs
e7c9c7579a Add existing documentation material to MkDocs
This adds existing documentation files for ud3tn to the MkDocs skeleton.

Signed-off-by: Fiona Fuchs <fiona.fuchs@d3tn.com>
2024-11-12 11:33:24 +01:00
Felix Walter
edcbeb06b8 Bump date in Manpage
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-28 09:47:10 +01:00
Felix Walter
8c80cf994c Move mkdocs root directory to top-level
This makes `doc/` the actual documentation root directory to simplify
the repository structure.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-16 16:06:25 +02:00
Maximilian Nitsch
31a666a1d0 doc: Add MkDocs skeleton
Adds a MkDocs configuration and directory, as well as a Nix derivation
for creating HTML files. Since we do not want to add the MkDocs
documentation to the overlay, `self` is passed to `shell.nix` to inherit
the inputs from the packages.

The inline code documentation is added to the MkDocs HTML output using
the plugins `mkdoxy` for C code and `mkdocstrings` for Python code.

Adds an job to the CI to build and deploy the documentation at
https://d3tn.gitlab.io/ud3tn/.

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-10-16 13:58:40 +02:00
Felix Walter
056142de6d cmdline, docs: Warn about potentially insecure AAP TCP arguments
As AAP does not provide TLS support, a user exposing it on a TCP socket
should know what they are doing and set up appropriate firewall rules.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-02 07:49:46 +02:00
Felix Walter
17bd09a84b cmdline, docs: Enable TCP support for AAP 2.0
This allows for using AAP 2.0 over TCP, which the Python tools support
already. Note that the user must make sure that the socket is not
exposed externally.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-02 07:49:46 +02:00
Felix Walter
d44ba151cd doc: Extend documentation on AAP 2.0 security and persistence
We did not really explain how to deal with node restarts beforehand.
This adds some hints to the quick start guide and the SQLite CLA docs.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-01 09:27:50 +02:00
Felix Walter
d4f0ec68d9 doc: Add line breaks in code blocks in QSG
This fixes rendering of the commands when using `pandoc` to convert the
document to PDF.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-01 09:27:50 +02:00
Felix Walter
49d9338d64 doc: Remove heading no-TOC markers
We do not render it with `pandoc` automatically and it looks like an
artifact in GitLab. In the rendered version it is not really necessary
as well -- in our case it means just that the heading will receive a
number which is OK in my opinion.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-01 09:27:50 +02:00
Felix Walter
b47b4e421b doc: Annotate code blocks with sh
This ensures proper syntax highlighting.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-01 09:27:50 +02:00
Felix Walter
1ffc2fec06 Bump version to v0.14.0 and update CHANGELOG and dates
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-01 09:27:50 +02:00
Felix Walter
8dd5989c44 doc: Update documentation fo v0.14.0
- document implemented fragmentation and storage features for AAP 2.0
- add AAP 2.0 interactions to quick start guide
- update Manpage, README, and testing docs accordingly

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-10-01 09:27:50 +02:00
Felix Walter
0b4550f765 cmdline: Rename eid to node-id
This was confusing users. We are adding a detailed explanation in the
man page and informing in the help text that the parameter refers to the
administrative endpoint of uD3TN.

Fixes: #213

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-09-13 15:18:03 +02:00
Felix Walter
17cb5b991f doc: contacts data format: Remove reliability
The field is not used anymore as we do dropped support for probabilistic
routing, which was a very primitive prototype, anyways. The contact
parser only supports the field for compatibility reasons and drops it in
case it is present. Thus, we should not document it here.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-09-13 14:01:21 +02:00
Felix Walter
b01d74bb21
Merge branch 'fix/docs'
See !182
2024-07-15 23:01:49 +02:00
Maximilian Nitsch
40d6ec7b55 doc/sqlite-storage: Move description to the corresponding subsection
After merging !184, the description of how the storage can be accessed
when using the integrated routing agent must be moved to the
corresponding subsection.

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-15 14:25:07 +02:00
Maximilian Nitsch
b2dd484b27 Apply 5 suggestion(s) to 4 file(s)
Co-authored-by: Felix Walter <code@felix-walter.eu>
2024-07-15 12:06:09 +00:00
Felix Walter
87be9749af Re-integrate v0.13.0 routing code as "integrated default BDM"
This makes µD3TN behave the same as v0.13.0 when executed without an
additional commandline argument. A new commandline argument `-d` /
`--external-dispatch` is added, which enables the use of external BDMs.
The default forwarding implementation is now again provided using the
v0.13 code, extracted from e1621765a4 and
adapted to the new agent-based forwarding implementation.

Central changes to the old code include:

- A new "Routing Agent" that handles incoming configuration commands,
  FIB updates, and BDM dispatch requests.
- The use of the BDM authorization flag to authorize contact
  configuration commands.
- The Contact Manager now only triggers the creation and removal of
  links / FIB entries; bundle dispatch is triggered through the FIB and
  BDM callback functions of the Routing Agent.
- The fragmentation logic is adapted to store the original bundle along
  with an offset and length value, instead of pre-creating and storing
  the fragments.
- The bundle re-scheduling logic integrated into the Routing Agent is
  simplified and does not support changing the fragmentation parameters.
  A new function is added to the Router that searches for a new route
  for such fragments that were already scheduled at some point,
  considering them as un-fragmentable bundle with overridden fragment
  offset and length.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-07-15 00:46:14 +02:00
Felix Walter
d480ce3e4c doc: Extend sqlite CLA docs to capture three options to use it
This also fixes the CLA address specified with `aap2-config` - it has to
contain a colon at the end.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-07-14 23:32:31 +02:00
Maximilian Nitsch
099f40421d doc/sqlite-storage: Use AAP2 instead of AAP commands
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-12 11:02:22 +02:00
Maximilian Nitsch
9367b4b65f doc/posix_quick_start_quide: Use AAP2 instead of AAP commands
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-12 10:33:24 +02:00
Maximilian Nitsch
76702b35fd man page: Add missing description of the CLI argument --bdm-secret-var
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-12 10:33:24 +02:00
Maximilian Nitsch
15c77e2c50 doc: Update docs to reflect the latest changes to μD3TN
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-12 10:33:23 +02:00
Maximilian Nitsch
4435d42dcf doc/aap2: Fix AAP2 documentation
- Replace a), b) enumeration with 1., 2. because this was not displayed
  correctly by Gitlab
- Fix figure link to `aap20-seq_link_dispatch.svg`

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-11 09:05:49 +02:00
Felix Walter
d92c77da46 doc: Update Manpage
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-07-04 16:03:26 +02:00
Maximilian Nitsch
3ba8281796 treewide: Use python-ud3tn-utils scripts instead of those from tools/
Changes all occurrences of the old script paths from tools/ to the
scripts installed by python-ud3tn-utils.

Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2024-07-01 10:10:56 +02:00