scion

module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2020 License: Apache-2.0

README

SCION

Documentation ReadTheDocs Build Status Go Report Card GitHub issues GitHub issues Release License

Welcome to the open-source implementation of SCION (Scalability, Control and Isolation On next-generation Networks), a future Internet architecture. SCION is the first clean-slate Internet architecture designed to provide route control, failure isolation, and explicit trust information for end-to-end communication. To find out more about the project, please visit our documentation site.

Connecting to the SCION Test Network

Join SCIONLab if you're interested in playing with SCION in an operational global test deployment of SCION. As part of the SCIONLab project, we support pre-built binaries as Debian packages.

Building

To find out how to work with SCION, please visit our documentation site for instructions on how to install build dependencies, build and run SCION.

Contributing

Interested in contribution to the SCION project? Please visit us at contribute.rst for more information about how you can do so.

License

License

Directories

Path Synopsis
antlr
go
cs
cs/beacon/mock_beacon
Package mock_beacon is a generated GoMock package.
Package mock_beacon is a generated GoMock package.
cs/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.
cs/beaconing/mock_beaconing
Package mock_beaconing is a generated GoMock package.
Package mock_beaconing is a generated GoMock package.
cs/config
Package config describes the configuration of the beacon server.
Package config describes the configuration of the beacon server.
cs/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.
cs/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.
cs/reservationstorage/backend/mock_backend
Package mock_backend is a generated GoMock package.
Package mock_backend is a generated GoMock package.
cs/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.
dispatcher/config
Package config contains the configuration of the SCION dispatcher.
Package config contains the configuration of the SCION dispatcher.
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.
hidden_path_srv/internal/registration/mock_registration
Package mock_registration is a generated GoMock package.
Package mock_registration is a generated GoMock package.
integration/braccept/cases
Package cases contains router acceptance cases that can be integrated into the braccept binary.
Package cases contains router acceptance cases that can be integrated into the braccept binary.
lib/addr
Package addr contains types for SCION addressing.
Package addr contains types for SCION addressing.
lib/config
Package config provides an unified pattern for configuration structs.
Package config provides an unified pattern for configuration structs.
lib/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.
lib/ctrl/seg/extensions/staticinfo
Package staticinfo contains the internal representation of the StaticInfoExtension path segment extension, and conversion from and to the corresponding protobuf representation.
Package staticinfo contains the internal representation of the StaticInfoExtension path segment extension, and conversion from and to the corresponding protobuf representation.
lib/ctrl/seg/mock_seg
Package mock_seg is a generated GoMock package.
Package mock_seg is a generated GoMock package.
lib/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.
lib/fatal
Package fatal provides a way to handle fatal errors.
Package fatal provides a way to handle fatal errors.
lib/infra/infraenv
Package infraenv contains convenience function common to SCION infra services.
Package infraenv contains convenience function common to SCION infra services.
lib/infra/messenger/mock_messenger
Package mock_messenger is a generated GoMock package.
Package mock_messenger is a generated GoMock package.
lib/infra/mock_infra
Package mock_infra is a generated GoMock package.
Package mock_infra is a generated GoMock package.
lib/infra/modules/combinator
Package combinator contains methods for constructing SCION forwarding paths.
Package combinator contains methods for constructing SCION forwarding paths.
lib/infra/modules/db
Package db contains common database abstractions for our infra.
Package db contains common database abstractions for our infra.
lib/infra/modules/itopo
Package itopo stores topology state and manages topology updates for an application.
Package itopo stores topology state and manages topology updates for an application.
lib/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.
lib/infra/modules/segfetcher/mock_segfetcher
Package mock_segfetcher is a generated GoMock package.
Package mock_segfetcher is a generated GoMock package.
lib/infra/modules/seghandler/mock_seghandler
Package mock_seghandler is a generated GoMock package.
Package mock_seghandler is a generated GoMock package.
lib/infra/modules/segverifier
Package segverifier implements primitives for verifying path segments.
Package segverifier implements primitives for verifying path segments.
lib/integration
Package integration simplifies the creation of integration tests.
Package integration simplifies the creation of integration tests.
lib/log/mock_log
Package mock_log is a generated GoMock package.
Package mock_log is a generated GoMock package.
lib/metrics
Package metrics contains interfaces for generic metrics primitives, to facilitate mocking metrics in unit tests.
Package metrics contains interfaces for generic metrics primitives, to facilitate mocking metrics in unit tests.
lib/mocks/io
Package io defines io types from the stdlib for mocking.
Package io defines io types from the stdlib for mocking.
lib/mocks/io/mock_io
Package mock_io is a generated GoMock package.
Package mock_io is a generated GoMock package.
lib/mocks/net
Package net defines net types from the stdlib for mocking.
Package net defines net types from the stdlib for mocking.
lib/mocks/net/mock_net
Package mock_net is a generated GoMock package.
Package mock_net is a generated GoMock package.
lib/pathdb/mock_pathdb
Package mock_pathdb is a generated GoMock package.
Package mock_pathdb is a generated GoMock package.
lib/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.
lib/periodic/internal/metrics/mock_metrics
Package mock_metrics is a generated GoMock package.
Package mock_metrics is a generated GoMock package.
lib/pktcls
Package pktcls implements tools for classifying and acting on network packets.
Package pktcls implements tools for classifying and acting on network packets.
lib/pktcls/mock_pktcls
Package mock_pktcls is a generated GoMock package.
Package mock_pktcls is a generated GoMock package.
lib/prom
Package prom contains some utility functions for dealing with prometheus metrics.
Package prom contains some utility functions for dealing with prometheus metrics.
lib/prom/promtest
Package promtest contains helpers to test metrics structs.
Package promtest contains helpers to test metrics structs.
lib/revcache/mock_revcache
Package mock_revcache is a generated GoMock package.
Package mock_revcache is a generated GoMock package.
lib/sciond
Package sciond queries local SCIOND servers for information.
Package sciond queries local SCIOND servers for information.
lib/sciond/mock_sciond
Package mock_sciond is a generated GoMock package.
Package mock_sciond is a generated GoMock package.
lib/sciond/pathprobe
Package pathprobe contains methods to probe scion paths.
Package pathprobe contains methods to probe scion paths.
lib/scrypto/cms/oid
Package oid contains OID definitions.
Package oid contains OID definitions.
lib/scrypto/cms/protocol
Package protocol implements low level CMS types, parsing and generation.
Package protocol implements low level CMS types, parsing and generation.
lib/serrors
Package serrors provides enhanced errors.
Package serrors provides enhanced errors.
lib/slayers
Package slayers contains gopacket style layers for the SCION Header, HopByHop and EndToEnd Extension headers, SCMP, and SCION/UDP.
Package slayers contains gopacket style layers for the SCION Header, HopByHop and EndToEnd Extension headers, SCMP, and SCION/UDP.
lib/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.
lib/snet/mock_snet
Package mock_snet is a generated GoMock package.
Package mock_snet is a generated GoMock package.
lib/snet/path
Package path implements snet.Path with full metadata This is used by libraries that provide paths for applications to use, such as the path combinator and the sciond API.
Package path implements snet.Path with full metadata This is used by libraries that provide paths for applications to use, such as the path combinator and the sciond API.
lib/snet/squic
QUIC/SCION implementation.
QUIC/SCION implementation.
lib/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.
lib/sock/reliable/mock_reliable
Package mock_reliable is a generated GoMock package.
Package mock_reliable is a generated GoMock package.
lib/sock/reliable/reconnect
Package reconnect implements transparent logic for reconnecting to the dispatcher.
Package reconnect implements transparent logic for reconnecting to the dispatcher.
lib/sock/reliable/reconnect/mock_reconnect
Package mock_reconnect is a generated GoMock package.
Package mock_reconnect is a generated GoMock package.
lib/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().
lib/svc
Package svc implements support for SVC Resolution.
Package svc implements support for SVC Resolution.
lib/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.
lib/svc/internal/ctxconn/mock_ctxconn
Package mock_ctxconn is a generated GoMock package.
Package mock_ctxconn is a generated GoMock package.
lib/svc/mock_svc
Package mock_svc is a generated GoMock package.
Package mock_svc is a generated GoMock package.
lib/topology
Package topology wraps two versions of the topology.
Package topology wraps two versions of the topology.
lib/topology/json
Package json encodes AS topology information via JSON.
Package json encodes AS topology information via JSON.
lib/topology/mock_topology
Package mock_topology is a generated GoMock package.
Package mock_topology is a generated GoMock package.
lib/underlay/conn
Package conn implements underlay sockets with additional metadata on reads.
Package conn implements underlay sockets with additional metadata on reads.
lib/underlay/conn/mock_conn
Package mock_conn is a generated GoMock package.
Package mock_conn is a generated GoMock package.
lib/xtest
Package xtest implements common functionality for unit tests.
Package xtest implements common functionality for unit tests.
lib/xtest/graph
Code generated by graphupdater tool, DO NOT EDIT.
Code generated by graphupdater tool, DO NOT EDIT.
lib/xtest/mock_xtest
Package mock_xtest is a generated GoMock package.
Package mock_xtest is a generated GoMock package.
pkg/app/feature
Package feature provides a simple mechanism for command line tools to take and parse feature flags.
Package feature provides a simple mechanism for command line tools to take and parse feature flags.
pkg/cs/trust/grpc/mock_grpc
Package mock_grpc is a generated GoMock package.
Package mock_grpc is a generated GoMock package.
pkg/cs/trust/mock_trust
Package mock_trust is a generated GoMock package.
Package mock_trust is a generated GoMock package.
pkg/gateway/config/mock_config
Package mock_config is a generated GoMock package.
Package mock_config is a generated GoMock package.
pkg/gateway/control/grpc/mock_grpc
Package mock_grpc is a generated GoMock package.
Package mock_grpc is a generated GoMock package.
pkg/gateway/control/mock_control
Package mock_control is a generated GoMock package.
Package mock_control is a generated GoMock package.
pkg/gateway/dataplane
Package dataplane defines implementations required to run a gateway dataplane.
Package dataplane defines implementations required to run a gateway dataplane.
pkg/gateway/pathhealth
Package pathhealth monitors paths to different ASes.
Package pathhealth monitors paths to different ASes.
pkg/gateway/routing
Package routing defines implementations around the routing decisions for the gateway.
Package routing defines implementations around the routing decisions for the gateway.
pkg/gateway/routing/mock_routing
Package mock_routing is a generated GoMock package.
Package mock_routing is a generated GoMock package.
pkg/gateway/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)
pkg/hiddenpath/mock_hiddenpath
Package mock_hiddenpath is a generated GoMock package.
Package mock_hiddenpath is a generated GoMock package.
pkg/ping
Package ping implements pinging based on SCMP echo messages.
Package ping implements pinging based on SCMP echo messages.
pkg/proto/control_plane/mock_control_plane
Package mock_control_plane is a generated GoMock package.
Package mock_control_plane is a generated GoMock package.
pkg/proto/discovery/mock_discovery
Package mock_discovery is a generated GoMock package.
Package mock_discovery is a generated GoMock package.
pkg/router/bfd
Package bfd implements Bidirectional Forwarding Detection as defined in RFC 5880.
Package bfd implements Bidirectional Forwarding Detection as defined in RFC 5880.
pkg/router/bfd/mock_bfd
Package mock_bfd is a generated GoMock package.
Package mock_bfd is a generated GoMock package.
pkg/router/config
Package config defines the router's configuration file.
Package config defines the router's configuration file.
pkg/router/control/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.
pkg/router/mock_router
Package mock_router is a generated GoMock package.
Package mock_router is a generated GoMock package.
pkg/router/svchealth/mock_svchealth
Package mock_svchealth is a generated GoMock package.
Package mock_svchealth is a generated GoMock package.
pkg/sciond/config
Package config contains the configuration of sciond.
Package config contains the configuration of sciond.
pkg/sciond/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.
pkg/sciond/fetcher/mock_fetcher
Package mock_fetcher is a generated GoMock package.
Package mock_fetcher is a generated GoMock package.
pkg/storage
Package storage provides factories for various application storage backends.
Package storage provides factories for various application storage backends.
pkg/traceroute
Package traceroute implements tracerouting based on SCMP traceroute messages.
Package traceroute implements tracerouting based on SCMP traceroute messages.
pkg/trust/mock_trust
Package mock_trust is a generated GoMock package.
Package mock_trust is a generated GoMock package.
pkg/trust/renewal/mock_renewal
Package mock_renewal is a generated GoMock package.
Package mock_renewal is a generated GoMock package.
pkg/worker
Package worker contains helpers for working with long-running goroutines that need to be destroyed.
Package worker contains helpers for working with long-running goroutines that need to be destroyed.
proto
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.
tools/pathdb_dump
debug tool to dump the contents of a sqlite path DB.
debug tool to dump the contents of a sqlite path DB.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL