{"id":2225156,"url":"http://patchwork.ozlabs.org/api/1.1/covers/2225156/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/cover/20260420-net-kconfig-v1-0-9900002d8e72@cherry.de/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.1/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260420-net-kconfig-v1-0-9900002d8e72@cherry.de>","date":"2026-04-20T11:36:06","name":"[0/6] net: migrate NO_NET out of the networking stack choice","submitter":{"id":84425,"url":"http://patchwork.ozlabs.org/api/1.1/people/84425/?format=json","name":"Quentin Schulz","email":"foss+uboot@0leil.net"},"mbox":"http://patchwork.ozlabs.org/project/uboot/cover/20260420-net-kconfig-v1-0-9900002d8e72@cherry.de/mbox/","series":[{"id":500605,"url":"http://patchwork.ozlabs.org/api/1.1/series/500605/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=500605","date":"2026-04-20T11:36:06","name":"net: migrate NO_NET out of the networking stack choice","version":1,"mbox":"http://patchwork.ozlabs.org/series/500605/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2225156/comments/","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=0leil.net header.i=@0leil.net header.a=rsa-sha256\n header.s=20231125 header.b=dmAQFPRa;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=0leil.net","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=0leil.net header.i=@0leil.net header.b=\"dmAQFPRa\";\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=0leil.net","phobos.denx.de;\n spf=pass smtp.mailfrom=foss+uboot@0leil.net"],"Received":["from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzlmv5Z05z1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 22:54:23 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id D20AB8435C;\n\tMon, 20 Apr 2026 14:54:20 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 23D9C84314; Mon, 20 Apr 2026 13:36:33 +0200 (CEST)","from smtp-bc0d.mail.infomaniak.ch (smtp-bc0d.mail.infomaniak.ch\n [IPv6:2001:1600:7:10::bc0d])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 83C5883E16\n for <u-boot@lists.denx.de>; Mon, 20 Apr 2026 13:36:30 +0200 (CEST)","from smtp-4-0000.mail.infomaniak.ch (smtp-4-0000.mail.infomaniak.ch\n [10.7.10.107])\n by smtp-4-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4fzk321BcGz19Xp;\n Mon, 20 Apr 2026 13:36:30 +0200 (CEST)","from unknown by smtp-4-0000.mail.infomaniak.ch (Postfix) with ESMTPA\n id 4fzk2q2Zt5zTv0; Mon, 20 Apr 2026 13:36:19 +0200 (CEST)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=0leil.net;\n s=20231125; t=1776684988;\n bh=AraFzYJrSTx7CiHhLSPO4a/Nql3YJst3F5wHLmj5ybA=;\n h=From:Subject:Date:To:Cc:From;\n b=dmAQFPRaoiCEs83PvpyuL9kkQEyeMbDoDF13vuztuyBvbnjPUfHyqqRuzIIwSO6Fh\n GoOVlx3rFHh8ZhPU8Xhr7EBltPylUGQjzA6tSCWq20NNXuKg50dKWcvmO23wjcf9iS\n DxCrORkNtzlcP3sItIx/YLBx+U23r+SsThKZyfQqnivQ1IpmXgOyzfyhiSc6JfnHPm\n zdcNLthVMgGkRjCzHNsei/x7QtMCTz+7qag2MvzRjMELPUe6CRV38LcJaaTy1i0fzb\n vh4NLA4AjZMzlHjCN9EdTSNLfR7YtxLmtnwrkpZpcybwmymBIUh4OwqJYneaXyh4ZR\n I57mf+Stt2ong==","From":"Quentin Schulz <foss+uboot@0leil.net>","Subject":"[PATCH 0/6] net: migrate NO_NET out of the networking stack choice","Date":"Mon, 20 Apr 2026 13:36:06 +0200","Message-Id":"<20260420-net-kconfig-v1-0-9900002d8e72@cherry.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAAAAAAAC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE\n vPSU3UzU4B8JSMDI1NDI0Mz3bzUEt3s5Py8tMx0XYM0M+MUy5RUc0OzJCWgjoKi1LTMCrBp0bG\n 1tQDDDeCPXQAAAA==","X-Change-ID":"20251216-net-kconfig-0f63d9de716b","To":"u-boot@lists.denx.de, uboot-stm32@st-md-mailman.stormreply.com,\n Paul Barker <paul.barker.ct@bp.renesas.com>","Cc":"Tom Rini <trini@konsulko.com>,\n  Jerome Forissier <jerome.forissier@arm.com>,\n  Heinrich Schuchardt <xypron.glpk@gmx.de>,\n  Marek Vasut <marek.vasut+renesas@mailbox.org>,\n  Ilias Apalodimas <ilias.apalodimas@linaro.org>, Peng Fan <peng.fan@nxp.com>,\n  Udit Kumar <u-kumar1@ti.com>,\n =?utf-8?q?Alvin_=C5=A0ipraga?= <alvin@pqrs.dk>,\n  Patrick Delaunay <patrick.delaunay@foss.st.com>,\n  Patrice Chotard <patrice.chotard@foss.st.com>,\n  Adam Ford <aford173@gmail.com>,\n  Manoj Sai <abbaraju.manojsai@amarulasolutions.com>,\n  Matteo Lisi <matteo.lisi@engicam.com>, Tim Harvey <tharvey@gateworks.com>,\n  Mingkai Hu <mingkai.hu@nxp.com>, Pramod Kumar <pramod.kumar_1@nxp.com>,\n  Gilles Talis <gilles.talis@gmail.com>, Le Jin <le.jin@siemens.com>,\n  Jan Kiszka <jan.kiszka@siemens.com>,\n  Kongyang Liu <seashell11234455@gmail.com>, Stefan Roese <sr@denx.de>,\n  Francesco Dolcini <francesco.dolcini@toradex.com>,\n  Michal Simek <michal.simek@amd.com>,\n  Mattijs Korpershoek <mkorpershoek@kernel.org>,\n  Casey Connolly <casey.connolly@linaro.org>,\n  Vignesh Raghavendra <vigneshr@ti.com>, Bryan Brattlof <bb@ti.com>,\n  Vaishnav Achath <vaishnav.a@ti.com>, Jayesh Choudhary <j-choudhary@ti.com>,\n  Simon Glass <sjg@chromium.org>, Lukasz Majewski <lukma@denx.de>,\n  Marek Vasut <marex@denx.de>, Sughosh Ganu <sughosh.ganu@arm.com>,\n  Yao Zi <me@ziyao.cc>, Fabio Estevam <festevam@gmail.com>,\n  Alice Guo <alice.guo@nxp.com>, Sam Protsenko <semen.protsenko@linaro.org>,\n  Martyn Welch <martyn.welch@collabora.com>,\n  Maarten Brock <Maarten.Brock@sttls.nl>,\n  Kory Maincent <kory.maincent@bootlin.com>,\n  \"Markus Schneider-Pargmann (TI.com)\" <msp@baylibre.com>,\n  Padmarao Begari <padmarao.begari@amd.com>,\n  Matthias Brugger <mbrugger@suse.com>,\n  Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>,\n  Heiko Schocher <hs@nabladev.com>,\n  Andrew Goodbody <andrew.goodbody@linaro.org>,\n  Peter Robinson <pbrobinson@gmail.com>, Brian Sune <briansune@gmail.com>,\n  Julien Stephan <jstephan@baylibre.com>,\n  Dinesh Maniyam <dinesh.maniyam@altera.com>,\n  Ben Dooks <ben.dooks@codethink.co.uk>,\n  Tien Fong Chee <tien.fong.chee@altera.com>,\n  Leo Yu-Chi Liang <ycliang@andestech.com>,\n  Weijie Gao <weijie.gao@mediatek.com>, Anshul Dalal <anshuld@ti.com>,\n  Neil Armstrong <neil.armstrong@linaro.org>,\n  Andre Przywara <andre.przywara@arm.com>, Andrew Davis <afd@ti.com>,\n  Hrushikesh Salunke <h-salunke@ti.com>, Alexey Charkov <alchark@gmail.com>,\n  Dario Binacchi <dario.binacchi@amarulasolutions.com>, Ye Li <ye.li@nxp.com>,\n  Andreas Dannenberg <dannenberg@ti.com>, Chintan Vankar <c-vankar@ti.com>,\n  Martin Schwan <m.schwan@phytec.de>, Benjamin Hahn <B.Hahn@phytec.de>,\n  David Lechner <dlechner@baylibre.com>,\n  Ariel D'Alessandro <ariel.dalessandro@collabora.com>,\n  Dmitrii Merkurev <dimorinny@google.com>,\n  Christian Marangi <ansuelsmth@gmail.com>,\n  Robert Marko <robert.marko@sartura.hr>, Beiyan Yun <root@infi.wang>,\n  \"Lucien.Jheng\" <lucienzx159@gmail.com>,\n  Romain Gantois <romain.gantois@bootlin.com>,\n  Siddharth Vadapalli <s-vadapalli@ti.com>,\n  Kever Yang <kever.yang@rock-chips.com>, Jonas Karlman <jonas@kwiboo.se>,\n  George Chan <gchan9527@gmail.com>,\n  Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>,\n  Benjamin ROBIN <dev@benjarobin.fr>,\n  Max Merchel <Max.Merchel@ew.tq-group.com>,\n  Sean Edmond <seanedmond@microsoft.com>,\n  Christoph Niedermaier <cniedermaier@dh-electronics.com>,\n  Shantur Rathore <i@shantur.com>,\n  \"Ying-Chun Liu (PaulLiu)\" <paul.liu@linaro.org>,\n  Adriano Cordova <adrianox@gmail.com>,\n  Sky Huang <SkyLake.Huang@mediatek.com>,\n  Quentin Schulz <quentin.schulz@cherry.de>","X-Mailer":"b4 0.15-dev-47773","X-Infomaniak-Routing":"alpha","X-Mailman-Approved-At":"Mon, 20 Apr 2026 14:54:20 +0200","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"This migrates the net options away from the main Kconfig to net/Kconfig,\nrename the current NET option to NET_LEGACY to really highlight what it\nis and hopefully encourage more people to use lwIP, add a new NET\nmenuconfig (but keep NO_NET as an alias to NET=n for now) which then\nallows us to replace all the \"if legacy_stack || lwip_stack\" checks with\n\"if net_support\" which is easier to read and maintain.\n\nThe only doubt I have is wrt SYS_RX_ETH_BUFFER which seems to be needed\nfor now even when no network is configured? Likely due to\ninclude/net-common.h with PKTBUFSRX?\n\nNo change in behavior is intended. Only change in defconfig including\nother defconfigs where NO_NET=y or NET is not set, in which case NO_NET\nis not set or NET=y should be set in the top defconfig. Similar change\nrequired for config fragments. See commit log in patch adding NET\nmenuconfig for details.\n\nThis was tested based on 70fd0c3bb7c2 (\"x86: there is no\nCONFIG_UBOOT_ROMSIZE_KB_12288\"), from within the GitLab CI container\ntrini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 and set up\nsimilarly as in \"build all platforms in a single job\" GitLab CI job.\n\n #!/usr/bin/env bash\n set -o pipefail\n set -eux\n \n ARGS=\"-BvelPEWM --reproducible-builds --step 0\"\n ./tools/buildman/buildman -o ${O} --force-build $ARGS -CE $*\n ./tools/buildman/buildman -o ${O} $ARGS -Ssd $*\n\nO=../build/u-boot/ ../u-boot.sh -b master^..b4/net-kconfig |& tee ../log.txt\n\nI can't really decipher the log.txt, but there's no line starting with\n+ which would be an error according to tools/buildman/builder.py help\ntext. Additionally, because I started the script with set -e set and\nbecause buildman has an exit code != 0 when it fails to build a board,\nand I have the summary printed (which is the second buildman call), I\nbelieve it means all builds passed.\n\nThe summary is the following:\n   aarch64: (for 537/537 boards) all +0.0 rodata +0.0\n            uniphier_v8    : all +1 rodata +1\n               u-boot: add: 0/0, grow: 1/0 bytes: 1/0 (1)\n                 function                                   old     new   delta\n                 data_gz                                  10640   10641      +1\n       arm: (for 733/733 boards) all -0.0 rodata -0.0\n            uniphier_v7    : all -1 rodata -1\n               u-boot: add: 0/0, grow: 0/-1 bytes: 0/-1 (-1)\n                 function                                   old     new   delta\n                 data_gz                                  11919   11918      -1\n            opos6uldev     : all -3 rodata -3\n               u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3)\n                 function                                   old     new   delta\n                 data_gz                                  18778   18775      -3\n            uniphier_ld4_sld8: all -3 rodata -3\n               u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3)\n                 function                                   old     new   delta\n                 data_gz                                  11276   11273      -3\n            stemmy         : all -20 rodata -20\n               u-boot: add: 0/0, grow: 0/-1 bytes: 0/-20 (-20)\n                 function                                   old     new   delta\n                 data_gz                                  15783   15763     -20\n\nAs far as I could tell this data_gz is an automatically generated array\nwhen CONFIG_CMD_CONFIG is enabled. It is the compressed .config stored\nin binary form. Because I'm changing the name of symbols, replacing a\nmenu with a menuconfig, additional text makes it to .config and the\n\"# Networking\" section in .config disappears.\n\nHere is the diff for the 5 defconfigs listed above, generated with:\n\nfor f in build/*-m; do\n\tdiff --unified=0 $f/.config $(dirname $f)/$(basename -a -s '-m' $f)/.config\ndone\n\n(-m is the build directory for master, and without the suffix, it's the\ntop commit of this series)\n\n\"\"\"\n --- build/opos6uldev-m/.config\t2026-04-20 10:53:49.804528526 +0200\n +++ build/opos6uldev/.config\t2026-04-20 11:03:37.430242767 +0200\n @@ -970,4 +969,0 @@\n -\n -#\n -# Networking\n -#\n @@ -975,0 +972 @@\n +CONFIG_NET_LEGACY=y\n --- build/stemmy-m/.config\t2026-04-20 11:01:33.653698123 +0200\n +++ build/stemmy/.config\t2026-04-20 11:04:53.452577311 +0200\n @@ -733,4 +732,0 @@\n -\n -#\n -# Networking\n -#\n @@ -738,2 +733,0 @@\n -# CONFIG_NET is not set\n -# CONFIG_NET_LWIP is not set\n --- build/uniphier_ld4_sld8-m/.config\t2026-04-20 11:00:41.605469071 +0200\n +++ build/uniphier_ld4_sld8/.config\t2026-04-20 11:04:22.226439899 +0200\n @@ -997,4 +996,0 @@\n -\n -#\n -# Networking\n -#\n @@ -1002,0 +999 @@\n +CONFIG_NET_LEGACY=y\n --- build/uniphier_v7-m/.config\t2026-04-20 10:53:04.019307319 +0200\n +++ build/uniphier_v7/.config\t2026-04-20 11:03:01.688085486 +0200\n @@ -1004,4 +1003,0 @@\n -\n -#\n -# Networking\n -#\n @@ -1009,0 +1006 @@\n +CONFIG_NET_LEGACY=y\n --- build/uniphier_v8-m/.config\t2026-04-20 10:43:05.614441175 +0200\n +++ build/uniphier_v8/.config\t2026-04-20 10:41:03.214852130 +0200\n @@ -875,4 +874,0 @@\n -\n -#\n -# Networking\n -#\n @@ -880,0 +877 @@\n +CONFIG_NET_LEGACY=y\n\"\"\"\n\nThis is fine:\n- Networking menu doesn't exist anymore so \"#\\n# Networking\\n#\\n\" won't\n  be in .config anymore.\n- opos6uldev, uniphier_ld4_sld8, uniphier_v7 and uniphier_v8 all have\n  (old) CONFIG_NET enabled, (new) CONFIG_NET will still be set but\n  CONFIG_NET_LEGACY also needs to be defined now to reflect the stack\n  choice (even if default),\n- stemmy has CONFIG_NO_NET set, which means CONFIG_NET and\n  CONFIG_NET_LWIP are not reachable anymore hence why they don't need to\n  be part of .config,\n\nGitLab CI was run on this series (well, not exactly, but it's only\nchanges to the git logs that were made):\nhttps://source.denx.de/u-boot/contributors/qschulz/u-boot/-/pipelines/29849\n\nIt passes.\n\nSigned-off-by: Quentin Schulz <quentin.schulz@cherry.de>\n---\nQuentin Schulz (6):\n      move networking menu in net/Kconfig\n      rename NET to NET_LEGACY\n      net: make NET a menuconfig (and downgrade NO_NET to a simple config)\n      simplify NET_LEGACY || NET_LWIP condition with NET condition\n      doc: remove mention to non-existing TPL_NET\n      boot: remove NO_NET use\n\n Kconfig                                            | 34 ----------------\n Makefile                                           |  4 +-\n arch/arm/mach-stm32mp/soc.c                        |  2 +-\n board/beacon/imx8mp/imx8mp_beacon.c                |  2 +-\n board/engicam/imx8mp/icore_mx8mp.c                 |  2 +-\n board/gateworks/venice/venice.c                    |  4 +-\n board/nxp/ls1043ardb/Makefile                      |  2 +-\n board/nxp/ls1046afrwy/Makefile                     |  2 +-\n board/nxp/ls1046ardb/Makefile                      |  2 +-\n .../imx8mp_debix_model_a/imx8mp_debix_model_a.c    |  2 +-\n board/siemens/iot2050/board.c                      |  2 +-\n board/sophgo/milkv_duo/Makefile                    |  2 +-\n board/sophgo/milkv_duo/board.c                     |  2 +-\n board/theadorable/theadorable.c                    |  4 +-\n board/ti/am335x/board.c                            |  2 +-\n board/toradex/verdin-imx8mp/verdin-imx8mp.c        |  2 +-\n board/xilinx/common/board.c                        |  3 +-\n boot/Kconfig                                       |  8 ++--\n cmd/Kconfig                                        | 12 +++---\n cmd/Makefile                                       |  2 +-\n cmd/bdinfo.c                                       |  7 ++--\n cmd/fastboot.c                                     |  4 +-\n cmd/ufetch.c                                       |  2 +-\n common/Kconfig                                     |  2 +-\n common/board_r.c                                   |  4 +-\n common/spl/Kconfig                                 |  5 ++-\n configs/am62px_evm_r5_ethboot_defconfig            |  2 +-\n configs/j722s_evm_r5_ethboot_defconfig             |  2 +-\n doc/develop/bootstd/overview.rst                   |  2 +-\n doc/develop/pytest/usage.rst                       |  4 +-\n doc/usage/cmd/bdinfo.rst                           |  7 ++--\n doc/usage/cmd/sntp.rst                             |  2 +-\n doc/usage/cmd/wget.rst                             |  2 +-\n doc/usage/spl_boot.rst                             |  2 +-\n drivers/dfu/Kconfig                                |  2 +-\n drivers/fastboot/Kconfig                           |  4 +-\n drivers/fastboot/fb_common.c                       |  4 +-\n drivers/net/Kconfig                                |  6 +--\n drivers/net/phy/Kconfig                            |  4 +-\n drivers/net/sandbox.c                              |  2 +-\n drivers/usb/gadget/Kconfig                         |  2 +-\n env/flags.c                                        | 10 ++---\n include/configs/stm32mp15_common.h                 |  2 +-\n include/configs/stm32mp23_common.h                 |  2 +-\n include/configs/stm32mp25_common.h                 |  2 +-\n include/env_callback.h                             |  2 +-\n include/env_flags.h                                |  6 +--\n include/net-common.h                               |  4 +-\n include/net-legacy.h                               |  2 +-\n lib/Kconfig                                        |  2 +-\n lib/efi_loader/Kconfig                             |  4 +-\n net/Kconfig                                        | 45 +++++++++++++++++++---\n net/Makefile                                       |  6 +--\n test/cmd/Makefile                                  |  2 +-\n test/cmd/bdinfo.c                                  |  6 +--\n test/dm/eth.c                                      |  6 +--\n test/py/tests/test_efi_fit.py                      |  2 +-\n test/py/tests/test_efi_loader.py                   |  2 +-\n test/py/tests/test_fpga.py                         |  4 +-\n test/py/tests/test_net.py                          |  2 +-\n 60 files changed, 139 insertions(+), 138 deletions(-)\n---\nbase-commit: 70fd0c3bb7c26d42f24d10145dd5f3168ac92eac\nchange-id: 20251216-net-kconfig-0f63d9de716b\n\nBest regards,\n--  \nQuentin Schulz <quentin.schulz@cherry.de>"}