diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
index 7c5f7fe..dde5b6b 100644
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
+++ b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
@@ -4,7 +4,7 @@
 ConditionKernelCommandLine=|czechlight=sdn-roadm-line
 ConditionKernelCommandLine=|czechlight=sdn-roadm-coherent-a-d
 ConditionKernelCommandLine=|czechlight=sdn-inline
-Before=sysrepod.service
+Before=netopeer2.service
 
 [Service]
 Type=oneshot
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-install-yang-ietf-hardware.service b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-install-yang-ietf-hardware.service
deleted file mode 100644
index 51fc8cc..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-install-yang-ietf-hardware.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Install YANG model ietf-hardware-state and its dependencies
-Requires=sysrepod.service
-ConditionKernelCommandLine=|czechlight=sdn-roadm-line
-ConditionKernelCommandLine=|czechlight=sdn-roadm-add-drop
-ConditionKernelCommandLine=|czechlight=sdn-roadm-coherent-a-d
-ConditionKernelCommandLine=|czechlight=sdn-inline
-ConditionKernelCommandLine=|czechlight=calibration-box
-ConditionPathExistsGlob=!/etc/sysrepo/yang/ietf-hardware-state@2018-03-13yang
-Before=cla-install-yang-sdn-roadm-line.service cla-install-yang-sdn-roadm-add-drop.service cla-install-yang-sdn-roadm-coherent-a-d.service cla-install-yang-sdn-inline.service cla-install-yang-calibration-box.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/sysrepoctl --install --yang /usr/share/cla-sysrepo/yang/iana-hardware@2018-03-13.yang
-ExecStart=/usr/bin/sysrepoctl --install --yang /usr/share/cla-sysrepo/yang/ietf-hardware-state@2018-03-13.yang
-ExecStart=/usr/bin/sysrepoctl --module ietf-hardware-state --feature-enable hardware-sensor
-
-[Install]
-WantedBy=multi-user.target
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-CL-ROADMv2.service
deleted file mode 120000
index 1beafb9..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-STATIC-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-STATIC-CL-ROADMv2.service
deleted file mode 120000
index 0dcdd20..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-STATIC-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-STATIC-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-CL-ROADMv2.service
deleted file mode 120000
index 7af2690..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-install-yang-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-STATIC-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-STATIC-CL-ROADMv2.service
deleted file mode 120000
index a7cdfe5..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-STATIC-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-install-yang-STATIC-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-ietf-hardware.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-ietf-hardware.service
deleted file mode 120000
index a3806a0..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-ietf-hardware.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-install-yang-ietf-hardware.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2-server.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2-server.service
deleted file mode 120000
index da297bb..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2-server.service
+++ /dev/null
@@ -1 +0,0 @@
-../netopeer2-server.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2.service
new file mode 120000
index 0000000..89c2903
--- /dev/null
+++ b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2.service
@@ -0,0 +1 @@
+../netopeer2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepo-plugind.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepo-plugind.service
deleted file mode 120000
index 18d911d..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepo-plugind.service
+++ /dev/null
@@ -1 +0,0 @@
-../sysrepo-plugind.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepod.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepod.service
deleted file mode 120000
index a248cd0..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepod.service
+++ /dev/null
@@ -1 +0,0 @@
-../sysrepod.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/netopeer2-server.service b/board/czechlight/common/overlay/usr/lib/systemd/system/netopeer2-server.service
deleted file mode 100644
index ce102d4..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/netopeer2-server.service
+++ /dev/null
@@ -1,20 +0,0 @@
-[Unit]
-Description=A NETCONF server on top of sysrepo
-After=syslog.target network.target sysrepod.service
-Requires=sysrepod.service
-PartOf=sysrepod.service
-StartLimitIntervalSec=0
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/netopeer2-server
-PIDFile=/var/run/netopeer2-server.pid
-PrivateTmp=yes
-PrivateDevices=yes
-ProtectSystem=yes
-ProtectHome=yes
-SystemCallArchitectures=native
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/sysrepod.service b/board/czechlight/common/overlay/usr/lib/systemd/system/sysrepod.service
deleted file mode 100644
index 42ffd41..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/sysrepod.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Sysrepo YANG configuration storage and management
-After=syslog.target network.target
-PartOf=netopeer2-server.service
-StartLimitIntervalSec=0
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/sysrepod
-PIDFile=/var/run/sysrepod.pid
-PrivateTmp=yes
-PrivateDevices=yes
-ProtectSystem=yes
-ProtectHome=yes
-SystemCallArchitectures=native
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/board/czechlight/common/patches/rauc/0001-curl-Enable-decoding-from-server-s-Content-Encoding.patch b/board/czechlight/common/patches/rauc/0001-curl-Enable-decoding-from-server-s-Content-Encoding.patch
deleted file mode 100644
index 83a0498..0000000
--- a/board/czechlight/common/patches/rauc/0001-curl-Enable-decoding-from-server-s-Content-Encoding.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 256274e4ca5786b4e68011fcb1b31272e278141d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jan.kundrat@cesnet.cz>
-Date: Thu, 5 Dec 2019 17:03:06 +0100
-Subject: [PATCH] curl: Enable decoding from server's Content-Encoding
-
-I would like to consume RAUC bundles straight from our CI environment
-which uses OpenStack Swift as a backend for artifact storage, and
-OpenDev's Zuul as the CI runner. As it happens, our CI jobs sends file
-content to Swift with a Content-Encoding: gzip [1], and Swift appears to
-always send the file with that Content-Encoding no matter what
-Accept-Encoding the HTTP client sends in their request.
-
-This patch simply uses curl's list of default supported Content-Encoding
-decoders (that's the special magic "" value of this header). The end
-result is that our boxes can now fetch stuff from our CI environment
-without any problems.
-
-[1] https://review.opendev.org/688154
----
- src/network.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/network.c b/src/network.c
-index ade9f21..5793093 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -93,6 +93,7 @@ static gboolean transfer(RaucTransfer *xfer, GError **error)
- 	curl_easy_setopt(curl, CURLOPT_XFERINFODATA, xfer);
- 	curl_easy_setopt(curl, CURLOPT_FAILONERROR, xfer);
- 	curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
-+	curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, ""); /* decode all supported Accept-Encoding headers */
- 
- 	/* set error buffer empty before perorming a request */
- 	errbuf[0] = 0;
--- 
-2.21.0
-
diff --git a/board/czechlight/common/patches/systemd/sd_lldp.patch b/board/czechlight/common/patches/systemd/sd_lldp.patch
index ca32358..d858e12 100644
--- a/board/czechlight/common/patches/systemd/sd_lldp.patch
+++ b/board/czechlight/common/patches/systemd/sd_lldp.patch
@@ -1,33 +1,32 @@
-From 9b8b7ba40accbd303a3378d75022d6d92a2b7771 Mon Sep 17 00:00:00 2001
+From 1cdab502f703bdca754d7d55b9017d25c492c0c9 Mon Sep 17 00:00:00 2001
 From: Tomas Pecka <peckato1@fit.cvut.cz>
 Date: Mon, 7 Sep 2020 18:26:47 +0200
 Subject: [PATCH] Move sd_lldp to libsystemd
 
