From patchwork Tue Nov 8 06:17:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Liu X-Patchwork-Id: 622628 Delivered-To: patch@linaro.org Received: by 2002:a17:522:c983:b0:460:3032:e3c4 with SMTP id kr3csp2726304pvb; Mon, 7 Nov 2022 22:17:49 -0800 (PST) X-Google-Smtp-Source: AA0mqf60IlsO8cG2GriE9WhFrgm0JLfFKqpkzsLmo0rm/XassuhKaQxKWOrhQLHwptZXMwM6dV3q X-Received: by 2002:a17:906:4ad9:b0:7ae:81a0:a886 with SMTP id u25-20020a1709064ad900b007ae81a0a886mr313978ejt.193.1667888269002; Mon, 07 Nov 2022 22:17:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1667888268; cv=none; d=google.com; s=arc-20160816; b=Q8Olcbz3dDWkNsOFykxzVsWP7Qw2+SWrp+w28V9HInaYSZ+m4HtzjJa87FTQtMgApm Pjl/oxSqu/Ng6VmTRg9NdsR/dPfsqcuyK+1lxk6KLI41Kc75l3TxYkZLepZqo9DFxuLI Dvac1n89cGpF8M9a1570CxJC2vo3Ga7NvU2+ynvnIQBlKiloDnrMp4IjJL9O+/NpzTkU 7nDYjnoPCxOOGtNA5sW3PwrhOWNbvoE6CPNlw/BgIbVK4Gamc/etsigls9Fp11dfeE4H 9HTPX12q4jld0KTDjmSYOv9J0QBIBw0PSm3ldETJ8BZanQM5qO3DhgwX1V08LVpzWsc1 gW+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=sJVooMhcRbZ1BwNqnz1ZeuIP+9FM7W0yclQQyg2v0mk=; b=Lj5kZnXQW8KZURoKrdflv8BEC5QMNqRKRWrpeLpuqvOG3fT2xCq9ARaYhCx1Rnp54k k0jOzPll1j7UQ48yXSe8StDhQDcE6nJuwd0Po7y93sk6B7zd2JSHVZWn2tfV0D2xg0dB Xd2q6yr+yFsQ9EAqoW75JNkB85BmuJrTffU44axWItlr7q6V5wEOa83kMcMHIQmqi1Sr kCpe5FxVTf91nFCad2cIjDFlUNEz2KjBkDVq+CujzZYTmyX5cWTR1GuKCQuuelO0xOeh BTDLApa7B0jWkf2EbltG7+08kKGdENYa3sSYyypyBkeA9w/HGrv6ujhl1zQmmZVcLboN 0qsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FhReCzEZ; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id dr5-20020a170907720500b007ade01e723bsi13223228ejc.30.2022.11.07.22.17.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Nov 2022 22:17:48 -0800 (PST) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FhReCzEZ; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E891884FCA; Tue, 8 Nov 2022 07:17:45 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="FhReCzEZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1E61084F34; Tue, 8 Nov 2022 07:17:44 +0100 (CET) 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, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5336A84F34 for ; Tue, 8 Nov 2022 07:17:41 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=paul.liu@linaro.org Received: by mail-pl1-x62e.google.com with SMTP id p21so13286240plr.7 for ; Mon, 07 Nov 2022 22:17:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=sJVooMhcRbZ1BwNqnz1ZeuIP+9FM7W0yclQQyg2v0mk=; b=FhReCzEZDzLByk501z3FNesg2pVC0zwAJ5YE9fx1VMuKjm+LZkIXvKhYBadsrgd3wx 7ZM8Eq04/GQAHlDsAkH/VDrQqSMeAWfQ64fJkqxfjaLS0tKfzCTc04l5iw0qDLwPLJah YT3f2Jfoy2OiyhDtpcPlDpdyDcWDz1jnGX6Nr4+QWcT0ItuYBcCdvHOyPCbQ2JHorWbS gDWHF73N79bWlBCMr2Oiih2BO9KtmRLn6IbFXCEbddwsP5aCE4GfsNFcqA1kLBMsxoz8 iMa9wP0QTKJridvRU9qrXbTEuHg1l8uBh+bL/V7ObOK4/uc8pRgNmtHOTJHYRrqYbcOL PiYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sJVooMhcRbZ1BwNqnz1ZeuIP+9FM7W0yclQQyg2v0mk=; b=Qro0P7sqKlbz95z7Rw1Byqp6DmAgqfhPVjXaspPP4cR7vVeZwfW1eAwWLDr4cKtfr7 GiGi+COv/bO3t8EkGYnSbkPLFUwaGHCE5qAw9uH51wOu0jt83jKnEN1hS+6JyyP9VWMB mtkJ0aecxqoFpBMDO2+LmVQrUSN83Tr8w5ROeqkQVxerYeDhhGK6e2SB5V6ZXKbtKt/a huXVo6my/2eiD2wAh7dvfwfuJ3IU5UlAXoPLKSgYhJ8FOk1pRCYZFwMP953V/ZnbvQ4T ci3owpE3CYKgYAzxfBZQu74yxzHL9fRfFwkkzMvQOjoIL/CWtuxUPAHcj2Bw79OzKjz0 j7RA== X-Gm-Message-State: ACrzQf1GDEG+gC9imSU/ROOsvoV92FeDqAIwjBMn1eI9UuU0mnXmwQbg 0VOBwYbdK3RbzEhGqnKuX2IaUSqnISc8Gg== X-Received: by 2002:a17:903:41c2:b0:187:3fb8:79bc with SMTP id u2-20020a17090341c200b001873fb879bcmr35437375ple.18.1667888259290; Mon, 07 Nov 2022 22:17:39 -0800 (PST) Received: from localhost ([111.184.129.17]) by smtp.gmail.com with ESMTPSA id g18-20020aa796b2000000b0056da8c41bbasm5533686pfk.161.2022.11.07.22.17.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Nov 2022 22:17:38 -0800 (PST) From: "Ying-Chun Liu (PaulLiu)" X-Google-Original-From: "Ying-Chun Liu (PaulLiu)" To: u-boot@lists.denx.de Cc: "Ying-Chun Liu (PaulLiu)" Subject: [PATCH v20 0/4] add TCP and HTTP for downloading images Date: Tue, 8 Nov 2022 14:17:27 +0800 Message-Id: <20221108061731.1589327-1-paulliu@debian.org> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 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.6 at phobos.denx.de X-Virus-Status: Clean From: "Ying-Chun Liu (PaulLiu)" This patch is a refresh from previous patches made by Duncan Hare . I've contacted him and continue to work on this patch. This patch introduce a TCP stack with SACK. And a simple wget command to download images from http server. v1-v12: Made by Duncan, didn't tracked. v13: Fix some issues which is reviewed by Christian v14: Add options to enable/disable SACK. v15: Fix various syntax errors reviewed by Michal. Remove magic numbers. Use kernel-doc format. v16: Add more kernel-doc. Fix more double spaces. v17: Fix wget with address timeout issue reported by Ramon. v18: Add documentation for wget command. v19: Add unit test for wget command. v20: Rebase to latest master and resolve conflict. Ying-Chun Liu (PaulLiu) (4): net: Add TCP protocol net: Add wget application doc: cmd: wget: add documentation test: cmd: add test for wget command. cmd/Kconfig | 7 + cmd/net.c | 13 + doc/usage/cmd/wget.rst | 61 ++++ doc/usage/index.rst | 1 + include/net.h | 38 ++- include/net/tcp.h | 299 +++++++++++++++++ include/net/wget.h | 22 ++ net/Kconfig | 16 + net/Makefile | 2 + net/net.c | 36 +++ net/tcp.c | 720 +++++++++++++++++++++++++++++++++++++++++ net/wget.c | 438 +++++++++++++++++++++++++ test/cmd/Makefile | 1 + test/cmd/wget.c | 206 ++++++++++++ 14 files changed, 1850 insertions(+), 10 deletions(-) create mode 100644 doc/usage/cmd/wget.rst create mode 100644 include/net/tcp.h create mode 100644 include/net/wget.h create mode 100644 net/tcp.c create mode 100644 net/wget.c create mode 100644 test/cmd/wget.c