linux/drivers/net/wireguard
Jason A. Donenfeld 01a4967c71 wireguard: implement header_ops->parse_protocol for AF_PACKET
WireGuard uses skb->protocol to determine packet type, and bails out if
it's not set or set to something it's not expecting. For AF_PACKET
injection, we need to support its call chain of:

    packet_sendmsg -> packet_snd -> packet_parse_headers ->
      dev_parse_header_protocol -> parse_protocol

Without a valid parse_protocol, this returns zero, and wireguard then
rejects the skb. So, this wires up the ip_tunnel handler for layer 3
packets for that case.

Reported-by: Hans Wippel <ndev@hwipl.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-06-30 12:29:39 -07:00
..
selftest wireguard: noise: separate receive counter from send counter 2020-05-20 20:55:09 -07:00
allowedips.c wireguard: allowedips: fix use-after-free in root_remove_peer_lists 2020-02-05 14:14:18 +01:00
allowedips.h
cookie.c
cookie.h
device.c wireguard: implement header_ops->parse_protocol for AF_PACKET 2020-06-30 12:29:39 -07:00
device.h wireguard: device: avoid circular netns references 2020-06-23 14:50:34 -07:00
main.c wireguard: main: remove unused include <linux/version.h> 2019-12-16 19:22:22 -08:00
Makefile
messages.h wireguard: queueing: preserve flow hash across packet scrubbing 2020-05-20 20:55:09 -07:00
netlink.c wireguard: device: avoid circular netns references 2020-06-23 14:50:34 -07:00
netlink.h
noise.c wireguard: noise: do not assign initiation time in if condition 2020-06-23 14:50:34 -07:00
noise.h wireguard: noise: separate receive counter from send counter 2020-05-20 20:55:09 -07:00
peer.c wireguard: noise: error out precomputed DH during handshake rather than config 2020-03-18 18:51:43 -07:00
peer.h
peerlookup.c
peerlookup.h
queueing.c wireguard: queueing: cleanup ptr_ring in error path of packet_queue_init 2020-04-29 14:23:05 -07:00
queueing.h wireguard: queueing: preserve flow hash across packet scrubbing 2020-05-20 20:55:09 -07:00
ratelimiter.c
ratelimiter.h
receive.c wireguard: receive: account for napi_gro_receive never returning GRO_DROP 2020-06-25 16:16:21 -07:00
send.c wireguard: noise: separate receive counter from send counter 2020-05-20 20:55:09 -07:00
socket.c wireguard: device: avoid circular netns references 2020-06-23 14:50:34 -07:00
socket.h
timers.c
timers.h
version.h