Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "FABRID base version" #169

Closed
wants to merge 28 commits into from

Conversation

jeltevanbommel
Copy link

@jeltevanbommel jeltevanbommel commented Sep 20, 2024

Reverts #168


This change is Reviewable

Marc Odermatt and others added 28 commits September 20, 2024 12:28
- FABRID policies are defined with description, identifier, and a set of supported connection points
- CSes load policies and validate them
- CS appends maps for policy indices and supported connections to beacons
- Remote CSes cache policy information from beacons
- passes linter
- SD adds FABRID policies to paths
- SD uses correct local address for fetching DRKeys
- FabridKeys function fetches required ASHost keys and the HostHost key
Also fixed linting error
SetExtensions method on dataplane paths is called during serialization, setting the HBH and E2E extension headers
- Fabrid and Identifier HBH extensions for sending FABRID traffic
- Fabrid crypto library for computing HVFs and the path validator
Passing the WithFabrid option when choosing a path, selects an appropriate path based on the fabrid query and creates a fabrid dataplane path.
- BR fetches DRKey secret values and fabrid config on startup
- BR validates and updates FABRID HVFs
- ping: select fabrid policies with --fabridquery flag
- end2end: run integration test with --fabrid to test path validation
Control plane features:
- Definition of FABRID policies and connection points on which they are
available
- CS loads policies and appends maps for policy indices and connection
points as detachable extensions to PCBs
- Remote CSes cache FABRID maps
- SD fetches detached extensions on request

Data plane features:
- Fabrid and Identifier HBH extensions for sending FABRID traffic
- WithFabrid option for choosing paths based on the fabrid query
- Fabrid dataplane path which sets HBH extensions
- BR fetches DRKey secret values and fabrid config on startup
- BR validates and updates FABRID HVFs

Tools:
- topology: --fabrid flag enables DRKey and fabrid for local topology
- ping: select fabrid policies with --fabridquery flag
- end2end: run integration test with --fabrid to test path validation

Demo:
1. `./scion.sh topology --fabrid` (docker: `./scion.sh topology -d
--endhosts --fabrid`)
2. `./scion.sh run`
3. `./bin/end2end_integration --fabrid` (docker:
`./bin/end2end_integration -d --fabrid`)
4. `./scion.sh stop`

Upstream changes:
- scionproto#4628
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants