diff --git a/.gitignore b/.gitignore
index 176370c..5aa46c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/kronosnet-1.4.tar.gz
+SOURCES/kronosnet-1.10.tar.gz
diff --git a/.kronosnet.metadata b/.kronosnet.metadata
index 7a6ab84..d2530fe 100644
--- a/.kronosnet.metadata
+++ b/.kronosnet.metadata
@@ -1 +1 @@
-efb1799b42b9b9e56d37613aa3f99dc2d5cc4aeb SOURCES/kronosnet-1.4.tar.gz
+b6b3a0b1c9b7f53b8218c545fd663983a0f422b9 SOURCES/kronosnet-1.10.tar.gz
diff --git a/SOURCES/bz1640619-dont-close-loopback-link.patch b/SOURCES/bz1640619-dont-close-loopback-link.patch
deleted file mode 100644
index 1b38cee..0000000
--- a/SOURCES/bz1640619-dont-close-loopback-link.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/libknet/links.c b/libknet/links.c
-index df570de..6185d4d 100644
---- a/libknet/links.c
-+++ b/libknet/links.c
-@@ -401,7 +401,7 @@ int knet_link_clear_config(knet_handle_t knet_h, knet_node_id_t host_id, uint8_t
- 	memset(link, 0, sizeof(struct knet_link));
- 	link->link_id = link_id;
- 
--	if (knet_h->has_loop_link && link_id == knet_h->loop_link) {
-+	if (knet_h->has_loop_link && host_id == knet_h->host_id && link_id == knet_h->loop_link) {
- 		knet_h->has_loop_link = 0;
- 		if (host->active_link_entries == 0) {
- 			host->status.reachable = 0;
diff --git a/SOURCES/bz1658301-cope-with-eperm-from-sendmsg.patch b/SOURCES/bz1658301-cope-with-eperm-from-sendmsg.patch
deleted file mode 100644
index ae4cefa..0000000
--- a/SOURCES/bz1658301-cope-with-eperm-from-sendmsg.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 491abfc62a31c5c0a16e6e7b5c0aadd5f64602fb
-Author: Christine Caulfield <ccaulfie@redhat.com>
-Date:   Thu Dec 13 09:59:30 2018 +0000
-
-    UDP: Cope with EPERM returned from sendmsg/sendto
-    
-    IPtables can cause -EPERM to be returned from socket sends, so
-    we need to be able to handle it without going into a spin.
-    
-    SCTP seems to be unaffected.
-    
-    Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
-
-diff --git a/libknet/transport_udp.c b/libknet/transport_udp.c
-index 25e1ae6..3144502 100644
---- a/libknet/transport_udp.c
-+++ b/libknet/transport_udp.c
-@@ -401,7 +401,7 @@ int udp_transport_tx_sock_error(knet_handle_t knet_h, int sockfd, int recv_err,
- 			read_errs_from_sock(knet_h, sockfd);
- 			return 0;
- 		}
--		if (recv_errno == EINVAL) {
-+		if (recv_errno == EINVAL || recv_errno == EPERM) {
- 			return -1;
- 		}
- 		if ((recv_errno == ENOBUFS) || (recv_errno == EAGAIN)) {
diff --git a/SPECS/kronosnet.spec b/SPECS/kronosnet.spec
index a102c28..56d4d1b 100644
--- a/SPECS/kronosnet.spec
+++ b/SPECS/kronosnet.spec
@@ -1,7 +1,7 @@
 ###############################################################################
 ###############################################################################
 ##
-##  Copyright (C) 2012-2018 Red Hat, Inc.  All rights reserved.
+##  Copyright (C) 2012-2019 Red Hat, Inc.  All rights reserved.
 ##
 ##  This copyrighted material is made available to anyone wishing to use,
 ##  modify, copy, or redistribute it subject to the terms and conditions
@@ -19,11 +19,18 @@
 %bcond_without lzo2
 %bcond_without lzma
 %bcond_without bzip2
+%bcond_with zstd
 %bcond_with kronosnetd
-%bcond_with libtap
-%bcond_with runautogen
+%bcond_without libnozzle
+%bcond_without runautogen
 %bcond_with rpmdebuginfo
 %bcond_with overriderpmdebuginfo
+%bcond_without installtests
+
+# DWZ crashes when making debuginfos. This workaround is from
+# https://github.com/docker/docker/issues/22051
+# I got this via https://bugzilla.redhat.com/show_bug.cgi?id=1691946
+%global _dwz_low_mem_die_limit 0
 
 %if %{with overriderpmdebuginfo}
 %undefine _enable_debug_packages
@@ -53,30 +60,35 @@
 %if %{with bzip2}
 %global buildcompressbzip2 1
 %endif
-%if %{with libtap}
-%global buildlibtap 1
+%if %{with zstd}
+%global buildcompresszstd 1
+%endif
+%if %{with libnozzle}
+%global buildlibnozzle 1
 %endif
 %if %{with kronosnetd}
-%global buildlibtap 1
+%global buildlibnozzle 1
 %global buildkronosnetd 1
 %endif
 %if %{with runautogen}
 %global buildautogen 1
 %endif
+%if %{with installtests}
+%global installtestsuite 1
+%endif
 
 # main (empty) package
 # http://www.rpm.org/max-rpm/s1-rpm-subpack-spec-file-changes.html
 
 Name: kronosnet
 Summary: Multipoint-to-Multipoint VPN daemon
-Version: 1.4
-Release: 3%{?dist}
+Version: 1.10
+Release: 1%{?dist}
 License: GPLv2+ and LGPLv2+
 URL: http://www.kronosnet.org
 Source0: http://www.kronosnet.org/releases/kronosnet-%{version}.tar.gz
 
-Patch0: bz1640619-dont-close-loopback-link.patch
-Patch1: bz1658301-cope-with-eperm-from-sendmsg.patch
+#Patch0: bz1688880-covscan-fixes.patch
 
 # Build dependencies
 BuildRequires: gcc
@@ -107,23 +119,28 @@ BuildRequires: xz-devel
 %if %{defined buildcompressbzip2}
 BuildRequires: bzip2-devel
 %endif
+%if %{defined buildcompresszstd}
+BuildRequires: libzstd-devel
+%endif
 %if %{defined buildkronosnetd}
 BuildRequires: systemd
 BuildRequires: pam-devel
 %endif
+%if %{defined buildlibnozzle}
+BuildRequires: libnl3-devel
+%endif
 %if %{defined buildautogen}
-BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: libtool
+BuildRequires: autoconf
 %endif
 
 %prep
 %setup -q -n %{name}-%{version}
-%patch0 -p1 -b .bz1640619-dont-close-loopback-link.patch
-%patch1 -p1 -b .bz1658301-cope-with-eperm-from-sendmsg.patch
+#%patch0 -p1 -b .bz1688880-covscan-fixes
 
 %build
-%if %{with runautogen}
+%if %{defined buildautogen}
     ./autogen.sh
 %endif
 
@@ -163,16 +180,21 @@ BuildRequires: libtool
 %else
 	--disable-compress-lzma \
 %endif
-%if %{defined buildcompressbzip2}
-	--enable-compress-bzip2 \
+%if %{defined buildcompresszstd}
+	--enable-compress-zstd \
 %else
-	--disable-compress-bzip2 \
+	--disable-compress-zstd \
 %endif
 %if %{defined buildkronosnetd}
 	--enable-kronosnetd \
 %endif
-%if %{defined buildlibtap}
-	--enable-libtap \
+%if %{defined buildlibnozzle}
+	--enable-libnozzle \
+%endif
+%if %{defined installtestsuite}
+	--enable-install-tests \
+%else
+	--disable-install-tests \
 %endif
 	--with-initdefaultdir=%{_sysconfdir}/sysconfig/ \
 	--with-systemddir=%{_unitdir}
@@ -248,38 +270,38 @@ getent group kronosnetadm >/dev/null || groupadd --force kronosnetadm
 %{_mandir}/man8/*
 %endif
 
-%if %{defined buildlibtap}
-%package -n libtap1
+%if %{defined buildlibnozzle}
+%package -n libnozzle1
 Summary: Simple userland wrapper around kernel tap devices
 License: LGPLv2+
 
-%description -n libtap1
+%description -n libnozzle1
 This is an over-engineered commodity library to manage a pool
 of tap devices and provides the basic
 pre-up.d/up.d/down.d/post-down.d infrastructure.
 
-%files -n libtap1
+%files -n libnozzle1
 %license COPYING.* COPYRIGHT
-%{_libdir}/libtap.so.*
+%{_libdir}/libnozzle.so.*
 
 %ldconfig_scriptlets -n libtap1
 
-%package -n libtap1-devel
+%package -n libnozzle1-devel
 Summary: Simple userland wrapper around kernel tap devices (developer files)
 License: LGPLv2+
-Requires: libtap1%{_isa} = %{version}-%{release}
+Requires: libnozzle1%{_isa} = %{version}-%{release}
 Requires: pkgconfig
 
-%description -n libtap1-devel
+%description -n libnozzle1-devel
 This is an over-engineered commodity library to manage a pool
 of tap devices and provides the basic
 pre-up.d/up.d/down.d/post-down.d infrastructure.
 
-%files -n libtap1-devel
+%files -n libnozzle1-devel
 %license COPYING.* COPYRIGHT
-%{_libdir}/libtap.so
-%{_includedir}/libtap.h
-%{_libdir}/pkgconfig/libtap.pc
+%{_libdir}/libnozzle.so
+%{_includedir}/libnozzle.h
+%{_libdir}/pkgconfig/libnozzle.pc
 %endif
 
 %package -n libknet1
@@ -419,6 +441,19 @@ bzip2 compression support for libknet1.
 %{_libdir}/kronosnet/compress_bzip2.so
 %endif
 
+%if %{defined buildcompresszstd}
+%package -n libknet1-compress-zstd-plugin
+Summary: Libknet1 zstd support
+License: LGPLv2+
+Requires: libknet1%{_isa} = %{version}-%{release}
+
+%description -n libknet1-compress-zstd-plugin
+zstd compression support for libknet1.
+
+%files -n libknet1-compress-zstd-plugin
+%{_libdir}/kronosnet/compress_zstd.so
+%endif
+
 %package -n libknet1-crypto-plugins-all
 Summary: Libknet1 crypto plugins meta package
 License: LGPLv2+
@@ -452,6 +487,9 @@ Requires: libknet1-compress-lzma-plugin%{_isa} = %{version}-%{release}
 %if %{defined buildcompressbzip2}
 Requires: libknet1-compress-bzip2-plugin%{_isa} = %{version}-%{release}
 %endif
+%if %{defined buildcompresszstd}
+Requires: libknet1-compress-zstd-plugin%{_isa} = %{version}-%{release}
+%endif
 
 %description -n libknet1-compress-plugins-all
 meta package to install all of libknet1 compress plugins
@@ -469,12 +507,51 @@ meta package to install all of libknet1 plugins
 
 %files -n libknet1-plugins-all
 
+%if %{with installtests}
+%package -n kronosnet-tests
+Group: System Environment/Libraries
+Summary: kronosnet test suite
+Requires: libknet1 = %{version}-%{release}
+Requires: libnozzle1%{_isa} = %{version}-%{release}
+
+%description -n kronosnet-tests
+ this package contains the libknet test suite
+
+%files -n kronosnet-tests
+%defattr(-,root,root,-)
+%{_libdir}/kronosnet/tests/*
+%endif
+
 %if %{with rpmdebuginfo}
 # This is left over from upstream.
 %debug_package
 %endif
 
 %changelog
+* Wed Jun 12 2019 Christine Caulfield <ccaulfie@redhat.com> - 1.10-1
+  Rebase to 1.10 for ACL support
+  Resolves: rhbz#1688880
+
+* Tue May 21 2019 Christine Caulfield <ccaulfie@redhat.com> - 1.9-3
+  Fix kronosnet-tests dependancies and add workaround for dwz crash
+  Resolves: rhbz#1688880
+
+* Tue May 14 2019 Christine Caulfield <ccaulfie@redhat.com> - 1.9-2
+  add some covscan fixes
+  Resolves: rhbz#1688880
+
+* Tue May 14 2019 Christine Caulfield <ccaulfie@redhat.com> - 1.9-1
+  Rebase to knet 1.9
+  Resolves: rhbz#1688880
+
+* Thu Mar 28 2019 Christine Caulfield <ccaulfie@redhat.com> - 1.4-5
+  link: Check address families on a link always match
+  Resolves: rhbz#1691419
+
+* Thu Mar 14 2019 Christine Caulfield <ccaulfie@redhat.com> - 1.4-4
+  Add Gating tests
+  Resolves: rhbz#1682128
+
 * Fri Dec 14 2018 Christine Caulfield <ccaulfie@redhat.com> - 1.4-3
   Don't spin if we get EPERM from sendmsg - iptables can cause this
   Resolves: rhbz#1658301