forked from scionproto/scion
-
Notifications
You must be signed in to change notification settings - Fork 33
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
BR for Hummingbird #162
Open
juagargi
wants to merge
101
commits into
netsec-ethz:scionlab
Choose a base branch
from
julesmba:br-hummingbird
base: scionlab
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
BR for Hummingbird #162
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
added functions computing ak, vk added 16 bytes comparison with time measurements removed inefficient functions added comparing vk with measurements fixed mac and mac test correctness changed dstIA to addr.IA type fixed padding in deriveAuthKey, added a deriveAuthKey version using preinitialized block, added measurement for mac added tests for comparing vk while ignoring padding rewrote mac computation (except aes encryption) by hand added function that does not make a cbcEncrypter added copy-paste of cipher aes implementation to not perform make added separate measurements tests for the different function versions renamed mac function to FlyoverMac and added a 256bits version of the auth key computation added some comments now uses assembly functions (copy/pasted from go libs) for flyover mac removed obsolete functions, look at previous commits to look at them shortened computation of K2 added copy paste of ppc64 aes assembly implementation amd64 assembly not doing decryption keys expansion anymore, hopefully arm64 not either removed dec key expansion from arm and ppc64 assembly code, removed dummy array used for storing these added comment concerning removal of dec in expandKeyAsm fixed hopfield SerializeTo too short error message changed ak computation to take resId, bw, start- and endtime as values input rather than bytes removed error as possibly function output for ak and vk computations updated ak and vk computation to new standard, updated tests to compare to library cmac and cbc implementations, updated runtime measurements to use go Benchmarking moved humminbird to pkg/slayers/path/hummingbird. Removed unused aes_const.go file Extend the benchmarks with a manual computation of Ak. added flyoverHopField added support for hummingbird pathmetahdr. Kinda ugly but should work updated compare vk to compare 6 bytes of data added decoded and raw handling hummingbird data. added tests for hummingbird added basic forwarding in dataplane and tests fixed hummingbird path reversal added decoded reverse test for hummingbird in decoded_test fixed path reversal correctness, wrote test to verify flyover suppression in final result added mac deaggregation not happening on AStransit ingress. Fixed relevant tests Fix BAZEL build files. moved most hbird code into separate files
reintroduced p.cachedMAC for usage by EPIC replaced segmentChange by effectiveXover in hbird functions fixed all tests fixed buffers for mac computation fixed other compilation issues
… as it necessites deaggregated mac, added additional log output for mac verification failure
…r, integration test no longer fails beacause of that missing. Flags for integration test now functional
…g flyovers to other hop on crossover. Adapted tests accordingly
… for partially reserved path)
…licate of the ones in the hummingbird package
… aes assembly files
…ines and HopLines hummingbird variables wherever possible
…s by the HopLines constant
The assignment of the flyover is equivalent. Removed unnecessary fields from Hop and Reservation.
Cleanup. Tests.
The new integration test uses sciond, the scion daemon.
Nil messages in gRPC are deserialized as default-constructed vars, not nils. Extend tests.
Hummingbird library in scion daemon
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hummingbird Border Router.
Library additions also integrated in this PR, original from julesmba#1
TODO:
wide
anddefault
topologies.This change is