FR: interface ListenAddress (Aka:Multihomed server issue)

Jason A. Donenfeld Jason at
Thu Aug 10 23:03:43 CEST 2017

On Thu, Aug 10, 2017 at 11:00 PM, Jan De Landtsheer
<jan.delandtsheer at> wrote:
> seeing the latest & greatest, this patch will not apply cleanly, so I don't
> know ... is this train of thought going to be kept for later releases ?

If anything changes, it would be for whatever snapshot I publish after
vacation. But I'd like some feedback on whether or not it works first.

zx2c4 at thinkpad ~ $ git clone
Cloning into 'WireGuard'...
remote: Counting objects: 3995, done.
remote: Compressing objects: 100% (1623/1623), done.
remote: Total 3995 (delta 2913), reused 3212 (delta 2301)
Receiving objects: 100% (3995/3995), 778.37 KiB | 1.76 MiB/s, done.
Resolving deltas: 100% (2913/2913), done.
zx2c4 at thinkpad ~ $ cd WireGuard/
zx2c4 at thinkpad ~/WireGuard $ curl | patch -p1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   807  100   807    0     0    919      0 --:--:-- --:--:-- --:--:--  1310
patching file src/socket.c
zx2c4 at thinkpad ~/WireGuard $ cd src
zx2c4 at thinkpad ~/WireGuard/src $ make -j9
make -C tools
make[1]: Entering directory '/home/zx2c4/WireGuard/src/tools'
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o wg.o wg.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o config.o config.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o show.o show.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o terminal.o terminal.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o ipc.o ipc.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o encoding.o encoding.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o curve25519.o curve25519.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o setconf.o setconf.c
make -C /lib/modules/4.12.5-gentoo/build M=/home/zx2c4/WireGuard/src modules
make[1]: Entering directory '/usr/src/linux-4.12.5-gentoo'
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o genkey.o genkey.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o showconf.o showconf.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o pubkey.o pubkey.c
cc -O3 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -MMD -MP
-DRUNSTATEDIR="\"/var/run\""    -c -o set.o set.c
cc   wg.o config.o show.o terminal.o ipc.o encoding.o curve25519.o
setconf.o genkey.o showconf.o pubkey.o set.o  -lmnl -o wg
make[1]: Leaving directory '/home/zx2c4/WireGuard/src/tools'
  CC [M]  /home/zx2c4/WireGuard/src/main.o
  CC [M]  /home/zx2c4/WireGuard/src/noise.o
  CC [M]  /home/zx2c4/WireGuard/src/device.o
  CC [M]  /home/zx2c4/WireGuard/src/peer.o
  CC [M]  /home/zx2c4/WireGuard/src/timers.o
  CC [M]  /home/zx2c4/WireGuard/src/data.o
  CC [M]  /home/zx2c4/WireGuard/src/send.o
  CC [M]  /home/zx2c4/WireGuard/src/receive.o
  CC [M]  /home/zx2c4/WireGuard/src/socket.o
  CC [M]  /home/zx2c4/WireGuard/src/config.o
  CC [M]  /home/zx2c4/WireGuard/src/hashtables.o
  CC [M]  /home/zx2c4/WireGuard/src/routingtable.o
  CC [M]  /home/zx2c4/WireGuard/src/ratelimiter.o
  CC [M]  /home/zx2c4/WireGuard/src/cookie.o
  CC [M]  /home/zx2c4/WireGuard/src/crypto/curve25519.o
  CC [M]  /home/zx2c4/WireGuard/src/crypto/chacha20poly1305.o
  CC [M]  /home/zx2c4/WireGuard/src/crypto/blake2s.o
  AS [M]  /home/zx2c4/WireGuard/src/crypto/chacha20-ssse3-x86_64.o
  AS [M]  /home/zx2c4/WireGuard/src/crypto/poly1305-sse2-x86_64.o
  AS [M]  /home/zx2c4/WireGuard/src/crypto/blake2s-avx-x86_64.o
  AS [M]  /home/zx2c4/WireGuard/src/crypto/curve25519-avx-x86_64.o
  AS [M]  /home/zx2c4/WireGuard/src/crypto/chacha20-avx2-x86_64.o
  AS [M]  /home/zx2c4/WireGuard/src/crypto/poly1305-avx2-x86_64.o
  LD [M]  /home/zx2c4/WireGuard/src/wireguard.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/zx2c4/WireGuard/src/wireguard.mod.o
  LD [M]  /home/zx2c4/WireGuard/src/wireguard.ko
make[1]: Leaving directory '/usr/src/linux-4.12.5-gentoo'
zx2c4 at thinkpad ~/WireGuard/src $ sudo rmmod wireguard; sudo make install

More information about the WireGuard mailing list