Skip to content

v0.6.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@lukedirtwalker lukedirtwalker released this 04 Dec 15:42
· 909 commits to master since this release
c861333

Release 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, and traceroute are now sorted.

  • cmd/scion: path lists for showpaths, ping, and traceroute 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 to debug) 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 now control
    • scion_sciond is now daemon
    • scion_dispatcher is now dispatcher
    • scion_sig is now posix-gateway
    • scion_border is now posix-router
  • The scmp command has been deleted. The scion command should cover the functionality, scmp tr
    is now scion tr and scmp echo is now scion 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, and traceroute 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 the scion showpaths (scion sp short). It supports the same features but the command line slightly changed, use scion 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 and ctrl_port fields are merged into a ctrl_addr field.
    • The encap_port field was replaced by data_addr field. This allows
      for different IP addresses between the control and data address.
    • removed consul section from configuration file
  • 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 on ctrl_addr and data_addr.

    Renames:

    • [sig] is renamed to [gateway]
    • sig.sig_config is renamed to gateway.traffic_policy_file
    • sig.tun is renamed to tunnel.name
    • sig.tun_routing_table_id is renamed to tunnel.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)