-Make sd_lldp public in libsystemd. Clients can therefore operate
+This makes sd_lldp public in libsystemd. Clients can therefore operate
 with LLDP structures and files (e.g. parse LLDP neighbours).
 ---
  meson.build                            |   1 +
- src/fuzz/meson.build                   |   9 +-
  src/libsystemd-network/lldp-internal.h |  39 --
- src/libsystemd-network/lldp-neighbor.c | 769 -------------------------
- src/libsystemd-network/lldp-neighbor.h |  91 ---
+ src/libsystemd-network/lldp-neighbor.c | 792 -------------------------
+ src/libsystemd-network/lldp-neighbor.h |  92 ---
  src/libsystemd-network/lldp-network.c  |  78 ---
  src/libsystemd-network/lldp-network.h  |   6 -
  src/libsystemd-network/meson.build     |   6 -
  src/libsystemd-network/sd-lldp.c       | 498 ----------------
- src/libsystemd-network/test-lldp.c     | 379 ------------
- src/libsystemd/libsystemd.sym          |  41 ++
+ src/libsystemd-network/test-lldp.c     | 378 ------------
+ src/libsystemd/libsystemd.sym          |  39 ++
  src/libsystemd/meson.build             |   6 +
  src/libsystemd/sd-lldp/lldp-internal.h |  39 ++
