-
-
Notifications
You must be signed in to change notification settings - Fork 82
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
fix(implementations): update neqo image to new repository #344
Conversation
Neqo's interop runner Docker image is now hosted on GitHub's container registry and continuously updated via a daily GitHub action. See mozilla/neqo#1552 for details.
🚀 thanks Marten! Before merging here, any way to give this new image a test run on CI? As far as I can tell the current step is only a linter. |
We don't have any CI action set up for that, but you can test it locally. |
👍 On it. Will report back. Sorry for not doing that before opening a pull request. |
Running locally was easy. This is excellent! Not 100% sure why
That said, I don't know where neqo chooses |
The neqo server does compatible version upgrade to v2 by default. You probably need to add |
The Quic Interop Runner expects the server to use `Version::Version1` in all testcases but `versionnegotiation` and `v2`. See discussion in [Quic Interop Runner issue](quic-interop/quic-interop-runner#344 (comment)) and corresponding code in the [Quic Interop Runner](https://github.com/quic-interop/quic-interop-runner/blob/ca27dcb5272a82d994337ae3d14533c318d81b76/testcases.py#L188-L195). While Neqo's default `Version` is `Version1`, the default `VersionConfig` includes all versions (`Version::all()`) and thus the server will currently upgrade the connection to the compatible `Version::Version2`. With this commit, the server will always choose `Version1` when running a qns testcase. Given that Neqo's qns implementation does not support the `versionnegotiation` and `v2` testcases, this fix is applicable for all supported testcases.
* fix(qns): always use Version1 on server The Quic Interop Runner expects the server to use `Version::Version1` in all testcases but `versionnegotiation` and `v2`. See discussion in [Quic Interop Runner issue](quic-interop/quic-interop-runner#344 (comment)) and corresponding code in the [Quic Interop Runner](https://github.com/quic-interop/quic-interop-runner/blob/ca27dcb5272a82d994337ae3d14533c318d81b76/testcases.py#L188-L195). While Neqo's default `Version` is `Version1`, the default `VersionConfig` includes all versions (`Version::all()`) and thus the server will currently upgrade the connection to the compatible `Version::Version2`. With this commit, the server will always choose `Version1` when running a qns testcase. Given that Neqo's qns implementation does not support the `versionnegotiation` and `v2` testcases, this fix is applicable for all supported testcases. * Only set if unset
@mxinden What's the status of this PR? |
With mozilla/neqo#1578 and all the other pull requests merged, the new image is on par with the old image. Note that the
Either way, I suggest moving forward here. Agreed @marten-seemann? |
Yes, there's no requirement to pass all tests to get merged here. As long as the image actually works and is doing QUIC transfers, it's totally fine to have some red in the table. We should probably relax the amplification limit test case a bit anyway, previous discussion in the working group converged on up to 5x being ok. |
Thank you @marten-seemann! |
Neqo's interop runner Docker image is now hosted on GitHub's container registry and continuously updated via a daily GitHub action.
See mozilla/neqo#1552 for details.
//CC @martinthomson and @larseggert