Skip to content

Commit

Permalink
Merge branch 'master' of github.com:scionproto/scion
Browse files Browse the repository at this point in the history
  • Loading branch information
jiceatscion committed Aug 10, 2023
2 parents 72a77cb + 24cfafc commit 5a87c8b
Show file tree
Hide file tree
Showing 29 changed files with 1,577 additions and 95 deletions.
5 changes: 5 additions & 0 deletions acceptance/topo_cs_reload/reload_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"net/http"
"os"
"os/exec"
"strings"
"testing"
"time"

Expand All @@ -42,6 +43,10 @@ var (
)

func TestPSTopoReload(t *testing.T) {
if !strings.HasSuffix(os.Getenv("TEST_TARGET"), "go_default_test") {
t.Skip("This test only runs as bazel unit test")
}

// BUG(matzf): teardown is not called when setup fails. Rewrite with T.Cleanup and T.Tempdir
s := setupTest(t)
defer s.teardownTest(t)
Expand Down
5 changes: 5 additions & 0 deletions acceptance/topo_daemon_reload/reload_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"net/http"
"os"
"os/exec"
"strings"
"testing"
"time"

Expand All @@ -31,6 +32,10 @@ import (
)

func TestSDTopoReload(t *testing.T) {
if !strings.HasSuffix(os.Getenv("TEST_TARGET"), "go_default_test") {
t.Skip("This test only runs as bazel unit test")
}

defer teardownTest(t)
setupTest(t)

Expand Down
60 changes: 3 additions & 57 deletions doc/beacon-metadata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -294,64 +294,10 @@ are available:
| Notes | The notes for each AS on the path |
+-------------------+---------------------------------------------------------------------------------+

Configuration File Format
=========================

The control service obtains the information for the ``StaticInfoExtension``
for the PCBs it sends out from a JSON configuration file, ``staticInfoConfig.json``.

There is one top-level entry for each type of metadata. All entries are optional.

- ``Latency`` is a map where the key is Interface ID ``i`` and the values are:

+-------------+-------------------------------------------+-------------------------------------------------+
| Name | Type | Description |
+=============+===========================================+=================================================+
| ``Inter`` | Duration | Latency from interface ``i`` to remote AS |
+-------------+-------------------------------------------+-------------------------------------------------+
| ``Intra`` | Map: Interface ID ``j`` : Duration | Latency from interface ``i`` to interface ``j`` |
+-------------+-------------------------------------------+-------------------------------------------------+

- ``Bandwidth`` is a map where the key is Interface ID ``i`` and the values are:

+-------------+-------------------------------------------+-----------------------------------------------------------------+
| Name | Type | Description |
+=============+===========================================+=================================================================+
| ``Inter`` | Integer | Bandwidth in Kbit/s between interface ``i`` and the remote AS |
+-------------+-------------------------------------------+-----------------------------------------------------------------+
| ``Intra`` | Map: Interface ID ``j`` : Integer | Bandwidth in Kbit/s between interface ``i`` and interface ``j`` |
+-------------+-------------------------------------------+-----------------------------------------------------------------+

- ``Geo`` is a map where the key is Interface ID ``i`` and the values are:

+-----------------+-----------------+-----------------------------------------------+
| Name | Type | Description |
+=================+=================+===============================================+
| ``Latitude`` | Decimal value | Longitude GPS coordinates of interface ``i`` |
+-----------------+-----------------+-----------------------------------------------+
| ``Longitude`` | Decimal value | Latitude GPS coordinate of interface ``i`` |
+-----------------+-----------------+-----------------------------------------------+
| ``Address`` | String | Address of interface ``i`` |
+-----------------+-----------------+-----------------------------------------------+

- ``LinkType`` is a map where the key is Interface ID ``i`` and the value is one of

- ``"direct"``
- ``"multihop"``
- ``"opennet"``

- ``Hops`` is a map where the key is Interface ID ``i`` and the values are:

+-------------+------------------------------------+----------------------------------------------------------------------+
| Name | Type | Description |
+=============+====================================+======================================================================+
| ``Intra`` | Map: Interface ID ``j`` : Integer | Number of internal hops between interface ``i`` and interface ``j`` |
+-------------+------------------------------------+----------------------------------------------------------------------+

- ``Note`` is a string.
.. _path-metadata-example-conf:

Example Configuration
---------------------
=====================

Let us look at an AS with three interfaces with IDs 1, 2, 3 and 5 which
looks like the diagram below. The values attached to the connections
Expand All @@ -360,7 +306,7 @@ represent the latency in milliseconds between interfaces.
.. figure:: fig/beacon_metadata/example_config_metrics.png
:width: 50%

The configuration file for this AS could then look like this:
The :ref:`staticInfoConfig.json <control-conf-path-metadata>` configuration file for this AS could then look like this:

.. code:: JSON
Expand Down
1 change: 1 addition & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
'recommonmark',
'sphinx_rtd_theme',
'sphinx.ext.extlinks',
'sphinxcontrib.openapi',
]

# Add any paths that contain templates here, relative to this directory.
Expand Down
Loading

0 comments on commit 5a87c8b

Please sign in to comment.