From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0BE81C77B6F for ; Tue, 11 Apr 2023 17:49:25 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8941F85F08; Tue, 11 Apr 2023 19:49:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="lwMReAv1"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6195180B98; Tue, 11 Apr 2023 19:48:54 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by phobos.denx.de (Postfix) with ESMTP id 7115180B98 for ; Tue, 11 Apr 2023 19:48:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanedmond@linux.microsoft.com Received: from ovlvm106.redmond.corp.microsoft.com (unknown [131.107.174.57]) by linux.microsoft.com (Postfix) with ESMTPSA id 2F46A2171F90; Tue, 11 Apr 2023 10:48:49 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 2F46A2171F90 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1681235329; bh=0tgjQ95v3cWiycQ9pEhXvWz3gLLBv3IxUZDAOiAHqx0=; h=From:To:Cc:Subject:Date:From; b=lwMReAv18w/YNM13mIi0e26GO3JrZJxfRrny/YapTVqOjF5nLVjf/9ERCwpHS/seJ LlVyAYhRuBImtlBkL0hHBc4ONNupeps1uU2744oZitvLvvko7CzoR1hPNU0TCHBtTv f/LZ7/LO7+AMP5YyMRmHRFNoJKQGhinYK+TFCJGw= From: seanedmond@linux.microsoft.com To: u-boot@lists.denx.de Cc: joe.hershberger@ni.com, rfried.dev@gmail.com, sjg@chromium.org, v.v.mitrofanov@yadro.com, seanedmond@microsoft.com Subject: [PATCH v3 0/3] net: DHCPv6 protocol and commands Date: Tue, 11 Apr 2023 10:48:45 -0700 Message-Id: <20230411174848.44175-1-seanedmond@linux.microsoft.com> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Sean Edmond The recently integrated IPv6 patch series relies on the link-local address, or a statically assigned IPv6 address for network operations. This patch series adds IPv6 address assignment through DHCPv6. The implementation meets the requirements in RFC 8415 for "Client/Server Exchanges Involving Four Messages": https://www.rfc-editor.org/rfc/rfc8415 The implementation sends/receives the minimum required DHCPv6 options to network boot. A new command (dhcp6) will execute the protocol. In addition, IPv6 functionality has been extended to the existing pxe commands ("pxe get" and "pxe boot"). changes in v3: - Always instance pxelinux_configfile (allows for clean-up of many ugly #ifdef) - clean-up includes in dhcpv6.c - clean-up single line comments - use strlcpy() for setting pxelinux_configfile - change API ordering to reduce fordard declarations in dhcpv6.c - remove and include in dhcpv6.h - Add detailed function header to dhcp6_start() - Remove conditional include of dhcpv6.h - Remove inline from pxe_dhcp_option_path() - Remove ugly "pxe get"/"pxe boot" command definition (specify the maximum number of arguments and do number of parameter checking in c code) changes in v2: - Add sandbox test in test_net.py - Add CONFIG_CMD_DHCP6 to sandbox_defconfig - fix comment style (/**/ instead of //) - move addition of Kconfig from 1st patch to 2nd patch - Fix warning (warning: label ‘error_exit’ defined but not used") when CONFIG_DHCP6_PXE_DHCP_OPTION not configured - Fix dhcp6 command help - Use net_set_timeout_handler(0, NULL) in dhcpv6.c - Move USE_IP6_CMD_PARAM back to net6.h Sean Edmond (3): net: dhcp6: Add DHCPv6 (DHCP for IPv6) net: dhcp6: pxe: Add DHCP/PXE commands for IPv6 net: dhcp6: Add a sandbox test for dhcp6 boot/bootmeth_distro.c | 2 +- boot/bootmeth_pxe.c | 4 +- boot/pxe_utils.c | 3 +- cmd/Kconfig | 26 ++ cmd/net.c | 23 ++ cmd/pxe.c | 85 ++++- cmd/sysboot.c | 2 +- configs/sandbox_defconfig | 1 + include/net.h | 6 +- include/pxe_utils.h | 10 +- net/Makefile | 1 + net/dhcpv6.c | 719 ++++++++++++++++++++++++++++++++++++++ net/dhcpv6.h | 256 ++++++++++++++ net/net.c | 11 +- test/py/tests/test_net.py | 25 ++ 15 files changed, 1147 insertions(+), 27 deletions(-) create mode 100644 net/dhcpv6.c create mode 100644 net/dhcpv6.h -- 2.40.0