Reynir Björnsson

Results 143 comments of Reynir Björnsson

I think it is worthwhile to implement udp in dns-client-lwt either way. My mental model of this is that the DNS happy-eyeballs observes a successful TCP handshake and considers it...

I was slightly wrong: `port NN` really is `rport NN` and `lport NN`. Last defined "wins".

We circumvent the headache of keeping track of the order of `port` and `rport`/`lport` by forbidding `port` with any of `rport`, `lport` in 195beb6

Hmm, true. These are usually pushed by the server (but can be configured by the client). Maybe the way forward would be to not expect `Ifconfig` and `Route_gateway` to be...

With this branch and no-cstruct opam repository I see a significant speedup: cc628d5865acd7ba8a7a54bb7857767f3d6e1f3c (this branch + bench marking): ![Screenshot from 2024-04-05 12-33-36](https://github.com/robur-coop/miragevpn/assets/348527/cb0ed95c-87d8-4abb-acf2-81770f273f46) fe92b0ae998e3f752a8d663208096334b955bd54 (main): ![Screenshot from 2024-04-05 12-34-01](https://github.com/robur-coop/miragevpn/assets/348527/35b6988b-8a58-4fc1-a4f3-71bc43b79cce) There is...

After @hannesm fixed the bug in ocaml-tls#no-cstruct that caused invalid MAC I can now test against a VM on my machine running OpenVPN.?? and iperf3: ## Main branch ``` $...

Below is a flamegraph of miragevpn while I run `iperf3 -R` (i.e. testing download) ![perf-flamegraph-no-cstruct-down](https://github.com/robur-coop/miragevpn/assets/348527/1fde059d-009a-4db3-8184-318a76d7a50d) And while running `iperf3` (i. e. testing upload) ![perf-flamegraph-no-cstruct-up](https://github.com/robur-coop/miragevpn/assets/348527/1a9c0323-aa89-4f7e-ae15-219230aba18b)

I pushed some commits that reduce the number of allocations and copying and I can observe a small improvement in the bechamel benchmark. I was struggling to observe improvements in...

For comparison here is 4 runs of iperf3 with this branch: ``` reynir@solsort:~$ iperf3 -i 0 -c 10.8.0.1 -R Connecting to host 10.8.0.1, port 5201 Reverse mode, remote host 10.8.0.1...

I discovered that `"" ^ long_string` is not cheap as it results in copying `long_string`, so in https://github.com/robur-coop/miragevpn/pull/223/commits/0de5ad02767f27cd01988d4bce9450af9e425d80 I check if `state.linger` is the empty string before prepending it to...