Show a cover letter.

GET /api/covers/2102561/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2102561,
    "url": "http://patchwork.ozlabs.org/api/covers/2102561/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20250625132108.3292932-1-jerome.forissier@linaro.org/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20250625132108.3292932-1-jerome.forissier@linaro.org>",
    "list_archive_url": null,
    "date": "2025-06-25T13:19:08",
    "name": "[v4,00/13] sntp for NET_LWIP",
    "submitter": {
        "id": 69192,
        "url": "http://patchwork.ozlabs.org/api/people/69192/?format=api",
        "name": "Jerome Forissier",
        "email": "jerome.forissier@linaro.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20250625132108.3292932-1-jerome.forissier@linaro.org/mbox/",
    "series": [
        {
            "id": 462405,
            "url": "http://patchwork.ozlabs.org/api/series/462405/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=462405",
            "date": "2025-06-25T13:19:11",
            "name": "sntp for NET_LWIP",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/462405/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2102561/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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=p/Lt4siu;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "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=linaro.org header.i=@linaro.org header.b=\"p/Lt4siu\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=jerome.forissier@linaro.org"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4bS2b55KB8z1ydW\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Jun 2025 23:24:01 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 9AD6C82EC6;\n\tWed, 25 Jun 2025 15:22:00 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 9DA4082F2B; Wed, 25 Jun 2025 15:21:49 +0200 (CEST)",
            "from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com\n [IPv6:2a00:1450:4864:20::32f])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 210BB82D88\n for <u-boot@lists.denx.de>; Wed, 25 Jun 2025 15:21:27 +0200 (CEST)",
            "by mail-wm1-x32f.google.com with SMTP id\n 5b1f17b1804b1-451d3f72391so58850885e9.3\n for <u-boot@lists.denx.de>; Wed, 25 Jun 2025 06:21:27 -0700 (PDT)",
            "from builder.. ([2a01:e0a:3cb:7bb0:af71:dfb2:66ef:80c3])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-3a6e8068fd0sm4760042f8f.38.2025.06.25.06.21.24\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 25 Jun 2025 06:21:25 -0700 (PDT)"
        ],
        "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_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1750857686; x=1751462486; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=MkxAdTelwffmJHog0EHdOTiRAVaLWb9mLUglRkKKvv4=;\n b=p/Lt4siuoRci7IxdosXj61QEK+ohLDXdQXTLHWoUE5TchurQPVGiFepFjB7gKOcuxF\n 5zmudXJklsg05UBgoIMNU+I6HkrartbGIQuSWjjG3pwlFoV2Ab101Foz6KUssquTHf54\n sO7ZITvJc7XzTt4y0ohPvXQdAoB9mBaQvDvYL5BJC+Ar+NXwE3SYNOsGxmzKRA7GyOfS\n AEvy0uP0wzSaNOwfg3l8Bn7XdRiyY0E6gH0FX/1GUNb+bMhq2gyNoYa6eL/oQ+gMAwr0\n gVrniIpc3CegtHIcdvSm2nCVmWoayjd9gQYc2UgkijoDUkboglWS+Zd1183xpIscxy51\n 508w==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1750857686; x=1751462486;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=MkxAdTelwffmJHog0EHdOTiRAVaLWb9mLUglRkKKvv4=;\n b=hZOhfKcJLfu4au64eW0Y8xRsFm2QjS7IddBrmW1eBWyn9+OEOZldM2Z7AtEFWN/E3e\n V0SBOyHvBo9/EqI63hHAqbCRQpU8RdFf6PvdNbkC029lzCeEvht59tC+oG0aDPTJ/Elx\n kZIFGaxJC4W0xW7F1MeijbemFb/ClbrvtL1l5tnjL99n/W8c2D52+gJ5eUZ+1kUGzvLH\n RlPgul54sKaY5XQJrDeTgT8ERARD+e1dN8XttW1MR5vxJPGuPlxEoXbi7c2VxnU9qs7N\n dh+KR+0T3bH8tq7wpMz2m8nW4/6Nm+UDk/boYjcwF7J7suc4p2wHfvQjHXezVYCyDDbt\n 9SGw==",
        "X-Gm-Message-State": "AOJu0Yw+v/r/nZanNO5TTb8Wl1j+c63cfIMLJr+EEliu4ftrttZd+3VL\n A86b9z+PvV44v+YBXCfA3OeVQmbHyp0731aPrZ5iQRajZ3rzBCj0qRzG2ZJH8bmGWuwTIqPG+Hr\n f4/dtdxw=",
        "X-Gm-Gg": "ASbGncua2kxRNllVk3+QvT62Y7a41lVEdzs+g4derJG9V+nWSFN9aOS/JlwmdH+4G24\n N3/4cZru2hp2TQADrndUgDctYR7ABUO1cxUJnJz7RNclUKXsGiVEt0WvNiDNiRLvV1j6dEi+cWc\n fNhvmjKAgzMF3A0NbbZDt8tetyPQCmwROFAOfRVCp1kzOJg2NOjvH8sDEFvkIpcG/2gFbq6+1WG\n 03Q2IrIsRLGTPFzR48+X8yYfvemxp4rxi+NeIfHTo7/8iZwJwGZsjTVA1uEo7cgf5wJMHbQH943\n Bso8nHC6VaE9pbDD1XU2oa7pQsG7G3TBF/y4/RcaWSEC88XHvYrXf1YIdJzBFylVJkZkAwM=",
        "X-Google-Smtp-Source": "\n AGHT+IEhjPIJExvWb4nFleaTY+WlBxDzpyooa4QMwlG5uWpDXQskXSf27feJKh5t9eGdqD/GOjb1jQ==",
        "X-Received": "by 2002:a05:600c:3582:b0:44d:a244:4983 with SMTP id\n 5b1f17b1804b1-45381a9caeemr29117945e9.3.1750857686152;\n Wed, 25 Jun 2025 06:21:26 -0700 (PDT)",
        "From": "Jerome Forissier <jerome.forissier@linaro.org>",
        "To": "U-Boot mailing list <u-boot@lists.denx.de>",
        "Cc": "Jerome Forissier <jerome.forissier@linaro.org>,\n Adriano Cordova <adrianox@gmail.com>,\n Casey Connolly <casey.connolly@linaro.org>,\n Dmitry Rokosov <ddrokosov@salutedevices.com>,\n =?utf-8?q?Duje_Mihanovi=C4=87?= <duje.mihanovic@skole.hr>,\n Greg Malysa <malysagreg@gmail.com>, Harsha Vardhan V M <h-vm@ti.com>,\n Heinrich Schuchardt <xypron.glpk@gmx.de>,\n Hou Zhiqiang <Zhiqiang.Hou@nxp.com>,\n Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>,\n Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n Javier Tia <javier.tia@linaro.org>, Joe Hershberger <joe.hershberger@ni.com>,\n Jonas Karlman <jonas@kwiboo.se>,\n Mattijs Korpershoek <mkorpershoek@kernel.org>,\n Maxim Moskalets <maximmosk4@gmail.com>, Michael Walle <mwalle@kernel.org>,\n Michal Simek <michal.simek@amd.com>,\n Nathan Barrett-Morrison <nathan.morrison@timesys.com>,\n Oliver Gaskell <Oliver.Gaskell@analog.com>,\n Patrice Chotard <patrice.chotard@foss.st.com>,\n Peter Robinson <pbrobinson@gmail.com>, Ramon Fried <rfried.dev@gmail.com>,\n Robert Marko <robert.marko@sartura.hr>,\n Sebastian Reichel <sebastian.reichel@collabora.com>,\n Simon Glass <sjg@chromium.org>, Sumit Garg <sumit.garg@kernel.org>,\n Tom Rini <trini@konsulko.com>, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>,\n Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>",
        "Subject": "[PATCH v4 00/13] sntp for NET_LWIP",
        "Date": "Wed, 25 Jun 2025 15:19:08 +0200",
        "Message-ID": "<20250625132108.3292932-1-jerome.forissier@linaro.org>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "Implement the sntp command with lwIP (CONFIG_NET_LWIP=y). SNTP is\nsupported as an app in lib/lwip/lwip/src/apps/sntp/sntp.c so this is\nmainly about adding that file to the build and writing do_sntp() to use\nthe sntp_*() API and run the receive & timer loop. There is a patch to\nextract a small bit of common code from net/sntp.c to avoid duplication.\nThe QEMU arm64 lwIP defconfig is updated to provide the sntp command by\ndefault for convenience.\nI could not test the case when the NTP server IP is provided by DHCP. If\nsomeone has access right away to such a configuration and in case it\ndoes not work, please let me know.\n\nChanges in v4:\n- Fix documentation\n- Enter cmd/lwip even when CMD_CMD_NET is not set\n\nChanges in v3:\n- Remove doc/README.SNTP and create proper documentation for the command\n  in doc/usage/cmd/sntp.rst\n- Remove #if CONFIG_IS_ENABLED(WGET_CACERT) guard in include/net-lwip.h\n- Move files from net/lwip to cmd/lwip before splitting cmd/net-lwip.c\n\nChanges in v2:\n- Move the network commands from net/lwip to cmd/lwip. Some commands\n  such as dns and ping can be moved entirely, others such as dhcp, tftp\n  and wget need to remain partly in net/lwip because the protocol may be\n  used even when the command is not enabled.\n- ping, sntp: accept host names in addtion to IP addresses\n- Update doc/README.sntp\n\nJerome Forissier (13):\n  lwip: remove net/lwip/eth_internal.h\n  lwip: move net/lwip/dns.c to cmd/lwip\n  lwip: move net/lwip/ping.c to cmd/lwip\n  lwip: split cmd/net-lwip.c into one file per command\n  lwip: split net/lwip/wget.c\n  lwip: dns: do not return CMD_RET_FAILURE on successful resolution\n  lwip: dns: do not print IP address when a variable is specified\n  lwip: add net_lwip_dns_resolve()\n  lwip: ping: accept host name when CONFIG_CMD_DNS=y\n  net: extract function net_sntp_set_rtc() from sntp_handler()\n  lwip: add sntp command\n  doc: add doc/cmd/sntp.rst and remove doc/README.SNTP\n  configs: qemu_arm64_lwip_defconfig: enable CMD_SNTP\n\n MAINTAINERS                       |   1 +\n cmd/Kconfig                       |  13 +-\n cmd/Makefile                      |   3 +-\n cmd/lwip/Makefile                 |   6 +\n cmd/lwip/dhcp.c                   |   9 ++\n {net => cmd}/lwip/dns.c           |  12 +-\n {net => cmd}/lwip/ping.c          |   5 +-\n cmd/lwip/sntp.c                   | 133 ++++++++++++++++++\n cmd/lwip/tftp.c                   |   9 ++\n cmd/lwip/wget.c                   | 221 ++++++++++++++++++++++++++++++\n cmd/net-lwip.c                    |  50 -------\n configs/qemu_arm64_lwip_defconfig |   1 +\n doc/README.SNTP                   |  17 ---\n doc/usage/cmd/sntp.rst            |  72 ++++++++++\n doc/usage/index.rst               |   1 +\n include/net-common.h              |  13 ++\n include/net-lwip.h                |  15 ++\n lib/lwip/Makefile                 |   1 +\n lib/lwip/u-boot/arch/cc.h         |   4 +\n lib/lwip/u-boot/lwipopts.h        |   4 +\n net/lwip/Makefile                 |   2 -\n net/lwip/eth_internal.h           |  35 -----\n net/lwip/net-lwip.c               |  39 ++++++\n net/lwip/wget.c                   | 202 +--------------------------\n net/net-common.c                  |  23 ++++\n net/sntp.c                        |  23 +---\n 26 files changed, 579 insertions(+), 335 deletions(-)\n create mode 100644 cmd/lwip/Makefile\n create mode 100644 cmd/lwip/dhcp.c\n rename {net => cmd}/lwip/dns.c (90%)\n rename {net => cmd}/lwip/ping.c (95%)\n create mode 100644 cmd/lwip/sntp.c\n create mode 100644 cmd/lwip/tftp.c\n create mode 100644 cmd/lwip/wget.c\n delete mode 100644 cmd/net-lwip.c\n delete mode 100644 doc/README.SNTP\n create mode 100644 doc/usage/cmd/sntp.rst\n delete mode 100644 net/lwip/eth_internal.h"
}