- src/libsystemd/sd-lldp/lldp-neighbor.c | 769 +++++++++++++++++++++++++
- src/libsystemd/sd-lldp/lldp-neighbor.h |  91 +++
+ src/libsystemd/sd-lldp/lldp-neighbor.c | 792 +++++++++++++++++++++++++
+ src/libsystemd/sd-lldp/lldp-neighbor.h |  92 +++
  src/libsystemd/sd-lldp/lldp-network.c  |  78 +++
  src/libsystemd/sd-lldp/lldp-network.h  |   6 +
  src/libsystemd/sd-lldp/sd-lldp.c       | 498 ++++++++++++++++
- src/libsystemd/sd-lldp/test-lldp.c     | 379 ++++++++++++
+ src/libsystemd/sd-lldp/test-lldp.c     | 378 ++++++++++++
  src/systemd/meson.build                |   2 +-
  src/test/meson.build                   |  10 +-
- 21 files changed, 1919 insertions(+), 1876 deletions(-)
+ 20 files changed, 1935 insertions(+), 1895 deletions(-)
  delete mode 100644 src/libsystemd-network/lldp-internal.h
  delete mode 100644 src/libsystemd-network/lldp-neighbor.c
  delete mode 100644 src/libsystemd-network/lldp-neighbor.h
@@ -44,10 +43,10 @@
  create mode 100644 src/libsystemd/sd-lldp/test-lldp.c
 
 diff --git a/meson.build b/meson.build
