aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/device.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* device: please lockdepJason A. Donenfeld2017-11-031-1/+1
|
* device: expand scope of destruct lockJason A. Donenfeld2017-10-311-2/+2
|
* device: only take reference if netns is differentJason A. Donenfeld2017-10-311-9/+50
| | | | | | If we take two references, the namespace and the device are never freed in the usual manner. We should thus only take a reference to another namespace when it is a different namespace from our own.
* global: style nitsJason A. Donenfeld2017-10-311-4/+8
|
* global: infuriating kernel iterator styleJason A. Donenfeld2017-10-311-4/+4
| | | | | | | | | | | | | | | | | One types: for (i = 0 ... So one should also type: for_each_obj (obj ... But the upstream kernel style guidelines are insane, and so we must instead do: for_each_obj(obj ... Ugly, but one must choose his battles wisely.
* peer: get rid of peer_for_each magicJason A. Donenfeld2017-10-311-6/+12
| | | | | | | | | Since the peer list is protected by the device_update_lock, and since items are removed from the peer list before putting their final reference, we don't actually need to take a reference when iterating. This allows us to simplify the macro considerably. Suggested-by: Johannes Berg <johannes@sipsolutions.net>
* global: accept decent check_patch.pl suggestionsJason A. Donenfeld2017-10-311-1/+2
|
* device: no need to take lock for integer comparisonJason A. Donenfeld2017-10-171-4/+3
|
* device: our use of queues means this check is worthlessJason A. Donenfeld2017-10-171-6/+0
|
* compat: move version logic to compat.h and out of main .cJason A. Donenfeld2017-10-111-6/+6
|
* routingtable: only use device's mutex, not a special rt oneJason A. Donenfeld2017-10-091-1/+1
|
* queueing: use ptr_ring instead of linked listsJason A. Donenfeld2017-10-051-6/+6
|
* global: add space around variable declarationsJason A. Donenfeld2017-10-031-1/+2
|
* netlink: switch from ioctl to netlink for configurationJason A. Donenfeld2017-10-021-21/+3
|
* timers: convert to use netif_runningJason A. Donenfeld2017-09-241-2/+1
|
* queue: entirely rework parallel systemJason A. Donenfeld2017-09-181-47/+37
| | | | | | | | | | 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.
* device: IFF_NO_QUEUE is a private flag, not a public oneJason A. Donenfeld2017-09-111-1/+1
|
* timers: rename confusingly named functions and variablesJason A. Donenfeld2017-08-041-2/+2
| | | | Suggested-by: Mathias Hall-Andersen <mathias@hall-andersen.dk>
* global: use pointer to net_deviceJason A. Donenfeld2017-07-201-0/+1
| | | | | | DaveM prefers it to be this way per [1]. [1] http://www.spinics.net/lists/netdev/msg443992.html
* device: support 4.13's extact newlink paramJason A. Donenfeld2017-07-201-1/+1
|
* device: cleanup register_netdev logicJason A. Donenfeld2017-07-061-15/+7
|
* compat: priv_destructor got backportedJason A. Donenfeld2017-07-061-5/+7
|
* global: cleanup IP header checkingJason A. Donenfeld2017-06-261-1/+7
| | | | This way is more correct and ensures we're within the skb head.
* device: remove icmp conntrack hacksJason A. Donenfeld2017-06-261-33/+6
| | | | This logic belongs upstream.
* device: avoid double icmp send on routing loopJason A. Donenfeld2017-06-261-1/+0
|
* ratelimiter: rewrite from scratchJason A. Donenfeld2017-06-261-3/+5
| | | | | | | 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.
* device: only use one sleep notifierJason A. Donenfeld2017-06-241-19/+26
| | | | | This greatly improves performance when adding and removing interfaces, since the power registration function does a linear search each time.
* device: netdevice destruction logic change for 4.12Jason A. Donenfeld2017-06-241-4/+13
|
* main: annotate init/exit functions to save memoryJason A. Donenfeld2017-06-241-2/+2
|
* device: do-while assignment styleJason A. Donenfeld2017-06-011-1/+1
|
* debug: print interface name in dmesgJason A. Donenfeld2017-05-311-5/+5
|
* device: keep going when share_check failsJason A. Donenfeld2017-05-301-4/+4
| | | | Suggested-by: Sultan Alsawaf <sultanxda@gmail.com>
* style: spaces after for loopsJason A. Donenfeld2017-05-301-1/+1
|
* peer: use iterator macro instead of callbackJason A. Donenfeld2017-05-301-28/+22
|
* handshake: process in parallelJason A. Donenfeld2017-05-301-19/+36
|
* device: use rcu_barrier_bhJason A. Donenfeld2017-04-141-2/+2
|
* compat: support 3.16Jason A. Donenfeld2017-04-091-0/+4
|
* data: cleanup parallel workqueue and use two max_activeJason A. Donenfeld2017-04-081-18/+18
|
* device: move sysctl toggling to open timeJason A. Donenfeld2017-02-271-30/+12
|
* device: 4.11 uses cnf for addr_gen_modeJason A. Donenfeld2017-02-271-0/+4
|
* device: disable ICMP redirectsJason A. Donenfeld2017-02-211-1/+30
| | | | | | | | | | | | The xfrm layer does this by checking for secpath, but we don't use secpath, so instead we have to jigger the config value ourselves. This is nearly always desired, since this is often how a wheel-spoke VPN works. There's very little use case for redirects with wireguard. This should be reverted if we ever move the test directly into ip_forward in net/ipv4/ip_forward.c near the call to ip_rt_send_redirect.
* device: shorter workqueue names to fit in psJason A. Donenfeld2017-02-131-2/+2
|
* timers: use simpler uninit sync techniqueJason A. Donenfeld2017-02-071-2/+2
|
* Update copyrightJason A. Donenfeld2017-01-101-1/+1
|
* types: enforce consistencyJason A. Donenfeld2016-12-161-8/+8
|
* peer: don't use sockaddr_storage to reduce memory usageJason A. Donenfeld2016-12-131-1/+1
|
* device: ensure icmp skb length check is done for v6Jason A. Donenfeld2016-12-111-6/+2
|
* device: allocate tstats in newlinkJason A. Donenfeld2016-12-111-27/+20
| | | | | Every place else does this in ndo_init, but this seems completely redundant, so to simplify things, I'm moving it into newlink.
* device: clean up xmit error pathJason A. Donenfeld2016-12-111-10/+15
|
* device: simplify device_init, since it only returns -EEXISTJason A. Donenfeld2016-12-111-6/+1
|