From nobody Thu Jan 06 23:10:11 2022 X-Original-To: freebsd-transport@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C83EF1941633 for ; Thu, 6 Jan 2022 23:10:30 +0000 (UTC) (envelope-from rysto32@gmail.com) Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JVMX619Bqz4SmD for ; Thu, 6 Jan 2022 23:10:30 +0000 (UTC) (envelope-from rysto32@gmail.com) Received: by mail-pj1-x1029.google.com with SMTP id l10-20020a17090a384a00b001b22190e075so10174944pjf.3 for ; Thu, 06 Jan 2022 15:10:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=iIdlo34jbK9HhTnJsr7urD8s1VFniXNlWOxY9PWNuZ8=; b=agzzsgMK+T0n8mcqNwKuE438VcCbORP/GU1W6dXH1esZtPFib0la4G3sVkYgOsFvOf Anr2qOv5F3EzlA1wdTVsrumZ7wqWhQ90TQI91Qvmx9hep9e+8VydiJt6pCz09WLo/jUt 2DgRAIS/DlOpfAmw6NR+h4KxQKK8fX2xdkH5nZQOONUvTQi67dxnwoR32OB9CgXFQ49s 2FCe3bhEWypDHi2+qacE7mA8WGvY+qXUdDtVwhpm69jH/jORJAqJSunMVCVWPv01fcmk aGCUDs0ert6C32ftcnOEm0jDzrJ8ylSwsEKFsnrq0OQGiV7psJdTiqUu9HgEAuUNhbuU T61A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=iIdlo34jbK9HhTnJsr7urD8s1VFniXNlWOxY9PWNuZ8=; b=Vtl3BdpKGZRP44oC5esQoJSAthCdxm3smZvup3WquwzmclP6dvduPWSJkchpvkP4RJ m/2tztRiVBgpJ5Qi+8tqeFZSf5RJxlsDcCqdJTr3nkImb+cJ17nZYMoZiIwR0//ezMvq 6AyUKFFphslnvvZFsR9Kl2ZSgFN+hB0e1sHrCBMm3ajAFbxVw7ZTk2Uif0TebNHPD6Rh M6NRK517i1CBvcCTbcBIiApAn3dMvgg/DRCHOnHiVVyc7STyZdH59sJzFIoeo7UfLfh3 T+bR4mZO4/M6pBP4rhtXolpG3pS5O6x2L78tyM+8pW8vbTGrNPb4RNSvuKfg2+dXSDDu 0iPQ== X-Gm-Message-State: AOAM531TKPQPKNlm3BtXnzI7zlvMy8OnfaZ6zM4o3k1YtQryphnlC6iX d/KmvnuG4NJJZD9On7y7WQhQ4l34aetb+cxDfg/FcCau X-Google-Smtp-Source: ABdhPJydyPAzcX1+mkW02/UKfuRUu3/iN1CVGnsZWbFX6EZQpHuYCLVBZJ6iMIZvGrL2qmH+e5iZSZTYqalauxIxxZI= X-Received: by 2002:a17:902:9698:b0:149:b7bf:9925 with SMTP id n24-20020a170902969800b00149b7bf9925mr23523793plp.49.1641510622351; Thu, 06 Jan 2022 15:10:22 -0800 (PST) List-Id: Discussions List-Archive: https://lists.freebsd.org/archives/freebsd-transport List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-transport@freebsd.org X-BeenThere: freebsd-transport@freebsd.org MIME-Version: 1.0 From: Ryan Stone Date: Thu, 6 Jan 2022 18:10:11 -0500 Message-ID: Subject: How should TCP LRO handle TH_PUSH? To: "" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4JVMX619Bqz4SmD X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=agzzsgMK; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rysto32@gmail.com designates 2607:f8b0:4864:20::1029 as permitted sender) smtp.mailfrom=rysto32@gmail.com X-Spamd-Result: default: False [2.87 / 15.00]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; FROM_HAS_DN(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-transport@freebsd.org]; NEURAL_SPAM_SHORT(1.00)[1.000]; NEURAL_SPAM_MEDIUM(0.99)[0.994]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::1029:from]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_SPAM_LONG(0.87)[0.873]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; SUBJECT_ENDS_QUESTION(1.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N I've been working on writing unit tests for LRO (see my message to freebsd-testing@ for more details on this). I've submitted reviews for two issues found by my tests that I believe to be outright bugs. I did find one more issue where I'm not sure whether it's really a bug or not. If LRO sees a TCP packet that does not have TH_PUSH set, and then merges a subsequent packet that does have TH_PUSH set into it, what should the value of the TH_PUSH flag in the merged packet be? When I wrote my test I expected to see TH_PUSH set, but that isn't our current behaviour. On the one hand I'm not sure that this is strictly correct, but on the other hand I don't think we do anything with TH_PUSH on a received packet anyway. I did code up a proposed fix for this, but I wanted to get feedback as to whether it's worth worrying about before sending the review. Does anybody have any opinions? Thanks, Ryan