summaryrefslogtreecommitdiffhomepage
path: root/src/device.c
AgeCommit message (Collapse)Author
2017-04-14device: use rcu_barrier_bhJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-04-09compat: support 3.16Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-04-08data: cleanup parallel workqueue and use two max_activeJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-02-27device: move sysctl toggling to open timeJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-02-27device: 4.11 uses cnf for addr_gen_modeJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-02-21device: disable ICMP redirectsJason A. Donenfeld
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. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-02-13device: shorter workqueue names to fit in psJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-02-07timers: use simpler uninit sync techniqueJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-01-10Update copyrightJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-16types: enforce consistencyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-13peer: don't use sockaddr_storage to reduce memory usageJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: ensure icmp skb length check is done for v6Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: allocate tstats in newlinkJason A. Donenfeld
Every place else does this in ndo_init, but this seems completely redundant, so to simplify things, I'm moving it into newlink. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: clean up xmit error pathJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: simplify device_init, since it only returns -EEXISTJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: dellink is already implictly unregister_netdevice_queueJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: disable ipv6 auto address generationJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-11device: rc -> retJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-09device: traditional if is cleaner than switch for this smallJason A. Donenfeld
This also generates identical assembly. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-09device: make suspend code conditional on CONFIG_PM_SLEEPJason A. Donenfeld
This isn't actually neccessary, since there are no-op stubs for these functions, but the MIPS people don't want any unneccessary bloat. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-09device: cleaner error teardownJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-12-09device: clear all peer ephemeral keys on sleepJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-22device: conntrack is optionalJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-21headers: cleanup noticesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-16device: better debug messageJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-16device: we need NONE for libpcapJason A. Donenfeld
This makes addrconf add a temporary IPv6 address, which is annoying, and currently there's not a work around for this. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-16packets: consolidate constantsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-15various: nits from willyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-15debug: cleanup skb printingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-15socket: keep track of src address in sending packetsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-06debug: support dynamic debug on skb addrJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-04socket: use dst_cache instead of handrolled cacheJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-11-03device: use ARPHDR_VOID instead of ARPHDR_NONEJason A. Donenfeld
These amount to the same exact thing, except that IPv6 auto configuration won't assign it a (useless) random address and add multicast routes. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-10-22device: better debug message for unroutable packetsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-10-14device: show debug message when no peer has allowed-ips for packetJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-09-29Rework headers and includesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-07-18build system: revamp building and configurationJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-07-10persistent keepalive: use authenticated keepalivesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-07-08persistent keepalive: start sending immediatelyJason A. Donenfeld
Rather than only start sending the persistent keepalive packets when the device first sends data, this changes it to send the packets immediately on `ip link set up`. This makes things generally seem more stateless, since the administrator does not have to manually ping the endpoint. Of course, if you have a lot of peers and all of them have persistent keepalive enabled, this could cause a lot of unwanted immediate traffic. On the other hand, if all of those peers are at some point going to be sending packets, this would happen anyway. I suppose the moral of the story is that persistent keepalive is a feature really just for clients behind NAT, not for servers, and it should be used sparingly, which is why we've set it off by default in the first place. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-07-05device: move unlikely check to if clauseJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-06-30device init: free wq after padataJason A. Donenfeld
The padata free functions make reference to their parent workqueue, so it's important that we wait to free the workqueue after the padata. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-06-29device: remove updating of trans_startJason A. Donenfeld
Per http://lists.openwall.net/netdev/2016/05/03/87 dev->trans_start has been removed, and updates are now supposed to be handled with netif_trans_update, which now updates the particular txqueue's trans_start instead. However, netdev_start_xmit already updates this member after calling ndo_start_xmit, so the new netif_trans_update function smartly makes the comment that for drivers that don't use LLTX, it's not neccessary to call netif_trans_update. Except we do use LLTX, so it would seem again that we do need to be calling netif_trans_update. However, glancing at drivers like vxlan and other similar virtual tunnels, this doesn't seem to be the case. I suspect the reason is that we both also set IFF_NO_QUEUE, so we aren't even using a txqueue for updating. Thus, this patch removes updating of trans_start all together. I believe this should be okay for older kernels too. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-06-25Initial commitJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>