Files
ferrix/scripts/interop/install.sh
T
Rayhaan JaufeerallyandClaude Fable 5.1 fd2248feb5 Peer at link-local addresses: fe80::1%eth0
A peer's endpoint may be a link-local IPv6 address with the interface it
is on. Such a peer is the address and the interface together, wherever
peers are told apart: admission, collisions, hold-downs, the refusal log,
the status page. The interface is looked up by name each time it is
needed, so one that appears later or is made anew is found.

Our routes go out with our link-local address in both places of
MP_REACH_NLRI's next hop, as FRR sends its own. A peer's link-local next
hop is taken alone, twice, or after "::" (BIRD), and resolved in the
kernel on the interface of the session rather than by looking fe80::/64
up, which every interface has.

The lab has a new phase, linklocal: sessions with FRR (by interface, with
radvd beside the daemon) and BIRD over a LAN with link-local addresses
only, both families, pings across, the interface down and up.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 18:24:13 +02:00

10 lines
510 B
Bash
Executable File

#!/bin/sh
# Installs what scripts/interop/lab.sh needs, on Ubuntu or Debian: FRR and
# BIRD from the distribution, Routinator from crates.io (a few minutes to
# build), and radvd, which tells FRR who is on a link.
set -eu
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y frr bird2 jq curl radvd
# They are run by the lab, in namespaces, not as services of this machine.
sudo systemctl disable --now frr bird radvd 2>/dev/null || true
command -v routinator >/dev/null || cargo install --locked routinator