-index 8ccc947e37..1c2099d093 100644
+index a5d1ed3d4d..45cc47f604 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -1398,6 +1398,7 @@ includes = include_directories('src/basic',
+@@ -1552,6 +1552,7 @@ includes = include_directories('src/basic',
                                 'src/libsystemd/sd-event',
                                 'src/libsystemd/sd-hwdb',
                                 'src/libsystemd/sd-id128',
@@ -55,33 +54,6 @@
                                 'src/libsystemd/sd-netlink',
                                 'src/libsystemd/sd-network',
                                 'src/libsystemd/sd-resolve',
-diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build
-index c88812d1de..8171bf58c1 100644
---- a/src/fuzz/meson.build
-+++ b/src/fuzz/meson.build
-@@ -33,8 +33,8 @@ fuzzers += [
-          []],
- 
-         [['src/fuzz/fuzz-lldp.c'],
--         [libshared,
--          libsystemd_network],
-+         [libbasic,libshared_static,libsystemd_static
-+          ],
-          []],
- 
-         [['src/fuzz/fuzz-ndisc-rs.c',
-@@ -43,8 +43,9 @@ fuzzers += [
-           'src/libsystemd-network/icmp6-util.h',
-           'src/systemd/sd-dhcp6-client.h',
-           'src/systemd/sd-ndisc.h'],
--         [libshared,
--          libsystemd_network],
-+         [libsystemd_network,
-+          libshared
-+          ],
-          []],
- 
-         [['src/fuzz/fuzz-json.c'],
 diff --git a/src/libsystemd-network/lldp-internal.h b/src/libsystemd-network/lldp-internal.h
 deleted file mode 100644
 index 9598438dba..0000000000
@@ -129,10 +101,10 @@
 -sd_lldp_event lldp_event_from_string(const char *s) _pure_;
 diff --git a/src/libsystemd-network/lldp-neighbor.c b/src/libsystemd-network/lldp-neighbor.c
 deleted file mode 100644
-index 9bae4a3c6e..0000000000
+index 02645b2bcd..0000000000
 --- a/src/libsystemd-network/lldp-neighbor.c
 +++ /dev/null
-@@ -1,769 +0,0 @@
+@@ -1,792 +0,0 @@
 -/* SPDX-License-Identifier: LGPL-2.1+ */
 -
 -#include "alloc-util.h"
@@ -143,7 +115,7 @@
 -#include "lldp-internal.h"
 -#include "lldp-neighbor.h"
 -#include "memory-util.h"
--#include "missing.h"
+-#include "missing_network.h"
 -#include "unaligned.h"
 -
 -static void lldp_neighbor_id_hash_func(const LLDPNeighborID *id, struct siphash *state) {
@@ -185,6 +157,7 @@
 -        free(n->port_description);
 -        free(n->system_name);
 -        free(n->system_description);
+-        free(n->mud_url);
 -        free(n->chassis_id_as_string);
 -        free(n->port_id_as_string);
 -        free(n);
@@ -427,9 +400,20 @@
 -
 -                        break;
 -
--                case SD_LLDP_TYPE_PRIVATE:
+-                case SD_LLDP_TYPE_PRIVATE: {
 -                        if (length < 4)
 -                                log_lldp("Found private TLV that is too short, ignoring.");
+-                        else {
+-                                /* RFC 8520: MUD URL */
+-                                if (memcmp(p, SD_LLDP_OUI_MUD, sizeof(SD_LLDP_OUI_MUD)) == 0 &&
+-                                    p[sizeof(SD_LLDP_OUI_MUD)] == SD_LLDP_OUI_SUBTYPE_MUD_USAGE_DESCRIPTION) {
+-                                        r = parse_string(&n->mud_url, p + sizeof(SD_LLDP_OUI_MUD) + 1,
+-                                                         length - 1 - sizeof(SD_LLDP_OUI_MUD));
+-                                        if (r < 0)
+-                                                return r;
+-                                }
+-                        }
+-                }
 -
 -                        break;
 -                }
@@ -728,6 +712,17 @@
 -        return 0;
 -}
 -
+-_public_ int sd_lldp_neighbor_get_mud_url(sd_lldp_neighbor *n, const char **ret) {
+-        assert_return(n, -EINVAL);
+-        assert_return(ret, -EINVAL);
+-
+-        if (!n->mud_url)
+-                return -ENODATA;
+-
+-        *ret = n->mud_url;
+-        return 0;
+-}
+-
 -_public_ int sd_lldp_neighbor_get_system_capabilities(sd_lldp_neighbor *n, uint16_t *ret) {
 -        assert_return(n, -EINVAL);
 -        assert_return(ret, -EINVAL);
@@ -904,10 +899,10 @@
 -}
 diff --git a/src/libsystemd-network/lldp-neighbor.h b/src/libsystemd-network/lldp-neighbor.h
 deleted file mode 100644
-index 62dbff42ca..0000000000
+index 74175edf54..0000000000
 --- a/src/libsystemd-network/lldp-neighbor.h
 +++ /dev/null
-@@ -1,91 +0,0 @@
+@@ -1,92 +0,0 @@
 -/* SPDX-License-Identifier: LGPL-2.1+ */
 -#pragma once
 -
@@ -964,6 +959,7 @@
 -        char *port_description;
 -        char *system_name;
 -        char *system_description;
+-        char *mud_url;
 -
 -        uint16_t port_vlan_id;
 -
@@ -1001,7 +997,7 @@
 -bool lldp_neighbor_equal(const sd_lldp_neighbor *a, const sd_lldp_neighbor *b);
 diff --git a/src/libsystemd-network/lldp-network.c b/src/libsystemd-network/lldp-network.c
 deleted file mode 100644
-index 870584c0db..0000000000
+index 53e329734b..0000000000
 --- a/src/libsystemd-network/lldp-network.c
 +++ /dev/null
 @@ -1,78 +0,0 @@
@@ -1012,7 +1008,7 @@
 -
 -#include "fd-util.h"
 -#include "lldp-network.h"
--#include "missing.h"
+-#include "missing_network.h"
 -#include "socket-util.h"
 -
 -int lldp_network_bind_raw_socket(int ifindex) {
@@ -1096,10 +1092,10 @@
 -
 -int lldp_network_bind_raw_socket(int ifindex);
 diff --git a/src/libsystemd-network/meson.build b/src/libsystemd-network/meson.build
-index 56d470ff68..88a72aa900 100644
+index 7fa0c67956..517ffd1471 100644
 --- a/src/libsystemd-network/meson.build
 +++ b/src/libsystemd-network/meson.build
-@@ -33,12 +33,6 @@ sources = files('''
+@@ -34,12 +34,6 @@ sources = files('''
          sd-dhcp6-lease.c
          dhcp-identifier.h
          dhcp-identifier.c
@@ -1114,7 +1110,7 @@
  network_internal_h = files('network-internal.h')
 diff --git a/src/libsystemd-network/sd-lldp.c b/src/libsystemd-network/sd-lldp.c
 deleted file mode 100644
-index 1f28c5731f..0000000000
+index d3606cf501..0000000000
 --- a/src/libsystemd-network/sd-lldp.c
 +++ /dev/null
 @@ -1,498 +0,0 @@
@@ -1586,7 +1582,7 @@
 -
 -_public_ int sd_lldp_set_neighbors_max(sd_lldp *lldp, uint64_t m) {
 -        assert_return(lldp, -EINVAL);
--        assert_return(m <= 0, -EINVAL);
+-        assert_return(m > 0, -EINVAL);
 -
 -        lldp->neighbors_max = m;
 -        lldp_make_space(lldp, 0);
@@ -1618,17 +1614,16 @@
 -}
 diff --git a/src/libsystemd-network/test-lldp.c b/src/libsystemd-network/test-lldp.c
 deleted file mode 100644
-index 7406f94ce0..0000000000
+index a2ac65095f..0000000000
 --- a/src/libsystemd-network/test-lldp.c
 +++ /dev/null
-@@ -1,379 +0,0 @@
+@@ -1,378 +0,0 @@
 -/* SPDX-License-Identifier: LGPL-2.1+ */
 -
 -#include <arpa/inet.h>
 -#include <errno.h>
 -#include <net/ethernet.h>
 -#include <stdio.h>
--#include <string.h>
 -#include <unistd.h>
 -
 -#include "sd-event.h"
@@ -2002,34 +1997,19 @@
 -        return 0;
 -}
 diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym
-index 5ec42e0f1f..48021b86d3 100644
+index 1e654b49ea..d584ac2faf 100644
 --- a/src/libsystemd/libsystemd.sym
 +++ b/src/libsystemd/libsystemd.sym
-@@ -681,4 +681,45 @@ LIBSYSTEMD_243 {
- global:
-         sd_bus_object_vtable_format;
-         sd_event_source_disable_unref;
+@@ -720,4 +720,43 @@ global:
+ 
+         sd_journal_enumerate_available_data;
+         sd_journal_enumerate_available_unique;
 +
-+        sd_lldp_new;
-+        sd_lldp_ref;
-+        sd_lldp_unref;
 +        sd_lldp_start;
-+        sd_lldp_stop;
-+        sd_lldp_attach_event;
-+        sd_lldp_detach_event;
-+        sd_lldp_get_event;
-+        sd_lldp_set_callback;
-+        sd_lldp_set_ifindex;
-+        sd_lldp_set_neighbors_max;
-+        sd_lldp_match_capabilities;
-+        sd_lldp_set_filter_address;
-+        sd_lldp_get_neighbors;
-+        sd_lldp_neighbor_from_raw;
-+        sd_lldp_neighbor_ref;
++		sd_lldp_neighbor_ref;
 +        sd_lldp_neighbor_unref;
 +        sd_lldp_neighbor_get_source_address;
 +        sd_lldp_neighbor_get_destination_address;
-+        sd_lldp_neighbor_get_timestamp;
 +        sd_lldp_neighbor_get_raw;
 +        sd_lldp_neighbor_get_chassis_id;
 +        sd_lldp_neighbor_get_chassis_id_as_string;
@@ -2042,6 +2022,7 @@
 +        sd_lldp_neighbor_get_mud_url;
 +        sd_lldp_neighbor_get_system_capabilities;
 +        sd_lldp_neighbor_get_enabled_capabilities;
++        sd_lldp_neighbor_from_raw;
 +        sd_lldp_neighbor_tlv_rewind;
 +        sd_lldp_neighbor_tlv_next;
 +        sd_lldp_neighbor_tlv_get_type;
@@ -2049,10 +2030,22 @@
 +        sd_lldp_neighbor_tlv_get_oui;
 +        sd_lldp_neighbor_tlv_is_oui;
 +        sd_lldp_neighbor_tlv_get_raw;
-+
- } LIBSYSTEMD_241;
++        sd_lldp_neighbor_get_timestamp;
++        sd_lldp_start;
++        sd_lldp_stop;
++        sd_lldp_attach_event;
++        sd_lldp_detach_event;
++        sd_lldp_get_event;
++        sd_lldp_set_callback;
++        sd_lldp_set_ifindex;
++        sd_lldp_new;
++        sd_lldp_get_neighbors;
++        sd_lldp_set_neighbors_max;
++        sd_lldp_match_capabilities;
++        sd_lldp_set_filter_address;
+ } LIBSYSTEMD_245;
 diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build
-index 77fe6e780f..e60853959f 100644
+index aa1ed9b7dd..db28fbcf37 100644
 --- a/src/libsystemd/meson.build
 +++ b/src/libsystemd/meson.build
 @@ -70,6 +70,12 @@ libsystemd_sources = files('''
@@ -2066,8 +2059,8 @@
 +        sd-lldp/lldp-network.c
 +        sd-lldp/lldp-network.h
          sd-netlink/generic-netlink.c
+         sd-netlink/generic-netlink.h
          sd-netlink/netlink-internal.h
-         sd-netlink/netlink-message.c
 diff --git a/src/libsystemd/sd-lldp/lldp-internal.h b/src/libsystemd/sd-lldp/lldp-internal.h
 new file mode 100644
 index 0000000000..9598438dba
@@ -2115,10 +2108,10 @@
 +sd_lldp_event lldp_event_from_string(const char *s) _pure_;
 diff --git a/src/libsystemd/sd-lldp/lldp-neighbor.c b/src/libsystemd/sd-lldp/lldp-neighbor.c
 new file mode 100644
-index 0000000000..9bae4a3c6e
+index 0000000000..02645b2bcd
 --- /dev/null
 +++ b/src/libsystemd/sd-lldp/lldp-neighbor.c
-@@ -0,0 +1,769 @@
+@@ -0,0 +1,792 @@
 +/* SPDX-License-Identifier: LGPL-2.1+ */
 +
 +#include "alloc-util.h"
@@ -2129,7 +2122,7 @@
 +#include "lldp-internal.h"
 +#include "lldp-neighbor.h"
 +#include "memory-util.h"
-+#include "missing.h"
++#include "missing_network.h"
 +#include "unaligned.h"
 +
 +static void lldp_neighbor_id_hash_func(const LLDPNeighborID *id, struct siphash *state) {
@@ -2171,6 +2164,7 @@
 +        free(n->port_description);
 +        free(n->system_name);
 +        free(n->system_description);
++        free(n->mud_url);
 +        free(n->chassis_id_as_string);
 +        free(n->port_id_as_string);
 +        free(n);
@@ -2413,9 +2407,20 @@
 +
 +                        break;
 +
-+                case SD_LLDP_TYPE_PRIVATE:
++                case SD_LLDP_TYPE_PRIVATE: {
 +                        if (length < 4)
 +                                log_lldp("Found private TLV that is too short, ignoring.");
++                        else {
++                                /* RFC 8520: MUD URL */
++                                if (memcmp(p, SD_LLDP_OUI_MUD, sizeof(SD_LLDP_OUI_MUD)) == 0 &&
++                                    p[sizeof(SD_LLDP_OUI_MUD)] == SD_LLDP_OUI_SUBTYPE_MUD_USAGE_DESCRIPTION) {
++                                        r = parse_string(&n->mud_url, p + sizeof(SD_LLDP_OUI_MUD) + 1,
++                                                         length - 1 - sizeof(SD_LLDP_OUI_MUD));
++                                        if (r < 0)
++                                                return r;
++                                }
++                        }
++                }
 +
 +                        break;
 +                }
@@ -2714,6 +2719,17 @@
 +        return 0;
 +}
 +
++_public_ int sd_lldp_neighbor_get_mud_url(sd_lldp_neighbor *n, const char **ret) {
++        assert_return(n, -EINVAL);
++        assert_return(ret, -EINVAL);
++
++        if (!n->mud_url)
++                return -ENODATA;
++
++        *ret = n->mud_url;
++        return 0;
++}
++
 +_public_ int sd_lldp_neighbor_get_system_capabilities(sd_lldp_neighbor *n, uint16_t *ret) {
 +        assert_return(n, -EINVAL);
 +        assert_return(ret, -EINVAL);
@@ -2890,10 +2906,10 @@
 +}
 diff --git a/src/libsystemd/sd-lldp/lldp-neighbor.h b/src/libsystemd/sd-lldp/lldp-neighbor.h
 new file mode 100644
-index 0000000000..62dbff42ca
+index 0000000000..74175edf54
 --- /dev/null
 +++ b/src/libsystemd/sd-lldp/lldp-neighbor.h
-@@ -0,0 +1,91 @@
+@@ -0,0 +1,92 @@
 +/* SPDX-License-Identifier: LGPL-2.1+ */
 +#pragma once
 +
@@ -2950,6 +2966,7 @@
 +        char *port_description;
 +        char *system_name;
 +        char *system_description;
++        char *mud_url;
 +
 +        uint16_t port_vlan_id;
 +
@@ -2987,7 +3004,7 @@
 +bool lldp_neighbor_equal(const sd_lldp_neighbor *a, const sd_lldp_neighbor *b);
 diff --git a/src/libsystemd/sd-lldp/lldp-network.c b/src/libsystemd/sd-lldp/lldp-network.c
 new file mode 100644
-index 0000000000..870584c0db
+index 0000000000..53e329734b
 --- /dev/null
 +++ b/src/libsystemd/sd-lldp/lldp-network.c
 @@ -0,0 +1,78 @@
@@ -2998,7 +3015,7 @@
 +
 +#include "fd-util.h"
 +#include "lldp-network.h"
-+#include "missing.h"
++#include "missing_network.h"
 +#include "socket-util.h"
 +
 +int lldp_network_bind_raw_socket(int ifindex) {
@@ -3083,7 +3100,7 @@
 +int lldp_network_bind_raw_socket(int ifindex);
 diff --git a/src/libsystemd/sd-lldp/sd-lldp.c b/src/libsystemd/sd-lldp/sd-lldp.c
 new file mode 100644
-index 0000000000..1f28c5731f
+index 0000000000..d3606cf501
 --- /dev/null
 +++ b/src/libsystemd/sd-lldp/sd-lldp.c
 @@ -0,0 +1,498 @@
@@ -3555,7 +3572,7 @@
 +
 +_public_ int sd_lldp_set_neighbors_max(sd_lldp *lldp, uint64_t m) {
 +        assert_return(lldp, -EINVAL);
-+        assert_return(m <= 0, -EINVAL);
++        assert_return(m > 0, -EINVAL);
 +
 +        lldp->neighbors_max = m;
 +        lldp_make_space(lldp, 0);
@@ -3587,17 +3604,16 @@
 +}
 diff --git a/src/libsystemd/sd-lldp/test-lldp.c b/src/libsystemd/sd-lldp/test-lldp.c
 new file mode 100644
-index 0000000000..7406f94ce0
+index 0000000000..a2ac65095f
 --- /dev/null
 +++ b/src/libsystemd/sd-lldp/test-lldp.c
-@@ -0,0 +1,379 @@
+@@ -0,0 +1,378 @@
 +/* SPDX-License-Identifier: LGPL-2.1+ */
 +
 +#include <arpa/inet.h>
 +#include <errno.h>
 +#include <net/ethernet.h>
 +#include <stdio.h>
-+#include <string.h>
 +#include <unistd.h>
 +
 +#include "sd-event.h"
@@ -3971,18 +3987,18 @@
 +        return 0;
 +}
 diff --git a/src/systemd/meson.build b/src/systemd/meson.build
-index 75c48b07a5..887421bee0 100644
+index 62baf7784e..090f06087b 100644
 --- a/src/systemd/meson.build
 +++ b/src/systemd/meson.build
-@@ -12,6 +12,7 @@ _systemd_headers = '''
-         sd-journal.h
+@@ -13,6 +13,7 @@ _systemd_headers = '''
          sd-login.h
          sd-messages.h
+         sd-path.h
 +        sd-lldp.h
  '''.split()
  
  # https://github.com/mesonbuild/meson/issues/1633
-@@ -25,7 +26,6 @@ _not_installed_headers = '''
+@@ -28,7 +29,6 @@ _not_installed_headers = '''
          sd-dhcp-server.h
          sd-ipv4acd.h
          sd-ipv4ll.h
@@ -3991,22 +4007,22 @@
          sd-netlink.h
          sd-network.h
 diff --git a/src/test/meson.build b/src/test/meson.build
-index de31e977bc..680d1dec6b 100644
+index 132989f197..1b7d2d6e6d 100644
 --- a/src/test/meson.build
 +++ b/src/test/meson.build
-@@ -1010,6 +1010,11 @@ tests += [
+@@ -1037,6 +1037,11 @@ tests += [
           [],
           []],
  
 +        [['src/libsystemd/sd-lldp/test-lldp.c'],
-+         [libbasic,libshared_static,libsystemd_static
-+          ],
++         [libsystemd_static,
++          libshared],
 +         []],
 +
  ]
  
- # test-bus-vtable-cc.cc is a symlink and symlinks get lost in containers on FuzzBuzz.
-@@ -1098,11 +1103,6 @@ tests += [
+ if cxx_cmd != ''
+@@ -1122,11 +1127,6 @@ tests += [
           [libshared,
            libsystemd_network],
           []],
diff --git a/board/czechlight/common/patches/uboot-tools/0001-fw_-env-do-not-rely-on-var-lock.patch b/board/czechlight/common/patches/uboot-tools/0001-fw_-env-do-not-rely-on-var-lock.patch
new file mode 100644
index 0000000..b9bddab
--- /dev/null
+++ b/board/czechlight/common/patches/uboot-tools/0001-fw_-env-do-not-rely-on-var-lock.patch
@@ -0,0 +1,61 @@
+From e09ad9a33840ed83b91dd3901492ecf99ab89076 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jan.kundrat@cesnet.cz>
+Date: Wed, 21 Oct 2020 23:06:21 +0200
+Subject: [PATCH] fw_*env: do not rely on /var/lock
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+...because these are not available under the new Buildroot.
+
+Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
+---
+ tools/env/README        | 2 +-
+ tools/env/fw_env_main.c | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tools/env/README b/tools/env/README
+index 709251383c..480a893202 100644
+--- a/tools/env/README
++++ b/tools/env/README
+@@ -59,5 +59,5 @@ this environment instance. On NAND this is used to limit the range
+ within which bad blocks are skipped, on NOR it is not used.
+ 
+ To prevent losing changes to the environment and to prevent confusing the MTD
+-drivers, a lock file at /var/lock/fw_printenv.lock is used to serialize access
++drivers, a lock file at /run/fw_printenv.lock is used to serialize access
+ to the environment.
+diff --git a/tools/env/fw_env_main.c b/tools/env/fw_env_main.c
+index 26ba6624cd..4c84b13cfc 100644
+--- a/tools/env/fw_env_main.c
++++ b/tools/env/fw_env_main.c
+@@ -72,7 +72,7 @@ void usage_printenv(void)
+ 		" -c, --config         configuration file, default:" CONFIG_FILE "\n"
+ #endif
+ 		" -n, --noheader       do not repeat variable name in output\n"
+-		" -l, --lock           lock node, default:/var/lock\n"
++		" -l, --lock           lock node, default:/run\n"
+ 		"\n");
+ }
+ 
+@@ -87,7 +87,7 @@ void usage_env_set(void)
+ #ifdef CONFIG_FILE
+ 		" -c, --config         configuration file, default:" CONFIG_FILE "\n"
+ #endif
+-		" -l, --lock           lock node, default:/var/lock\n"
++		" -l, --lock           lock node, default:/run\n"
+ 		" -s, --script         batch mode to minimize writes\n"
+ 		"\n"
+ 		"Examples:\n"
+@@ -205,7 +205,7 @@ int parse_setenv_args(int argc, char *argv[])
+ 
+ int main(int argc, char *argv[])
+ {
+-	char *lockname = "/var/lock/" CMD_PRINTENV ".lock";
++	char *lockname = "/run/" CMD_PRINTENV ".lock";
+ 	int lockfd = -1;
+ 	int retval = EXIT_SUCCESS;
+ 	char *_cmdname;
+-- 
+2.28.0
+
