Skip to content
This repository has been archived by the owner on Nov 14, 2023. It is now read-only.

Link Management

Paul Lorenz edited this page Jun 16, 2023 · 6 revisions

How do we decide how to form links between routers?

Each router can specify link listeners and link dialers.

Link Listeners

Each listener has the following relevant properties:

Attribute Description
bind Specifies which interface or interfaces to bind to, as well as what protocol to use.
Example: tls:0.0.0.0:443
advertise Lets other routers know where to reach this listener
groups Provides a way to limit which dialers should dial this listener. Only dialers which have a group in common should try to dial this listener. If no groups are provided then the listener will be placed in the default group.
bindInterface Not used while binding, rather indicates that a listener is on the same interface as a dialer. This lets us compare incoming links to dialed links and determine if they are on the same interface. Optional, defaults to blank.

Link Dialers

Each dialer has the following relevant properties

Attribute Description
bind Specifies which network interface should be used to dial. If not specified, the default interface will be used.
groups Specifies which listeners can be dialed. Only listeners which share a group with the dialer can be dialed. If no groups are provided then the dialer will be placed in the default group.

Duplicate Links

We generally only want a limited set of links. Links are equivalent if they meet the following criteria:

  1. They have the same routers as endpoints
  2. They use the same protocol
  3. They are on the same interface. If the listener's bindInterface matches the dialer's bind, or they're both unspecified, then the link is assumed to be on the same interface.
Clone this wiki locally