Buildroot update

* Updated buildroot
* Removed sd-lldp.patch for the old systemd, replaced with systemd's
  pull request #20333 [1]
* Added updated velia that works with the new systemd patch.
* Updated velia dependencies as we now require nlohmann/json
  (json-for-modern-cpp)
* Updated netconf-cli because we need new code that fixes build against
  boost 1.77 [2]

[1] https://github.com/systemd/systemd/pull/20333
[2] https://gerrit.cesnet.cz/c/CzechLight/netconf-cli/+/5071

Depends-on: https://cesnet-gerrit-czechlight/c/CzechLight/netconf-cli/+/5071
Depends-on: https://gerrit.cesnet.cz/c/CzechLight/netconf-cli/+/5071
Depends-on: https://cesnet-gerrit-czechlight/c/CzechLight/velia/+/4995
Depends-on: https://gerrit.cesnet.cz/c/CzechLight/velia/+/4995
Change-Id: Ifec45c9fbecb3012a769e4c10b37f90382ee4c7d
diff --git a/board/czechlight/common/patches/systemd/0002-network-Add-varlink-server.patch b/board/czechlight/common/patches/systemd/0002-network-Add-varlink-server.patch
new file mode 100644
index 0000000..2567d7f
--- /dev/null
+++ b/board/czechlight/common/patches/systemd/0002-network-Add-varlink-server.patch
@@ -0,0 +1,139 @@
+From 36f46b1f60453bdbb8841bd86724ff868149594b Mon Sep 17 00:00:00 2001
+From: Tomas Pecka <peckato1@users.noreply.github.com>
+Date: Tue, 24 Aug 2021 14:59:40 +0200
+Subject: [PATCH 2/9] network: Add varlink server
+
+Add a varlink server. In the next commits, we will implement a method
+that queries the LLDP neighbors.
+---
+ src/network/meson.build        |  2 ++
+ src/network/networkd-manager.c |  7 +++++++
+ src/network/networkd-manager.h |  3 +++
+ src/network/networkd-varlink.c | 34 ++++++++++++++++++++++++++++++++++
+ src/network/networkd-varlink.h |  7 +++++++
+ 5 files changed, 53 insertions(+)
+ create mode 100644 src/network/networkd-varlink.c
+ create mode 100644 src/network/networkd-varlink.h
+
+diff --git a/src/network/meson.build b/src/network/meson.build
+index 4e137d7b9e..2c97da60d3 100644
+--- a/src/network/meson.build
++++ b/src/network/meson.build
+@@ -129,6 +129,8 @@ sources = files('''
+         networkd-sysctl.h
+         networkd-util.c
+         networkd-util.h
++        networkd-varlink.c
++        networkd-varlink.h
+         networkd-wifi.c
+         networkd-wifi.h
+         tc/cake.c
+diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
+index 374d27bef3..5e53498711 100644
+--- a/src/network/networkd-manager.c
++++ b/src/network/networkd-manager.c
+@@ -38,6 +38,7 @@
+ #include "networkd-routing-policy-rule.h"
+ #include "networkd-speed-meter.h"
+ #include "networkd-state-file.h"
++#include "networkd-varlink.h"
+ #include "ordered-set.h"
+ #include "path-lookup.h"
+ #include "path-util.h"
+@@ -509,6 +510,8 @@ Manager* manager_free(Manager *m) {
+ 
+         m->fw_ctx = fw_ctx_free(m->fw_ctx);
+ 
++        manager_varlink_done(m);
++
+         return mfree(m);
+ }
+ 
+@@ -518,6 +521,10 @@ int manager_start(Manager *m) {
+ 
+         assert(m);
+ 
++        r = manager_varlink_init(m);
++        if (r < 0)
++                return r;
++
+         r = manager_start_speed_meter(m);
+         if (r < 0)
+                 return log_error_errno(r, "Failed to initialize speed meter: %m");
+diff --git a/src/network/networkd-manager.h b/src/network/networkd-manager.h
+index 4ee48f3468..f8d4d00db2 100644
+--- a/src/network/networkd-manager.h
++++ b/src/network/networkd-manager.h
+@@ -16,6 +16,7 @@
+ #include "ordered-set.h"
+ #include "set.h"
+ #include "time-util.h"
++#include "varlink.h"
+ 
+ struct Manager {
+         sd_netlink *rtnl;
+@@ -99,6 +100,8 @@ struct Manager {
+         FirewallContext *fw_ctx;
+ 
+         OrderedSet *request_queue;
++
++        VarlinkServer *varlink_server;
+ };
+ 
+ int manager_new(Manager **ret);
+diff --git a/src/network/networkd-varlink.c b/src/network/networkd-varlink.c
+new file mode 100644
+index 0000000000..57d8acb967
+--- /dev/null
++++ b/src/network/networkd-varlink.c
+@@ -0,0 +1,34 @@
++/* SPDX-License-Identifier: LGPL-2.1-or-later */
++
++#include "networkd-varlink.h"
++
++int manager_varlink_init(Manager *m) {
++        _cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL;
++        int r;
++
++        assert(m);
++
++        if (m->varlink_server)
++                return 0;
++
++        r = varlink_server_new(&s, VARLINK_SERVER_ACCOUNT_UID);
++        if (r < 0)
++                return log_error_errno(r, "Failed to allocate varlink server object: %m");
++
++        r = varlink_server_listen_address(s, "/run/systemd/netif/io.systemd.Network", 0666);
++        if (r < 0)
++                return log_error_errno(r, "Failed to bind to varlink socket: %m");
++
++        r = varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL);
++        if (r < 0)
++                return log_error_errno(r, "Failed to attach varlink connection to event loop: %m");
++
++        m->varlink_server = TAKE_PTR(s);
++        return 0;
++}
++
++void manager_varlink_done(Manager *m) {
++        assert(m);
++
++        m->varlink_server = varlink_server_unref(m->varlink_server);
++}
+diff --git a/src/network/networkd-varlink.h b/src/network/networkd-varlink.h
+new file mode 100644
+index 0000000000..657e054a51
+--- /dev/null
++++ b/src/network/networkd-varlink.h
+@@ -0,0 +1,7 @@
++/* SPDX-License-Identifier: LGPL-2.1-or-later */
++#pragma once
++
++#include "networkd-manager.h"
++
++int manager_varlink_init(Manager *m);
++void manager_varlink_done(Manager *m);
+-- 
+2.33.0
+