qdeconinck / mp-quic

Please read https://multipath-quic.org/2017/12/09/artifacts-available.html to figure out how to setup the code.
MIT License
176 stars 71 forks source link

Compile and run using Go 1.17.7 - w/ bifurcation/mint fixes #33

Open jmwample opened 2 years ago

jmwample commented 2 years ago

Getting the repo up and running using 1.17.7 took some small fixes:

Replaces fixes in #32

qdeconinck commented 2 years ago

Thanks for your contribution. There are a few points that should be fixed/clarified before going further:

jmwample commented 2 years ago

What is the motivation to forward-port this code to Go 1.17?

I am interested in using this code for a proof of concept research effort. Go 1.17 happens to be the latest version. I just wanted to give the option to upstream some the changes that got the minitopo experiments running for me on mininet 2.3.0 w/ golang 1.17.

should keep targeting Go 1.9

I couldn't find a way to make this work with go 1.9 (even with the configured VM) I think some of the packages that this depends on have updated and are not longer compatible with go 1.9. This could mean that pinning other packages to a commit / version would fix issues (or the VM could include all required packages using vendoring or something similar). But it was simple enough to get it working with more recent versions of golang.

If this repo is meant to track the state of the project for artefact reasons, I totally understand. Feel free to close my PRs. If you know of an alternative multipath quic implementation (preferably in golang) that is receiving current support I would be happy to check that out to. However, this seems to provide the features that I am interested in using.

qdeconinck commented 2 years ago

I think this is fine keeping the PR, especially for those wanting to run the code with current Go version, thanks for that!

And happy if this code suits your use case. Just be aware that this version of Multipath QUIC is based on a very old version of QUIC that is very different from the standardised IETF QUIC. Multipath IETF QUIC is an ongoing work at IETF and some implementations may appear soon, although I'm not aware of any golang one so far.