aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tests/qemu/kernel.config (follow)
Commit message (Collapse)AuthorAgeFilesLines
* netns: add test for failing 5.3 FIB changesJason A. Donenfeld2019-10-111-0/+3
| | | | Reference: https://lore.kernel.org/netdev/20190924073615.31704-1-Jason@zx2c4.com/
* qemu: show more messages in console the right wayJason A. Donenfeld2018-10-021-1/+1
|
* send: account for route-based MTUJason A. Donenfeld2018-04-151-0/+3
| | | | | | | | | | It might be that a particular route has a different MTU than the interface, via `ip route add ... dev wg0 mtu 1281`, for example. In this case, it's important that we don't accidently pad beyond the end of the MTU. We accomplish that in this patch by carrying forward the MTU from the dst if it exists. We also add a unit test for this issue. Reported-by: Roman Mamedov <rm.wg@romanrm.net>
* qemu: more debuggingJason A. Donenfeld2017-11-101-0/+1
|
* qemu: allow for cross compilationJason A. Donenfeld2017-10-311-12/+1
|
* qemu: put hvc directive into configurationJason A. Donenfeld2017-10-171-0/+2
|
* qemu: phase out bitbangingJason A. Donenfeld2017-10-171-0/+1
| | | | | | | Although I was secretly proud of having figured out these unholy hacks, it turns out -no-reboot lets us do things in a platform-independent way. Suggested-by: Jann Horn <jann@thejh.net>
* qemu: add more debugging options to main makefileJason A. Donenfeld2017-10-171-0/+11
|
* qemu: add watchdog for not hanging on oopsJason A. Donenfeld2017-10-021-0/+1
|
* queue: entirely rework parallel systemJason A. Donenfeld2017-09-181-1/+0
| | | | | | | | | | This removes our dependency on padata and moves to a different mode of multiprocessing that is more efficient. This began as Samuel Holland's GSoC project and was gradually reworked/redesigned/rebased into this present commit, which is a combination of his initial contribution and my subsequent rewriting and redesigning.
* socket: improve reply-to-src algorithmJason A. Donenfeld2017-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We store the destination IP of incoming packets as the source IP of outgoing packets. When we send outgoing packets, we then ask the routing table for which interface to use and which source address, given our inputs of the destination address and a suggested source address. This all is good and fine, since it means we'll successfully reply using the correct source address, correlating with the destination address for incoming packets. However, what happens when default routes change? Or when interface IP addresses change? Prior to this commit, after getting the response from the routing table of the source address, destination address, and interface, we would then make sure that the source address actually belonged to the outbound interface. If it didn't, we'd reset our source address to zero and re-ask the routing table, in which case the routing table would then give us the default IP address for sending that packet. This worked mostly fine for most purposes, but there was a problem: what if WireGuard legitimately accepted an inbound packet on a default interface using an IP of another interface? In this case, falling back to asking for the default source IP was not a good strategy, since it'd nearly always mean we'd fail to reply using the right source. So, this commit changes the algorithm slightly. Rather than falling back to using the default IP if the preferred source IP doesn't belong to the outbound interface, we have two checks: we make sure that the source IP address belongs to _some_ interface on the system, no matter which one (so long as it's within the network namespace), and we check whether or not the interface of an incoming packet matches the returned interface for the outbound traffic. If both these conditions are true, then we proceed with using this source IP address. If not, we fall back to the default IP address.
* ratelimiter: rewrite from scratchJason A. Donenfeld2017-06-261-0/+1
| | | | | | | This not only removes the depenency on x_tables, but it also gives us much better performance and memory usage. Now, systems are able to have millions of WireGuard interfaces, without having to worry about a thundering herd of garbage collection.
* qemu: work on ARM64Jason A. Donenfeld2017-04-141-0/+2
|
* compat: support 3.12Jason A. Donenfeld2017-04-091-0/+1
|
* qemu: 4.10 needs posix timersJason A. Donenfeld2016-12-261-0/+1
|
* qemu: use sparsemem always, for kasanJason A. Donenfeld2016-11-061-0/+1
|
* tests: use makefile and expand greatlyJason A. Donenfeld2016-08-081-0/+68