v0.6.0
Pre-releaseRelease notes
This release uses the new application names. The changes are as follows:
- BR is now referred to as (POSIX) Router
- SIG is now referred to as (POSIX) Gateway
- SCIOND/SD is now referred to as Daemon
Note that the binary/docker container names are slightly different (e.g.,
the Control Service/CS is called control
).
New features
-
daemon: modify default db connection values to
[trust_db] connection = "/share/data/sd.trust.db" [path_db] connection = "/share/cache/sd.path.db"
-
cmd/scion: path lists for
showpaths
,ping
, andtraceroute
are now sorted. -
cmd/scion: path lists for
showpaths
,ping
, andtraceroute
are colored by
default. The coloring can be turned off by specifying the--no-color
flag. -
cmd/scion: path lists for
showpaths
can be filtered based on a sequence flag input. -
control: Use gRPC for all RPCs that the control service is involved in.
CS to CS communication is achieved with gRPC over QUIC/SCION. Router to CS,
and SCION Daemon to CS communication is established with gRPC over TCP/IP. -
control: CA Control Services will now periodically pick up new client certificates
from disk. -
daemon: Use gRPC over TCP/IP for RPCs to the control service.
-
all: add
log/level
HTTP API endpoint to all services. The endpoint allows querying and setting
the log level dynamically.# GET shows the current log level. $ curl <ip:port>/log/level {"level":"debug"} # PUT sets the current log level. $ curl -X PUT <ip:port>/log/level -d '{"level":"info"}' {"level":"info"}
-
gateway: Query SCION daemon for local ISD-AS. This allows the
gateway to infer the local ISD-AS without it being configured in the
config file. -
gateway: Infer local IP if not configured in the config file.
-
router: Routers now establish intra-AS and
inter-AS Bidirectional Forwarding Detection sessions. Between ASes, one
session is established for each pair of SCION Interface IDs. Inside ASes,
one session is established for each pair of routers. -
router: Metric names have changed.
-
Allow BFD configuration for external interfaces through the topology file.
-
Gateway can be configured to use different control and data IP addresses.
-
cmd/scion: More granular exit codes.
ping
now exits with code 1 if no reply packet was received. If at least one
packet was received, the exit code is 0. If any other error occurred, the exit
code is 2.traceroute
now exits with code 1 if any packet is dropped. If any other
error occurred, the exit code is 2.showpaths
now exits with code 1 if no path is alive and probing is not
disabled. If probing is disabled, and at least one path is found, the exit
code is 0. If any other error occurred, the exit code is 2. -
router: list of interfaces in
/status
page is now sorted -
control/daemon: The new path lookup strategy is now implemented. This
is a breaking change as the wire format of control messages has been changed.
Segment synchronization in the core is no longer needed. Instead in the lookup
we fetch down segments from each core we want to have down segments from.
All connected daemons/control services should be updated at the same time. -
Allow BFD configuration for external interfaces through the topology file.
-
Gateway can be configured to use different control and data addresses.
-
Daemon: Use the default SCION Daemon API port (30255) if the address in the
config toml does not specify a port or uses zero. -
cmd/scion: More granular exit codes.
ping
now exits with code 1 if no reply packet was received. If at least one
packet was received, the exit code is 0. If any other error occurred, the exit
code is 2.traceroute
now exits with code 1 if any packet is dropped. If any other
error occurred, the exit code is 2.showpaths
now exits with code 1 if no path is alive and probing is not
disabled. If probing is disabled, and at least one path is found, the exit
code is 0. If any other error occurred, the exit code is 2. -
log: Add a config option to set the stacktrace level for logging.
-
Updated Wireshark SCION dissector plugin.
-
router: add two metrics that expose the service instances state as seen by the
data plane:router_service_instance_changes_total
router_service_instance_count
Consult the router metrics documentation for more information.
-
cs: metrics are are more unified. Check the upgrade notes for details.
-
gateway: The gateway now has dynamic IP prefix discovery. To manage the IP prefix
discovery a routing policy file is used. It is described here: Gateway routing policy
documentation -
gateway: The gateway now supports prefix pinning. To manage the prefix pinning the
allow_interfaces
property in the gateway section of the topology file can be used. A more
extensive description will follow on the Gateway documentation
page
Known issues
-
There is currently no way to disable the HTTP API without also disabling metrics. If
there are security concerns about the API (e.g., it's possible to degrade application
performance without authentication by downgrading logging todebug
) it should
be firewalled. The full APIs can be found in the documentation site:
Upgrade notes
-
The format of SCION packets has changed. The new format is incompatible with previous versions.
This affects all SCION-speaking processes (routers, gateways, control services, dispatchers,
tooling). This requires a synchronized upgrade of all existing networks. -
The format of SCION control-plane RPCs has changed from capnp messages to gRPC. The new
format is incompatible with previous versions. The change affects daemons and control services.
This requires a synchronized upgrade of all existing daemons and control services. -
The formats of Gateway packets and RPCs have changed. The new formats are incompatible with
previous versions. The change affects gateways. This requires a synchronized upgrade of all gateways. -
The communication patterns of Gateway RPCs have changed.
-
Keepalives have been removed and replaced by BFD. See the New features section for more
information. -
Container names for released applications have changed. The names have changed as follows:
scion_cs
is nowcontrol
scion_sciond
is nowdaemon
scion_dispatcher
is nowdispatcher
scion_sig
is nowposix-gateway
scion_border
is nowposix-router
-
The
scmp
command has been deleted. The scion command should cover the functionality,scmp tr
is nowscion tr
andscmp echo
is nowscion ping
. Note that the format of the arguments has
changed, check against the respective--help
output. -
The logging format changed (we use a new logging library), if any tools relied
on the exact log output format they need to adapt. Configuration and
functionality wise nothing changed. -
cmd/scion: path lists for
showpaths
,ping
, andtraceroute
now group
paths by hop count. A grouping header is introduced. -
infra: With the switch to a new messenger stack, all ASes need to be updated in sync.
-
control: With the switch to the new gRPC stack, segment requests no longer have the
cache_only
flag. -
SCION daemon users: The
path_count
config option was removed from the SCION daemon client
configuration. The flag was never actually used previously and was thus removed. -
gateway: Field
isd_as
is removed from the[sig]
section of the gateway config file. -
docker: the entrypoint and cmd configurations of containers have changed. The entrypoint
now contains only the application name, and the cmd contains the arguments. -
logging: file logging support is removed without replacement. It is recommended to use stdout logging at the appropriate level and collect the logs manually via another mechanism (docker, journald, etc.).
-
control: The sample config and policy files are now displayed using the
sample
command:cs sample config cs sample policy
-
control: The open-source Control Service database configurations no longer allow for a backend to specified. The configuration rules for the closed-source Control Service did not change.
-
daemon: The sample config is now displayed using the
sample
command:sciond sample config
-
daemon: SCION Daemon database configurations no longer allow for a backend to specified. Configurations with trust_db.backend or path_db.backend specified will cause the application to error out on start-up.
-
showpaths: The
showpaths
binary has been removed. All users of it should now use thescion showpaths
(scion sp
short). It supports the same features but the command line slightly changed, usescion sp help
to find details about its usage. -
control: TOML configs must not include certificates for QUIC connections.
- cert_file = "/share/conf/quic/tls.pem" //removed
- key_file = "/share/conf/quic/tls.key" //removed
-
gateway: TOML configs have to be changed in the following way:
- The
ip
andctrl_port
fields are merged into actrl_addr
field. - The
encap_port
field was replaced bydata_addr
field. This allows
for different IP addresses between the control and data address. - removed consul section from configuration file
- The
-
Gateway to Gateway probing is now running on fixed port 30856 instead of 30256. 30256
is now used for remote prefix discovery. -
control: heavy metrics refactor. Namespaces
bs
,ps
are coalesced into
control
, no longer valid or redundant metrics are dropped, metric and label
names are unified.# List of replaced metrics. Note the label changes. # Label change: in_if_id -> ingress_interface # HELP control_beaconing_received_beacons_total Total number of beacons received. new: control_beaconing_received_beacons_total{ingress_interface="41",neighbor_isd_as="1-ff00:0:110",result="ok_new"} 1 old: bs_beaconing_received_beacons_total{in_if_id="41",neigh_ia="0-0",result="ok_new"} 1 # HELP control_segment_lookup_requests_total Total number of path segments requests received. new: control_segment_lookup_requests_total{dst_isd="1",result="ok_success",seg_type="down"} 1 old: ps_requests_total{dst_isd="1",result="ok_success",seg_type="down"} 2 # HELP control_segment_lookup_segments_sent_total Total number of path segments sent in the replies. new: control_segment_lookup_segments_sent_total{dst_isd="1",seg_type="down"} 1 old: ps_requests_replied_segments_total{dst_isd="1",seg_type="down"} 2 # Label change: type -> seg_type # HELP control_segment_registry_segments_received_total Total number of path segments received through registrations. new: control_segment_registry_segments_received_total{result="ok_new",seg_type="down",src="isd_local"} 2 old: ps_registrations_total{result="ok_new",src="unknown",type="down"} 2 # HELP control_fetcher_seg_requests_total The number of segment request sent. new: control_fetcher_seg_requests_total{result="ok_success"} 3 old: ps_fetcher_seg_requests_total{result="ok_success"} 3 # Label change: eg_if_id -> egress_interface # HELP control_beaconing_originated_beacons_total Total number of beacons originated. new: control_beaconing_originated_beacons_total{egress_interface="1",result="ok_success"} 6 old: bs_beaconing_originated_beacons_total{eg_if_id="1",result="ok_success"} 6 # Label change: in_if_id -> ingress_interface, eg_if_id -> egress_interface, start_ia -> start_isd_as # HELP control_beaconing_propagated_beacons_total Total number of beacons propagated. new: control_beaconing_propagated_beacons_total{start_isd_as="1-ff00:0:110",ingress_interface="41",egress_interface="22",result="ok_success"} old: bs_beaconing_propagated_beacons_total{start_ia="1-ff00:0:110",in_if_id="41",eg_if_id="22",result="ok_success"} # HELP control_beaconing_propagator_internal_errors_total Total number of internal errors in the beacon propagator. new: control_beaconing_propagator_internal_errors_total old: bs_beaconing_propagator_errors_total # Label change: in_if_id -> ingress_interface, eg_if_id -> egress_interface, start_ia -> start_isd_as # HELP control_beaconing_registered_segments_total Total number of segments registered. new: control_beaconing_registered_segments_total{ingress_interface="41",result="ok_new",seg_type="up",start_isd_as="1-ff00:0:110"} 1 old: bs_beaconing_registered_beacons_total{in_if_id="41",result="ok_success",seg_type="up",start_ia="1-ff00:0:110"} 1 # HELP control_beaconing_registrar_internal_errors_total Total number of internal errors in the beacon registrar. new: control_beaconing_registrar_internal_errors_total{seg_type="up"} old: bs_beaconing_registrar_errors_total{seg_type="up"} # HELP control_pathstorage_cleaner_periodic_period_duration_seconds The period of this job. new: control_pathstorage_cleaner_periodic_period_duration_seconds 10 old: periodic_period_duration_seconds 10 # HELP control_pathstorage_cleaner_periodic_runtime_duration_seconds_total Total time spend on every periodic run. new: control_pathstorage_cleaner_periodic_runtime_duration_seconds_total 0.060531525 old: periodic_runtime_duration_seconds_total 0.060531525 # HELP control_pathstorage_cleaner_periodic_runtime_timestamp_seconds The unix timestamp when the periodic run started. new: control_pathstorage_cleaner_periodic_runtime_timestamp_seconds 1.603717526e+09 old: periodic_runtime_timestamp_seconds 1.603717526e+09 # HELP control_pathstorage_segments_cleaner_deleted_total Number of deleted entries total. new: control_pathstorage_segments_cleaner_deleted_total 0 old: ps_segments_cleaner_deleted_total 0 # HELP control_pathstorage_segments_cleaner_results_total Results of running the cleaner, either ok or err. new: control_pathstorage_segments_cleaner_results_total{result="ok"} 132 old: ps_segments_cleaner_results_total{result="ok"} 132 # HELP control_pathstorage_revocation_cleaner_deleted_total Number of deleted entries total. new: control_pathstorage_revocation_cleaner_deleted_total 0 old: ps_revocation_cleaner_deleted_total 0 # HELP control_pathstorage_revocation_cleaner_results_total Results of running the cleaner, either ok or err. new: control_pathstorage_revocation_cleaner_results_total{result="ok"} 132 old: ps_revocation_cleaner_results_total{result="ok"} 132 # HELP control_beaconstorage_beacon_cleaner_deleted_total Number of deleted entries total. new: control_beaconstorage_beacon_cleaner_deleted_total 0 old: bs_beacon_cleaner_deleted_total 0 # HELP control_beaconstorage_beacon_cleaner_results_total Results of running the cleaner, either ok or err. new: control_beaconstorage_beacon_cleaner_results_total{result="ok"} 44 old: bs_beacon_cleaner_results_total{result="ok"} 44 # HELP control_beaconstorage_cleaner_periodic_period_duration_seconds The period of this job. new: control_beaconstorage_cleaner_periodic_period_duration_seconds 30 old: beaconstorage_cleaner_periodic_period_duration_seconds 30 # HELP control_beaconstorage_cleaner_periodic_runtime_duration_seconds_total Total time spend on every periodic run. new: control_beaconstorage_cleaner_periodic_runtime_duration_seconds_total 0.028032182999999995 old: beaconstorage_cleaner_periodic_runtime_duration_seconds_total 0.028032182999999995 # HELP control_beaconstorage_cleaner_periodic_runtime_timestamp_seconds The unix timestamp when the periodic run started. new: control_beaconstorage_cleaner_periodic_runtime_timestamp_seconds 1.603717526e+09 old: beaconstorage_cleaner_periodic_runtime_timestamp_seconds 1.603717526e+09 # HELP control_beaconstorage_revocation_cleaner_deleted_total Number of deleted entries total. new: control_beaconstorage_revocation_cleaner_deleted_total 0 old: bs_revocation_cleaner_deleted_total 0 # HELP control_beaconstorage_revocation_cleaner_results_total Results of running the cleaner, either ok or err. new: control_beaconstorage_revocation_cleaner_results_total{result="ok"} 39 old: bs_revocation_cleaner_results_total{result="ok"} 39
# List of removed metrics bs_beaconing_originator_run_durations_seconds_total bs_beaconing_propagator_interface_duration_seconds_total bs_beaconing_propagator_run_duration_seconds_total bs_beaconing_registrar_run_duration_seconds_total bs_ifstate_state bs_ifstate_issued_revocations_total bs_ifstate_revocations_duration_seconds_total bs_ifstate_sent_revocations_total bs_keepalive_sent_msgs_total bs_keepalive_received_msgs_total bs_revocation_received_revocations_total ps_requests_replied_revocations_total ps_revocation_received_revocations_total ps_segment_sync_registrations_total ps_segment_sync_pushes_total
-
gateway: Various changes to configuration file. See the config
help for more information onctrl_addr
anddata_addr
.Renames:
[sig]
is renamed to[gateway]
sig.sig_config
is renamed togateway.traffic_policy_file
sig.tun
is renamed totunnel.name
sig.tun_routing_table_id
is renamed totunnel.routing_table_id
-
gateway: The gateway has completely revamped metrics. The new metrics are described
here: Gateway metrics
documentation -
gateway: The gateway
/networks
HTTP endpoint no longer exist. The new HTTP endpoints
are described here: Gateway HTTP API
documentation
Bug fixes
- control/daemon: Fix panic in segfetcher metrics if storing of revocations fails.
Commits:
- gateway: simplify defaults for policy file config (#3941)
- hp: add gRPC beacon register
- testing fix flakyness of sig_reload AT
- hp: implement db adaptor
- integration: ensure full output of binary tests is read
- gRPC: add prometheus monitoring
- trust: add caching layer to verifier and inspector
- bfd: increase default interval values
- segfetcher: return and use partial results
- daemon: deduplicate path requests
- cs: Decrease timeouts in beacon origination/propagation
- daemon/CS: randomize next query interval
- gateway: ask daemon for paths only once in 10 seconds
- daemon: add option to disable segment verification
- fix generation of capnp files
- gateway: prevent concurrent map access
- hp: add segment registration handler
- hp: add beaconing writer
- hp: Add acceptance test
- hp: Add option to load config from network
- gateway: fix unit test flakiness
- errors: drop common.NewBasicError
- gateway: use data address
- lib: deprecate legacy signer
- hp: implement forwarding segment lookup handler
- gateway: path monitor can reconnect to dispatcher
- goconvey: remove from topology
- hp: add discovery client implementation
- hp: add registration policy structure
- goconvey: remove from combinator
- gateway: throttle logging when dispatcher is down
- spath: use dynamic registered paths
- hp: Simplify configuration
- trust: log certs outside of validity at debug
- gateway: use advertise consistently
- hp: add authoritative server
- daemon: add hiddenpath group functionality
- slayers: dynamic path type registration
- cmd/scion: format no paths as empty list in showpaths
- scion-pki: fix combine TRC flake
- beaconing: refactor registrar to writer
- cleanup: drop libraries used by old sig (#3934)
- combinator: avoid returning duplicate paths (#3930)
- gateway: determine default local IP (#3936)
- cmds: usage string based on binary name (#3937)
- hp: add topology support (#3940)
- Publish manuals for SCION apps (#3938)
- posix-gateway: add new implementation (#3932)
- cs: refactor metrics approach (#3931)
- snet/sciond: add static info metadata fields to snet.PathMetadata (#3924)
- doc: fix typo in setup.rst (#3929)
- bazel: build antlr parsers using bazel (#3927)
- lib/pathpol: drop PathSet, use slices instead (#3926)
- dispatcher: fix panic on error (#3925)
- snet: make PathMetadata a struct (#3923)
- cleanup: drop lib/assert, lib/addr.AppAddr, lib/l4 (#3922)
- cleanup: drop old packet header extension defs (#3921)
- port StaticInfoExtension to grpc, reimplement StaticInfo in combinator (#3899)
- cs: fix testing race (#3920)
- topology: add gateway,interface ID mapping (#3919)
- router: add metric to track service instance count (#3918)
- cs: infer QUIC address (#3917)
- tools: SCION v2 wireshark plugin (#3916)
- cs: avoid HOL blocking in beacon origination (#3915)
- log: allow configuring stacktrace level (#3913)
- cmd/scion: showpaths color, --no-color flag (#3914)
- make: build without code gen by default (#3911)
- cmd/scion: more granular exit codes and sequence filtering (#3912)
- build/test: reduce make usage (#3910)
- spath: drop old header code (#3909)
- posix-gateway: config file rework (#3908)
- testing: use bazel to generate mocks (#3907)
- cs: QUIC certificates are generated in the app (#3906)
- colibri: replace spath usage (#3905)
- testing: allow .py file ending for acceptance tests (#3904)
- doc: intra-AS bfd uses underlay source address/port (#3903)
- BFD: enable underlay implementation (#3902)
- python: fix type annotations (#3888)
- doc: hidden path design update (#3900)
- doc: epic-hp path type specification and design document (#3884)
- unify path types in combinator, segutil, sciond (#3893)
- cleanup: purge go/lib/{hpkt,spkt,scmp} (#3898)
- msgr: remove legacy messenger stack (#3897)
- gateway: remove dispatcher bypass (#3895)
- combinator: remove legacy Combine (#3892)
- header: finalize wire format (#3889)
- header: the one before dropping legacy header (#3890)
- snet: replace PathInterface interface with a struct (#3879)
- topogen: create flatter gen/ structure (#3877)
- colibri: e2e admission (#3863)
- posix_router: move to canonical directory (#3880)
- adding TLSQUICDialer (#3886)
- doc: fix images in key rollover doc (#3885)
- docker: remove su-exec (#3883)
- mocks: update list, fix unexported interfaces in bfd (#3878)
- router: use new SCMP codes
- router: SCMP parameter point to start of block
- seg: switch path segment representation from capnp to protobuf (#3874)
- scion: use default text color to fix light-mode (#3876)
- [doc] BFD/SCION protocol specification (#3873)
- signed: add associated data (#3870)
- router: add header v2 router (#3869)
- addr: remove SVC_BS and SVC_PS add SVC_DS (#3868)
- proto: translate path segment
- renewal: translate to protobuf
- proto: define SignedMessage
- proto: translate svc resolution
- lint: remove irrenlevant stuff from the output (#3866)
- [doc] SIG framing protocol specification (#3865)
- bazel: clean up the setcap code (#3864)
- colibri: advance request handling (#3859)
- docker: add capabilities via a bazel rule (#3856)
- protocol: add gRPC messenger and header v2 (#3862)
- doc: update SCMP spec (#3861)
- decouple ctrl messages from data plane (#3855)
- remove unused feature flag (#3858)
- colibri: add store and segment admission (#3843)
- change default configs to docker-friendly values (#3857)
- trust: create TLS configuration based on CPPKI (#3847)
- sig: remove IA from config, make IP optional (#3849)
- border: ignore EINVAL, EACCES (#3846)
- sig: remove default prometheus address (#3850)
- Return correct err on response error from DB query (#3851)
- lint: fix mdlint problem (#3848)
- snet: move MTU/Expiry to separate snet.PathMetadata interface (#3839)
- disp: classify decoded packet correctly
- disp: support SCMP error messages
- disp: support SCMP informational messages
- disp: untangle underlay code
- shared library for status pages (#3838)
- cs, sd: simplify database configs (#3845)
- slayers: change the mac input data layout
- scmp: implement destination unreachable
- slayers: add missing bound checks
- slayers: add scmp parameter problem error message
- slayers: add MAC helpers functions
- slayers: add echo and traceroute
- scmp: implement internal connectivity down message
- slayers: add SCMP support
- topogen: allocate ipv4 subnets for docker (#3840)
- doc: new path lookup strategy (#3747)
- doc: make the message visible (#3837)
- cs: don't verify RemoteOutIf in beaconing (#3832)
- segfetcher: do recursive request in parallel (#3836)
- nogo: enable checks again (#3834)
- cs/sd: implement new path lookup strategy (#3792)
- log: avoid double span wrapping (#3833)
- doc: drop bogus binary data (#3831)
- doc: improve commit message guide (#3830)
- cmd: reduce duplication (#3829)
- log: remove file logging (#3828)
- cs: purge global state (#3827)
- properly send ohp packet for header v2 (#3826)
- make gomocks hermetic (#3825)
- ci: shorten step names and merge steps (#3824)
- colibri: further improve sqlite reservation store (#3794)
- disable revocation verification (#3822)
- fix nosetests (#3820)
- cs add metrics for signer and ca signer (#3819)
- trust: improve testing (#3818)
- header: further improvements (#3817)
- log: add json logging (#3816)
- mocks: clean up generation script (#3815)
- doc: update documentation (#3813)
- sig: improve config tests (#3814)
- Typo in the introduction 'befoe' -> 'before' (#3805)
- combinator: enable header v2 path combination (#3812)
- cs: enable v2 beaconing through feature flag (#3811)
- snet: add support for new SCION header (#3810)
- Add adapters for converting slayers data to app data (#3809)
- seg: support header v2 info and hop field (#3808)
- actions: add rebase action (#3807)
- cs: prepare beaconing for header changes (#3806)
- colibri: extend reservation types (#3787)
- sig: rename sigconfig package to config (#3804)
- sig: remove ConfigName from sigconfig (#3803)
- sig: move sig config to go/pkg/sig (#3802)
- toml: switch to better maintained library (#3801)
- spki: make cert renewal easier to use (#3798)
- border: do not log an error for SVC_NONE dst addresses (#3797)
- scion: add ping command (#3796)
- scmp: add payload size support to scmp echo (#3795)
- Add specification for forwarding key rollover (#3615)
- colibri: add store backend (#3778)
- fix default monitoring port for sig (#3793)
- Fix order in env/debian/pkgs.txt (#3791)
- clean debian dependencies, misc doc & bazel cleanup (#3790)
- log: remove Trace,Warn,Crit levels (#3789)
- sciond: remove global state (#3785)
- topology: replace 'foo' in the tests with a hostname that fails (#3786)
- colibri: add application level types (#3776)
- cppki: support x509 based control-plane PKI (#3784)
- common: drop common.Order (#3783)
- upgrade bazel to 3.2 (#3782)
- New SCION Header formats in the style of gopacket/layers. (#3781)
- cs: remove unused baseHandler, simplify seg*-handlers (#3780)
- add staticinfo accumulator (#3768)
- fix nil pointer panic in rpc backoff logic (#3770)
- remove unused path resolver from snet.NewNetwork (#3771)
- braccept: add scmp bad host error from scmp packet (#3774)
- sig: don't add route if addr is empty (#3775)
- fix mock generation: remove Conn from snet mocks (#3773)
- sciond: don't panic on shutdown (#3769)
- ci: don't run e2e on doc change (#3767)
- Remove obsolete limit on path segments in SegReply (#3765)
- colibri: application level types requests (#3763)
- Add specifications for SCION and Extension Headers. (#3760)
- topo: make topo file names lower case (#3762)
- implement proto.Cerializable for staticinfo extension types. (#3764)
- Add COLIBRI E2E application level types (#3752)
- Remove dead code related to segment requests (#3748)
- rpc: retry server busy (#3758)
- topogen: enable console logging (#3757)
- topo: allow marshalling RWTopology (#3746)
- staticinfo extension, only add if configured (#3755)
- ci: general improvements (#3751)
- colibri: add application level types for store (#3713)
- ci: clean shutdown (#3749)
- improve contribution guide (#3744)
- staticinfo: add config format, and non-generated wire structs. (#3739)
- add documentation for X.509 cryptography (#3742)
- topology: simplify format (#3741)
- build: update bazel rules & Go 1.13.10 (#3735)
- readme: improve shields (#3740)
- add capnp protocol for static info extension (#3730)
- remove segment synchronization from PS docs (#3736)
- Remove severely outdated documentation (#3737)
- Initialize RTD project for documentation site (#3734)
- lint: add buildifier (#3733)
- Bump quic-go to v0.15.5 (#3732)
- rename overlay -> underlay in code (#3729)
- remove go/lib/infra/dedupe (#3728)
- sciond: avoid EOF errors on every connect (#3727)
- scion: one command to rule them all (#3708)
- ipv6: support zones (#3725)
- import the contribution guides from the wiki (#3722)
- remove global state from Python acceptance (#3723)
- docker: remove docker.sh & perapp structure (#3721)
- util: add more tests & clean up existing ones (#3720)
- integration: speed up dockerized end2end test (#3719)
- cs: fix fast beaconing recovery (#3718)
- beacon: drop convey from tests (#3717)
- dispatcher: drop implementation language from name (#3716)
- add pathdb_dump tool (#3707)
- acceptance: make topo_br_reload more reliable (#3712)
- colibri: ctrl response types (#3710)
- tracing: various improvements (#3709)
- Added Design Doc for Beacon Extensions (#3651)
- cs: allow ISD loops in propagation (#3699)
- config: strict parsing of config files (#3697)
- no exception when networks.conf is not present (#3696)