netsec-ethz/scion-tutorials

General improvements in "Set up an end host" page

Closed this issue · 0 comments

Some minor stuff appearing when going through...

a)
Beginning of the tutorial explains we need dispatcher and sciond, however the snippet just below tells us to install scionlab and scion-apps-* OR scion-apps-bwtester. Whereas the former is correct, the latter relies on a dependency spaghetti and we should rather tell user to explicitly install scion-dispatcher and scion-daemon, e.g.

# Install the whole SCIONLab stack
sudo apt-get install scionlab scion-apps-*

# or only the basic components followed by a desired application
sudo apt-get scion-dispatcher scion-daemon
sudo apt-get install scion-apps-bwtester

The latter intentionally splits apt-get into separate invocations to increase readability.

b)
In the gen/ folder modifications there are some snippets containing sed. Currently they have a form of one-liners which are not fully displayed in the screen due to their length. One option would be to separate them clearly by "what to substitute" and "where to substitute", e.g.

export NODE_IP=example
sed -i "s/127\.0\.0\.1/$NODE_IP/" /etc/scion/gen/ISD*/AS*/*/topology.json

Yet another option (however drastically decreasing readability) would be to change a separator in the sed invocation in order to avoid escaping IP address, e.g.

sed -i "s@127.0.0.1@$NODE_IP@" /etc/scion/gen/ISD*/AS*/*/topology.json

c)
When reading the tutorial "page by page", a reference to CtrlAddr appears without previously being explained. This happens just after sed command modifying bind IP for the endhost topology.

d)
The very end of the tutorial only enables scion-daemon and starts scionlab.target. By reading the tutorial it's not fully clear to me why we don't

enable --now scion-daemon@blablabla
enable --now scion-dispatcher

We never had the step of adding services to the scionlab.target so I'd need to test whether the current procedure works as expected.