diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-04-03 21:40:45 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-04-04 03:44:35 +0200 |
commit | fd6d19bb46a666868abd6aeff4fc43dd067489b5 (patch) | |
tree | f4dc3a91443258e81a0cc4d402bce8451481f26a /src/receive.c | |
parent | chacha20poly1305: check return values of sgops (diff) | |
download | wireguard-monolithic-historical-fd6d19bb46a666868abd6aeff4fc43dd067489b5.tar.xz wireguard-monolithic-historical-fd6d19bb46a666868abd6aeff4fc43dd067489b5.zip |
data: simplify flow
Diffstat (limited to 'src/receive.c')
-rw-r--r-- | src/receive.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/receive.c b/src/receive.c index 3b375ae..929d723 100644 --- a/src/receive.c +++ b/src/receive.c @@ -205,17 +205,12 @@ static void keep_key_fresh(struct wireguard_peer *peer) } } -static void receive_data_packet(struct sk_buff *skb, struct wireguard_peer *peer, struct endpoint *endpoint, bool used_new_key, int err) +void packet_consume_data_done(struct sk_buff *skb, struct wireguard_peer *peer, struct endpoint *endpoint, bool used_new_key) { struct net_device *dev; struct wireguard_peer *routed_peer; struct wireguard_device *wg; - if (unlikely(err < 0 || !peer || !endpoint)) { - dev_kfree_skb(skb); - return; - } - socket_set_peer_endpoint(peer, endpoint); wg = peer->device; @@ -305,7 +300,7 @@ void packet_receive(struct wireguard_device *wg, struct sk_buff *skb) break; case MESSAGE_DATA: PACKET_CB(skb)->ds = ip_tunnel_get_dsfield(ip_hdr(skb), skb); - packet_consume_data(skb, wg, receive_data_packet); + packet_consume_data(skb, wg); break; default: net_dbg_skb_ratelimited("Invalid packet from %pISpfsc\n", skb); |