aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/README.md (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-07-20data: simplify no-keypair failure caseSamuel Holland1-5/+2
Signed-off-by: Samuel Holland <samuel@sholland.org>
2017-07-20data: use KMEM_CACHE macroJason A. Donenfeld1-2/+2
Suggested-by: Samuel Holland <samuel@sholland.org>
2017-07-20ratelimiter: use KMEM_CACHE macroJason A. Donenfeld1-6/+6
Suggested-by: Samuel Holland <samuel@sholland.org>
2017-07-20global: use pointer to net_deviceJason A. Donenfeld12-52/+46
DaveM prefers it to be this way per [1]. [1] http://www.spinics.net/lists/netdev/msg443992.html
2017-07-20device: support 4.13's extact newlink paramJason A. Donenfeld2-1/+5
2017-07-20send: orphan skbs when buffering longtermJason A. Donenfeld1-1/+7
Otherwise we quickly use up all of a socket's memory, which prevents a socket from sending packets to other interfaces. This also has the nice effect of letting TCP connections continue to attempt to begin, with the older ones being naturally rotated out and freed, so when a connection finally is made, only the later TCP connections are attempted, not the ones that would already have timed out.
2017-07-20selftests: ensure that there isnt CPU lag when testing rate limiterJason A. Donenfeld1-1/+25
2017-07-07compat: work around odd kernels that backport kvfreeJason A. Donenfeld1-1/+3
2017-07-07socket: styleJason A. Donenfeld1-12/+3
2017-07-07qemu: update default testing kernelJason A. Donenfeld1-1/+1
2017-07-07ratelimiter: consistently use non-bh rcuJason A. Donenfeld2-2/+2
2017-07-06version: bump snapshot0.0.20170706Jason A. Donenfeld2-2/+2
2017-07-06socket: the checkers distinguish between _bh and non _bhJason A. Donenfeld1-1/+1
2017-07-06device: cleanup register_netdev logicJason A. Donenfeld2-15/+12
2017-07-06compat: priv_destructor got backportedJason A. Donenfeld1-5/+7
2017-07-06counter: use correct unit for indicesJason A. Donenfeld1-3/+3
Even though redundant bits == bits per long, we're indexing into something that uses longs as its unit, so this is correct.
2017-07-06ratelimiter: add self-testJason A. Donenfeld4-1/+121
2017-07-04ratelimiter: use IPv6 /64 instead of /96Jason A. Donenfeld1-8/+8
2017-07-04ratelimiter: use kvzalloc for hash table allocationJason A. Donenfeld2-9/+41
2017-07-03gitignore: ignore split DWARF debug infoSamuel Holland1-0/+1
Signed-off-by: Samuel Holland <samuel@sholland.org>
2017-07-03compat: workaround Ubuntu 16.10 kernel weirdnessJason A. Donenfeld1-0/+1
2017-07-03compat: support OpenSUSE's backportsJason A. Donenfeld1-1/+6
2017-06-29receive: cleanup error handlersJason A. Donenfeld1-21/+23
2017-06-29version: bump snapshot0.0.20170629Jason A. Donenfeld2-2/+2
2017-06-29receive: pull IP header into headJason A. Donenfeld1-0/+4
2017-06-29receive: fix off-by-one in packet length checkingJason A. Donenfeld1-1/+1
This caused certain packets to be rejected that shouldn't be rejected, in the case of certain scatter-gather ethernet drivers doing GRO pulling right up to the UDP bounds but not beyond. This caused certain TCP connections to fail. Thanks very much to Reuben for providing access to the machine to debug this regression. Reported-by: Reuben Martin <reuben.m@gmail.com>
2017-06-29tools: remove double include in ipcJason A. Donenfeld1-1/+0
2017-06-28version: bump snapshot0.0.20170628Jason A. Donenfeld2-2/+2
2017-06-28compat: support Ubuntu 14.04Jason A. Donenfeld1-4/+10
2017-06-28compat: support EL7.3Jason A. Donenfeld1-16/+21
2017-06-28wg-quick: use printf -v instead of namerefs for bash 4.2Jason A. Donenfeld1-3/+2
I'm not happy about this.
2017-06-28compat: do not export symbols unnecessarilyJason A. Donenfeld4-34/+0
2017-06-26global: cleanup IP header checkingJason A. Donenfeld7-77/+46
This way is more correct and ensures we're within the skb head.
2017-06-26device: remove icmp conntrack hacksJason A. Donenfeld3-35/+37
This logic belongs upstream.
2017-06-26compat: clean up cruftJason A. Donenfeld1-4/+2
2017-06-26device: avoid double icmp send on routing loopJason A. Donenfeld1-1/+0
2017-06-26socket: use ip_rt_put instead of dst_releaseJason A. Donenfeld1-2/+2
2017-06-26socket: verify saddr belongs to interfaceJason A. Donenfeld2-1/+9
This helps "unstick" stuck source addresses, when changing routes dynamically.
2017-06-26ratelimiter: rewrite from scratchJason A. Donenfeld11-159/+179
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.
2017-06-25curve25519: keep certain sandy2x functions in CJason A. Donenfeld2-232/+84
We can let the compiler optimize how it sees fit.
2017-06-24curve25519: satisfy sparse and use short typesJason A. Donenfeld1-26/+26
2017-06-24receive: extend rate limiting to 1 second after under load detectionJason A. Donenfeld1-0/+5
2017-06-24device: only use one sleep notifierJason A. Donenfeld2-23/+27
This greatly improves performance when adding and removing interfaces, since the power registration function does a linear search each time.
2017-06-24device: netdevice destruction logic change for 4.12Jason A. Donenfeld1-4/+13
2017-06-24wg-quick: properly match IPv6 endpointJason A. Donenfeld1-1/+1
2017-06-24haskell: re-add updated haskell exampleJason A. Donenfeld5-0/+268
Code-from: John Galt <jgalt@centromere.net>
2017-06-24selftest: remove antique siphash self testJason A. Donenfeld1-89/+0
2017-06-24main: annotate init/exit functions to save memoryJason A. Donenfeld11-39/+39
2017-06-13version: bump snapshot0.0.20170613Jason A. Donenfeld2-2/+2
2017-06-12tools: use proper __linux__ ifdefJason A. Donenfeld1-1/+1