Directories ¶
Path | Synopsis |
---|---|
The beacon server implementation.
|
The beacon server implementation. |
internal/beacon/mock_beacon
Package mock_beacon is a generated GoMock package.
|
Package mock_beacon is a generated GoMock package. |
internal/beaconing
Package beaconing implements tasks and handlers related to beacon propagation and registration.
|
Package beaconing implements tasks and handlers related to beacon propagation and registration. |
internal/beaconing/mock_beaconing
Package mock_beaconing is a generated GoMock package.
|
Package mock_beaconing is a generated GoMock package. |
internal/beaconstorage
Package beaconstorage provides a "factory" for beacon stores.
|
Package beaconstorage provides a "factory" for beacon stores. |
internal/config
Package config describes the configuration of the beacon server.
|
Package config describes the configuration of the beacon server. |
internal/ifstate
Package ifstate implements the interface state in memory structure as well as related tasks and handlers.
|
Package ifstate implements the interface state in memory structure as well as related tasks and handlers. |
internal/ifstate/mock_ifstate
Package mock_ifstate is a generated GoMock package.
|
Package mock_ifstate is a generated GoMock package. |
internal/keepalive
Package keepalive implements tasks and handlers related IFID keepalives.
|
Package keepalive implements tasks and handlers related IFID keepalives. |
internal/keepalive/mock_keepalive
Package mock_keepalive is a generated GoMock package.
|
Package mock_keepalive is a generated GoMock package. |
internal/onehop
Package onehop provides a sender for messages sent on a one-hop path.
|
Package onehop provides a sender for messages sent on a one-hop path. |
internal/revocation
Package revocation implements a revocation handler for the beacon server.
|
Package revocation implements a revocation handler for the beacon server. |
internal/revocation/mock_revocation
Package mock_revocation is a generated GoMock package.
|
Package mock_revocation is a generated GoMock package. |
Border is a Go implementation of the SCION border router.
|
Border is a Go implementation of the SCION border router. |
braccept/parser
This package is responsible for parsing a packet description, more specifically, an ordered list of layers definitions.
|
This package is responsible for parsing a packet description, more specifically, an ordered list of layers definitions. |
brconf
Package brconf holds all of the global router state, for access by the router's various packages.
|
Package brconf holds all of the global router state, for access by the router's various packages. |
internal/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. |
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. |
internal/config
Package config contains the configuration of the SCION dispatcher.
|
Package config contains the configuration of the SCION dispatcher. |
internal/respool
Package respool contains the Dispatcher's pool of free buffers/packets.
|
Package respool contains the Dispatcher's pool of free buffers/packets. |
hidden_path_srv
|
|
internal/hpsegreq/mock_hpsegreq
Package mock_hpsegreq is a generated GoMock package.
|
Package mock_hpsegreq is a generated GoMock package. |
internal/registration/mock_registration
Package mock_registration is a generated GoMock package.
|
Package mock_registration is a generated GoMock package. |
lib
|
|
addr
Package addr contains types for SCION addressing.
|
Package addr contains types for SCION addressing. |
config
Package config provides an unified pattern for configuration structs.
|
Package config provides an unified pattern for configuration structs. |
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. |
ctrl/ifid
Package ifid contains the Go representation of an IFID keepalive packet.
|
Package ifid contains the Go representation of an IFID keepalive packet. |
ctrl/seg/mock_seg
Package mock_seg is a generated GoMock package.
|
Package mock_seg is a generated GoMock package. |
discovery
Package discovery provides library support to query the discovery service for topology files.
|
Package discovery provides library support to query the discovery service for topology files. |
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. |
fatal
Package fatal provides a way to handle fatal errors.
|
Package fatal provides a way to handle fatal errors. |
healthpool
Package healthpool provides a generic way to keep track of the health infos for a set of keys.
|
Package healthpool provides a generic way to keep track of the health infos for a set of keys. |
healthpool/svcinstance
Package svcinstance provides a pool to keep track of the health status of service instances.
|
Package svcinstance provides a pool to keep track of the health status of service instances. |
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/infraenv
Package infraenv contains convenience function common to SCION infra services.
|
Package infraenv contains convenience function common to SCION infra services. |
infra/messenger
Package messenger contains the default implementation for interface infra.Messenger.
|
Package messenger contains the default implementation for interface infra.Messenger. |
infra/messenger/mock_messenger
Package mock_messenger is a generated GoMock package.
|
Package mock_messenger is a generated GoMock package. |
infra/mock_infra
Package mock_infra is a generated GoMock package.
|
Package mock_infra is a generated GoMock package. |
infra/modules/combinator
Package combinator contains methods for constructing SCION forwarding paths.
|
Package combinator contains methods for constructing SCION forwarding paths. |
infra/modules/db
Package db contains common database abstractions for our infra.
|
Package db contains common database abstractions for our infra. |
infra/modules/idiscovery
Package idiscovery fetches the topology from the discovery service.
|
Package idiscovery fetches the topology from the discovery service. |
infra/modules/itopo
Package itopo stores the static and dynamic topology.
|
Package itopo stores the static and dynamic topology. |
infra/modules/segfetcher
Package segfetcher contains all the logic that is needed to fetch segments, verify and store segments in an efficient manner.
|
Package segfetcher contains all the logic that is needed to fetch segments, verify and store segments in an efficient manner. |
infra/modules/segfetcher/mock_segfetcher
Package mock_segfetcher is a generated GoMock package.
|
Package mock_segfetcher is a generated GoMock package. |
infra/modules/seghandler/mock_seghandler
Package mock_seghandler is a generated GoMock package.
|
Package mock_seghandler is a generated GoMock package. |
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. |
infra/modules/trust/trustdb/mock_trustdb
Package mock_trustdb is a generated GoMock package.
|
Package mock_trustdb is a generated GoMock package. |
infra/modules/trust/trustdb/trustdbsqlite
Package trustdbsqlite implements the trustdb interface with a sqlite backed DB.
|
Package trustdbsqlite implements the trustdb interface with a sqlite backed DB. |
infra/modules/trust/v2/mock_v2
Package mock_v2 is a generated GoMock package.
|
Package mock_v2 is a generated GoMock package. |
infra/rpc
Package rpc implements SCION Infra RPC calls over QUIC.
|
Package rpc implements SCION Infra RPC calls over QUIC. |
integration
Package integration simplifies the creation of integration tests.
|
Package integration simplifies the creation of integration tests. |
keyconf
Package keyconf defines basic primitives for key configuration.
|
Package keyconf defines basic primitives for key configuration. |
l4/mock_l4
Package mock_l4 is a generated GoMock package.
|
Package mock_l4 is a generated GoMock package. |
log/mock_log
Package mock_log is a generated GoMock package.
|
Package mock_log is a generated GoMock package. |
mocks/net/mock_net
Package mock_net is a generated GoMock package.
|
Package mock_net is a generated GoMock package. |
overlay/conn
Package conn implements overlay sockets with additional metadata on reads.
|
Package conn implements overlay sockets with additional metadata on reads. |
overlay/conn/mock_conn
Package mock_conn is a generated GoMock package.
|
Package mock_conn is a generated GoMock package. |
pathdb/mock_pathdb
Package mock_pathdb is a generated GoMock package.
|
Package mock_pathdb is a generated GoMock package. |
pathmgr
Package pathmgr implements an asynchronous Path Resolver for SCION Paths.
|
Package pathmgr implements an asynchronous Path Resolver for SCION Paths. |
pathmgr/mock_pathmgr
Package mock_pathmgr is a generated GoMock package.
|
Package mock_pathmgr is a generated GoMock package. |
pathpol
Package pathpol implements path policies, documentation in doc/PathPolicy.md Currently implemented: ACL, Sequence, Extends and Options.
|
Package pathpol implements path policies, documentation in doc/PathPolicy.md Currently implemented: ACL, Sequence, Extends and Options. |
periodic/internal/metrics/mock_metrics
Package mock_metrics is a generated GoMock package.
|
Package mock_metrics is a generated GoMock package. |
pktcls
Package pktcls implements tools for classifying and acting on network packets.
|
Package pktcls 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. |
prom/promtest
Package promtest contains helpers to test metrics structs.
|
Package promtest contains helpers to test metrics structs. |
revcache/mock_revcache
Package mock_revcache is a generated GoMock package.
|
Package mock_revcache is a generated GoMock package. |
sciond
Package sciond queries local SCIOND servers for information.
|
Package sciond queries local SCIOND servers for information. |
sciond/mock_sciond
Package mock_sciond is a generated GoMock package.
|
Package mock_sciond is a generated GoMock package. |
scrypto/trc/v2
Package trc contains the TRC implementation according to the new control-plane PKI design.
|
Package trc contains the TRC implementation according to the new control-plane PKI design. |
serrors
Package serrors provides enhanced errors.
|
Package serrors provides enhanced errors. |
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/internal/ctxmonitor/mock_ctxmonitor
Package mock_ctxmonitor is a generated GoMock package.
|
Package mock_ctxmonitor is a generated GoMock package. |
snet/internal/pathsource/mock_pathsource
Package mock_pathsource is a generated GoMock package.
|
Package mock_pathsource is a generated GoMock package. |
snet/mock_snet
Package mock_snet is a generated GoMock package.
|
Package mock_snet is a generated GoMock package. |
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. |
sock/reliable/mock_reliable
Package mock_reliable is a generated GoMock package.
|
Package mock_reliable is a generated GoMock package. |
sock/reliable/reconnect
Package reconnect implements transparent logic for reconnecting to the dispatcher.
|
Package reconnect implements transparent logic for reconnecting to the dispatcher. |
sock/reliable/reconnect/mock_reconnect
Package mock_reconnect is a generated GoMock package.
|
Package mock_reconnect is a generated GoMock package. |
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. |
svc
Package svc implements support for SVC Resolution.
|
Package svc implements support for SVC Resolution. |
svc/internal/ctxconn
Package ctxconn provides a helper function to track context cancellation when working with connections.
|
Package ctxconn provides a helper function to track context cancellation when working with connections. |
svc/internal/ctxconn/mock_ctxconn
Package mock_ctxconn is a generated GoMock package.
|
Package mock_ctxconn is a generated GoMock package. |
svc/internal/proto
Package proto implements helpers for capnp SVC address resolution messages.
|
Package proto implements helpers for capnp SVC address resolution messages. |
svc/mock_svc
Package mock_svc is a generated GoMock package.
|
Package mock_svc is a generated GoMock package. |
topology
Package topology wraps two versions of the topology.
|
Package topology wraps two versions of the topology. |
truststorage
Package truststorage provides a "factory" for trust database.
|
Package truststorage provides a "factory" for trust database. |
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
Code generated by graphupdater tool, DO NOT EDIT.
|
Code generated by graphupdater tool, DO NOT EDIT. |
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/mock_xtest
Package mock_xtest is a generated GoMock package.
|
Package mock_xtest is a generated GoMock package. |
xtest/p2p
Package p2p (point to point) provides a net.PacketConn wrapper around net.Pipe().
|
Package p2p (point to point) provides a net.PacketConn wrapper around net.Pipe(). |
internal/config
Package config contains the configuration of the path server.
|
Package config contains the configuration of the path server. |
internal/segreq
Package segreq contains everything that is needed to handle segment requests in the path server.
|
Package segreq contains everything that is needed to handle segment requests in the path server. |
internal/segreq/mock_segreq
Package mock_segreq is a generated GoMock package.
|
Package mock_segreq is a generated GoMock package. |
internal/segutil/mock_segutil
Package mock_segutil is a generated GoMock package.
|
Package mock_segutil is a generated GoMock package. |
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/config
Package config contains the configuration of sciond.
|
Package config contains the configuration of sciond. |
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/fetcher/mock_fetcher
Package mock_fetcher is a generated GoMock package.
|
Package mock_fetcher is a generated GoMock package. |
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. |
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/asmap
Package asmap contains the tables for remote SIGs, ASes and their prefixes.
|
Package asmap contains the tables for remote SIGs, ASes and their prefixes. |
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/iface
iface contains interfaces that different components within egress use to communicate.
|
iface contains interfaces that different components within egress use to communicate. |
egress/iface/mock_iface
Package mock_iface is a generated GoMock package.
|
Package mock_iface is a generated GoMock package. |
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/selector
selector package implements selection of a session to use for an outgoing packet.
|
selector package implements selection of a session to use for an outgoing packet. |
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. |
egress/worker/mock_worker
Package mock_worker is a generated GoMock package.
|
Package mock_worker is a generated GoMock package. |
internal/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 |
internal/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.