package
0.12.0
Repository: https://github.com/scionproto/scion.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
Package mock_control is a generated GoMock package.

# Functions

LoadSessionPolicies loads the session policies from the given file, and parses it with the given parser.
NewPublishingRoutingTable publishes routes from rt via the routePublisher.
PathPolicyWithAllowedInterfaces constructs a path policy that only accepts path that match the policy and that enter the remote AS on one of the allowed interfaces.

# Constants

The different Event values.
The different Event values.

# Variables

Default policies for session policies.
Default policies for session policies.
Default policies for session policies.
ErrAlreadyRunning is the error returned when attempting to run a task twice.
ObjectDestroyedError is returned by DeviceHandle API calls if the handle has been closed before or during the API call.

# Structs

Aggregator aggregates prefix announcements and pushes the aggregated structure to the supplied channel.
ConfigPublisher can be used to send configs to multiple clients via different means (channels, getters).
DefaultEngineFactory is a template for creating control-plane routing engines.
Diagnostics is the diagnostic information about the RouteDB.
Engine contains an entire routing context for the current control-plane configuration.
EngineController listens to session configuration updates received from the configuration modules.
EngineMetrics aggregates the metrics used by various control-plane engine components.
Gateway represents a remote gateway instance.
GatewayWatcher watches gateways in a specific remote AS.
GatewayWatcherMetrics contains the metrics the GatewayWatcher reports.
LegacySessionPolicyAdapter parses the legacy gateway JSON configuration and adapts it into the session policies format.
PrefixesFilter is a prefix consumer that only forwards calls that are accepted by the current routing policy.
No description provided by the author
PrefixWatcherConfig configures a prefix watcher that watches IP prefixes advertised by a remote gateway.
RemoteGateway is an entry for a single remote gateway.
RemoteGateways defines the current discovered routing state.
RemoteMonitor watches for currently monitored remote ASes and creates GatewayWatchers accordingly.
No description provided by the author
Router contains is a session-health-aware routing table builder that manages the data-plane routing table.
RouterMetrics are the metrics for the gateway router.
RouteUpdate is used to inform consumers about changes in the route database.
RoutingChain defines a chain in the routing table.
Session represents a point-to-point association with a remote gateway that is subject to a path policy.
SessionConfig contains the data that describes a control-plane session.
SessionConfigurator builds session configurations from the static traffic policy and the dynamic information from the discovery service.
SessionEvent is used by the session to inform other components of changes to health.
No description provided by the author
SessionMonitor monitors a session with a remote gateway instance.
SessionMonitorMetrics contains the metrics for the session monitor.
SessionPolicy specifies the policy for a session towards a remote AS.
TrafficMatcher is a traffic matcher with an ID.

# Interfaces

Consumer receives prefix updates via a channel.
No description provided by the author
DataplaneSession represents a packet framer sending packets along a specific path.
DataplaneSessionFactory is used to construct a data-plane session with a specific ID towards a remote.
Device models an object that implements the reading and writing of packets and supports the addition of IPv4 and IPv6 routes through it.
DeviceManager returns handles to shared device objects.
DeviceOpener can be used to open readable/writeable objects that support IPv4/IPv6 routing.
No description provided by the author
Discoverer discovers gateway instances.
EngineFactory can be used to create a control-plane engine for a set of session configurations.
No description provided by the author
PacketConnFactory is used to construct net.PacketConn objects for control-plane communication.
PathMonitor is used to construct registrations for path discovery.
PathMonitorRegistration provides access to the paths.
PktWriter is the interface exposed by a data-plane session for forwarding packets.
PrefixConsumer consumes the prefixes fetched by the PrefixWatcher.
PrefixFetcher fetches the IP prefixes from a remote gateway.
PrefixFetcherFactory constructs a PrefixFetcher for a given remote gateway.
Publisher is the interface for announcing prefixes to other routing backends.
No description provided by the author
RoutingPolicyProvider provides the current active routing policy.
RoutingTable is the dataplane routing table as seen from the control plane.
RoutingTableFactory is used by the engine controller to create a fresh routing table.
RoutingTableReader contains the read operations of a data-plane routing table.
RoutingTableSwapper is a concurrency-safe setter for a routing table's entire state.
RoutingTableWriter contains the write operations of a data-plane routing table.
Runner represents a runnable task.
SessionPolicyParser parses a raw session policy.
Worker is a generic interface for goroutines used by the control-plane.

# Type aliases

DeviceHandle implements reference counting for a Device.
DeviceOpenerFunc is a function type that implements DeviceOpener.
Event describes a health check event.
SessionPolicies is a list of session policies.