[PATCH v0 0/9] Add initial WireGuard support

Daniel Wagner wagi at monom.org
Fri Jul 19 04:21:29 PDT 2019


Add WireGuard support to the VPN daemon. It's a minimalistic approach,
meaning not all features are yet supported. The option parser is for
sure not ready yet.

The main feature of WireGuard is the builtin roaming support. This
doesn't work yet. We need to teach ConnMan to handle
this. Unfortunatly, it is not straight forward. The main issue is
getting the routing table updated when a new transport comes up. I
have a dirty patch which teaches ConnMan not to tear down the
WireGuard tunnel when the transport goes away but as I said it is
useless until the routing table is updated correctly.

Daniel Wagner (9):
  include: Remove unused definition
  shared: Remove netlink code
  build: Test for libmnl independent of nftables
  vpn: Add WireGuard plugin placeholder
  shared: Add Generic Netlink helpers for libmnl
  vpn: Add embeddable WireGuard library
  vpn: Introduce VPN_FLAG_NO_DAEMON
  vpn: Add WireGuard support
  doc: Document WireGuard VPN plugin

 Makefile.am                |  13 +-
 Makefile.plugins           |  25 +
 configure.ac               |  23 +-
 doc/vpn-config-format.txt  |  22 +
 include/provider.h         |   2 -
 src/shared/mnlg.c          | 325 ++++++++++++
 src/shared/mnlg.h          |  27 +
 src/shared/netlink.c       | 666 -------------------------
 src/shared/netlink.h       |  53 --
 tools/netlink-test.c       | 123 -----
 vpn/plugins/libwireguard.c | 998 +++++++++++++++++++++++++++++++++++++
 vpn/plugins/vpn.c          |  51 +-
 vpn/plugins/vpn.h          |   3 +-
 vpn/plugins/wireguard.c    | 371 ++++++++++++++
 vpn/plugins/wireguard.h    | 103 ++++
 15 files changed, 1944 insertions(+), 861 deletions(-)
 create mode 100644 src/shared/mnlg.c
 create mode 100644 src/shared/mnlg.h
 delete mode 100644 src/shared/netlink.c
 delete mode 100644 src/shared/netlink.h
 delete mode 100644 tools/netlink-test.c
 create mode 100644 vpn/plugins/libwireguard.c
 create mode 100644 vpn/plugins/wireguard.c
 create mode 100644 vpn/plugins/wireguard.h

-- 
2.20.1


More information about the connman mailing list