diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-11 00:32:45 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-11 15:50:29 +0200 |
commit | 526b3fa7d79f91b4c14cf82e7a773fa40fe9a47b (patch) | |
tree | 27a4af40bbbea85102bda87eb1d17414c6613947 /src/socket.c | |
parent | send: do not requeue if packet is dead (diff) | |
download | wireguard-monolithic-historical-526b3fa7d79f91b4c14cf82e7a773fa40fe9a47b.tar.xz wireguard-monolithic-historical-526b3fa7d79f91b4c14cf82e7a773fa40fe9a47b.zip |
socket: set skb->mark in addition to flowi
Otherwise netfilter's ip_route_me_harder doesn't know how to reroute
this and we get a nasty loop.
Diffstat (limited to 'src/socket.c')
-rw-r--r-- | src/socket.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/socket.c b/src/socket.c index 6139ef5..e3fd053 100644 --- a/src/socket.c +++ b/src/socket.c @@ -30,6 +30,7 @@ static inline int send4(struct wireguard_device *wg, struct sk_buff *skb, struct skb->next = skb->prev = NULL; skb->dev = wg->dev; + skb->mark = wg->fwmark; rcu_read_lock_bh(); sock = rcu_dereference_bh(wg->sock4); @@ -100,6 +101,7 @@ static inline int send6(struct wireguard_device *wg, struct sk_buff *skb, struct skb->next = skb->prev = NULL; skb->dev = wg->dev; + skb->mark = wg->fwmark; rcu_read_lock_bh(); sock = rcu_dereference_bh(wg->sock6); |