Directories ¶
Path | Synopsis |
---|---|
Border is a Go implementation of the SCION border router.
|
Border is a Go implementation of the SCION border router. |
conf
Package conf holds all of the global router state, for access by the router's various packages.
|
Package conf holds all of the global router state, for access by the router's various packages. |
metrics
Package metrics defines and exports router metrics to be scraped by prometheus.
|
Package metrics defines and exports router metrics to be scraped by prometheus. |
netconf
Package netconf handles the network configuration of the router as described by the topology.
|
Package netconf handles the network configuration of the router as described by the topology. |
rcmn
Package rcmn contains small common types used by the border router, to eliminate circular dependencies.
|
Package rcmn contains small common types used by the border router, to eliminate circular dependencies. |
rpkt
Package rpkt contains the router representation of a SCION packet.
|
Package rpkt contains the router representation of a SCION packet. |
examples
|
|
pingpong
Simple application for SCION connectivity using the snet library.
|
Simple application for SCION connectivity using the snet library. |
lib
|
|
addr
Package addr contains types for SCION addressing.
|
Package addr contains types for SCION addressing. |
ctrl
Package ctrl handles SCION control-plane payloads, which are encoded as capnp proto messages.
|
Package ctrl handles SCION control-plane payloads, which are encoded as capnp proto messages. |
ctrl/ctrl_msg
Package ctrl_msg implements a layer for sending SCION Ctrl payload requests/notifications via the infra dispatcher, including integrated signing and signature verification of ctrl payloads.
|
Package ctrl_msg implements a layer for sending SCION Ctrl payload requests/notifications via the infra dispatcher, including integrated signing and signature verification of ctrl payloads. |
env
Package env contains common command line and initialization code for SCION services.
|
Package env contains common command line and initialization code for SCION services. |
hpkt
Package hpkt (Host Packet) contains low level primitives for parsing and creating end-host SCION messages.
|
Package hpkt (Host Packet) contains low level primitives for parsing and creating end-host SCION messages. |
infra
Package infra contains common definitions for the SCION infrastructure messaging layer.
|
Package infra contains common definitions for the SCION infrastructure messaging layer. |
infra/dedupe
Package dedupe implements a generic request/response proxy that issues a single request instead of multiple redundant requests.
|
Package dedupe implements a generic request/response proxy that issues a single request instead of multiple redundant requests. |
infra/disp
Package disp implements a generic message dispatcher for request/reply protocols.
|
Package disp implements a generic message dispatcher for request/reply protocols. |
infra/example
Example infrastructure service that does nothing except service some requests using default handlers.
|
Example infrastructure service that does nothing except service some requests using default handlers. |
infra/messenger
Package messenger contains the default implementation for interface infra.Messenger.
|
Package messenger contains the default implementation for interface infra.Messenger. |
infra/modules/combinator
Package combinator contains methods for constructing SCION forwarding paths.
|
Package combinator contains methods for constructing SCION forwarding paths. |
infra/modules/segverifier
Package segverifier implements primitives for verifying path segments.
|
Package segverifier implements primitives for verifying path segments. |
infra/modules/trust
Package trust defines type Store, a unified interface for TRC and Certificate retrieval.
|
Package trust defines type Store, a unified interface for TRC and Certificate retrieval. |
infra/modules/trust/trustdb
Package trustdb provides wrappers for SQL calls for managing a database containing TRCs and Certificate Chains.
|
Package trustdb provides wrappers for SQL calls for managing a database containing TRCs and Certificate Chains. |
integration
Package integration simplifies the creation of integration tests.
|
Package integration simplifies the creation of integration tests. |
pathmgr
Package pathmgr implements an asynchronous Path Resolver for SCION Paths.
|
Package pathmgr implements an asynchronous Path Resolver for SCION Paths. |
pktcls
Package class implements tools for classifying and acting on network packets.
|
Package class implements tools for classifying and acting on network packets. |
profile
Package profile handles CPU and memory profiling.
|
Package profile handles CPU and memory profiling. |
prom
Package prom contains some utility functions for dealing with prometheus metrics.
|
Package prom contains some utility functions for dealing with prometheus metrics. |
sciond
Package sciond queries local SCIOND servers for information.
|
Package sciond queries local SCIOND servers for information. |
snet
Package snet implements interfaces net.Conn and net.PacketConn for SCION connections.
|
Package snet implements interfaces net.Conn and net.PacketConn for SCION connections. |
snet/rpt
package rpt (Reliable Packet Transport) implements a simple packet-oriented protocol with ACKs on top of net.PacketConn.
|
package rpt (Reliable Packet Transport) implements a simple packet-oriented protocol with ACKs on top of net.PacketConn. |
snet/squic
QUIC/SCION implementation.
|
QUIC/SCION implementation. |
sock/reliable
Package reliable implements the SCION ReliableSocket protocol Servers should first call Listen on a UNIX socket address, and then call Accept on the received Listener.
|
Package reliable implements the SCION ReliableSocket protocol Servers should first call Listen on a UNIX socket address, and then call Accept on the received Listener. |
sockctrl
This version of sockctrl is for Go versions >= 1.9, where the socket FDs are accessible via RawConn.Control().
|
This version of sockctrl is for Go versions >= 1.9, where the socket FDs are accessible via RawConn.Control(). |
spath/spathmeta
Package spathmeta implements basic types for working with SCIOND paths.
|
Package spathmeta implements basic types for working with SCIOND paths. |
topology
The topology package wraps two versions of the topology.
|
The topology package wraps two versions of the topology. |
util/bufpool
Package bufpool initializes an elastic pool of free buffers.
|
Package bufpool initializes an elastic pool of free buffers. |
xtest
Package xtest implements common functionality for unit tests.
|
Package xtest implements common functionality for unit tests. |
xtest/graph
Package graph implements a multigraph model of a SCION network for use in tests.
|
Package graph implements a multigraph model of a SCION network for use in tests. |
xtest/loopback
Package loopback defines a net.PacketConn implementation where sent messages are echoed back on the same connection.
|
Package loopback defines a net.PacketConn implementation where sent messages are echoed back on the same connection. |
xtest/p2p
Package p2p (point to point) defines a net.PacketConn implementation where messages are exchanged via channels.
|
Package p2p (point to point) defines a net.PacketConn implementation where messages are exchanged via channels. |
Package proto contains mostly auto-generated code for parsing/packing SCION capnp messages, as well as some helper functions to working with capnp in Go simpler.
|
Package proto contains mostly auto-generated code for parsing/packing SCION capnp messages, as well as some helper functions to working with capnp in Go simpler. |
internal/fetcher
Package fetcher implements path segment fetching, verification and combination logic for SCIOND.
|
Package fetcher implements path segment fetching, verification and combination logic for SCIOND. |
internal/servers
Package servers contains the logic for creating and managing SCIOND API servers.
|
Package servers contains the logic for creating and managing SCIOND API servers. |
base/core
Package core contains the tables for remote SIGs, ASes and their prefixes
|
Package core contains the tables for remote SIGs, ASes and their prefixes |
config
Package config is responsible for parsing the SIG json config file into a set of simple intermediate data-structures.
|
Package config is responsible for parsing the SIG json config file into a set of simple intermediate data-structures. |
egress/dispatcher
Package dispatcher reads from input ring buffer, decides on a Session and puts data on the ring buffer of the Session.
|
Package dispatcher reads from input ring buffer, decides on a Session and puts data on the ring buffer of the Session. |
egress/reader
Package reader implements a reader object that reads from tun, routes with support from egress/router to determine the correct egressDispatcher, and puts data on the ring buffer of the egressDispatcher.
|
Package reader implements a reader object that reads from tun, routes with support from egress/router to determine the correct egressDispatcher, and puts data on the ring buffer of the egressDispatcher. |
egress/router
Package router implements an IPv4/IPv6 router.
|
Package router implements an IPv4/IPv6 router. |
egress/session
Package session monitors session health and maintains a concurrency-safe remote SIG address (that includes a working path) for each session.
|
Package session monitors session health and maintains a concurrency-safe remote SIG address (that includes a working path) for each session. |
egress/worker
Package worker implements the logic for reading packets from a session's ring buffer, encapsulating them and writing them to the network as frames.
|
Package worker implements the logic for reading packets from a session's ring buffer, encapsulating them and writing them to the network as frames. |
metrics
Package metrics publishes information about SIG operation NOTE(all): Work in progress, do not recommend reviewing this code yet
|
Package metrics publishes information about SIG operation NOTE(all): Work in progress, do not recommend reviewing this code yet |
xnet
Package xnet contains low level Linux networking calls (generally related to netlink and tunneling)
|
Package xnet contains low level Linux networking calls (generally related to netlink and tunneling) |
tools
|
|
scion-pki/internal/pkicmn
Package pkicmn contains some commonly used functionality and definitions.
|
Package pkicmn contains some commonly used functionality and definitions. |
scmp
Simple echo application for SCION connectivity tests.
|
Simple echo application for SCION connectivity tests. |
showpaths
Simple show paths application for SCION.
|
Simple show paths application for SCION. |
Click to show internal directories.
Click to hide internal directories.