Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp15956pxj; Thu, 10 Jun 2021 13:24:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDRsaBVtwOAHK9LqeeBwwxB1JU0q2m6Fz/UpMbDeAKPyQ+JrAphM2kdIVxRsNHjpMASisp X-Received: by 2002:a17:906:d97:: with SMTP id m23mr340651eji.392.1623356663410; Thu, 10 Jun 2021 13:24:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623356663; cv=none; d=google.com; s=arc-20160816; b=VMNPWrd0oGkGqNEAbkz0TsQcYxJ1rOWG72T8zisz2LX9aRRZfDTi2sIyXQeXkMIZSt xTz3LdWGHV8culyVSg1yGHjaE8vWBP7jGXEr5Q/GnMuaR0al8a6nztJxKXPCj9mWZMQc SZFLSZzdbcEgMEV3OLQRq/TntwjhFPFmLCzEtZ3b8YJ9Bz2250iAJk9BALTHUYlMqxdm g5lBF5vZ5N6HDdiPkK0pOD6DOeRQgsJdAsVe5lcG8nI3XEmxFTNuGxMNqk/mHvT6IUJx yMPjLhIMMVxmNIHQBXHmR499XhA7Ktl3IHGAjbeVrHFFGPCoDwheXGbX7qrsyhgFAMgi ifDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=TN2cshQq+RX26SMmNXh1Nu44ZA1Ux0EDgXl9lnKWGk4=; b=bmT0/H4uQb9JmAwlX1CVuobjam1JjOr1NOba7Lzht4vDGVE3dN52tLcD5XrvH/4FDM s/4jKTcY7/1jrQPW6MpNPKJyS67aNr16ZCpI23OJzOLM4X/Rx/cFkJD0TxjZPLDEQrhw ER7Uekj0h87wcInR3tqfSea2UpPYRbiwJAB7NMP8gYvISKQHnmi3d67R4DUNwDiUsGlm A6sU58lLCvOgJfh0eCF5HPkZLtQIB2Bv/+2ptSXIGe1nqOePwmVj0dsSGBwLhwrl25Up +n2Gbxwcwb4szexQVQPK7c9mM8pWEOIMh5RgQkcea4IiAu3jDSJd3d/kMid+OR2CFm3S DDFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZxG0lJ7p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s16si2997876edr.339.2021.06.10.13.24.00; Thu, 10 Jun 2021 13:24:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZxG0lJ7p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230405AbhFJUYQ (ORCPT + 99 others); Thu, 10 Jun 2021 16:24:16 -0400 Received: from mail-wr1-f41.google.com ([209.85.221.41]:46844 "EHLO mail-wr1-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230366AbhFJUYO (ORCPT ); Thu, 10 Jun 2021 16:24:14 -0400 Received: by mail-wr1-f41.google.com with SMTP id a11so3634759wrt.13; Thu, 10 Jun 2021 13:22:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=TN2cshQq+RX26SMmNXh1Nu44ZA1Ux0EDgXl9lnKWGk4=; b=ZxG0lJ7pNGKSIONSvneoDHyc9N5VroxhPRBF8zZ6uJJpUBffCXeBDahel9ZrhMslxw qmhhUZIwuCw0aRasco/oO8D/3AuVInr7PLghKazzTaFrils04scdqkTfMjLQAGpwqpDo xaizBCYTs+NDt+OzePKS/i+qAlM/WJW207Uwqwh7t2Et4BYkE6VjuNlql94EbunJLRwl ssYMPWz/7fhG3KvzB9lvKA586IllARZIPwKDWxBa4lPIkkYaj2tLrMVQ05COLlpSt8hz 7LleAW2uDjDAlTH5djq0Bb6WJyVMuOPj1tJuOFEP9PvR3RF1Quq1N9pRCbsWA68eCtRT aMrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=TN2cshQq+RX26SMmNXh1Nu44ZA1Ux0EDgXl9lnKWGk4=; b=uTOLPjLZKNnZozNtCWLz4UIpELH6bWsV2tDWnUaJUGCI9PX2ICJ98EKeE/2KcPvvFg Arg/8h/kRHuhXPx0nG4jrh2ssI1L5gpIN8UXg1UV0PuNc8IViDFJwr5T94Usc8fpZD3b tWFCKL+/tas+pXGBPNkEFRzbr6JMgm4n6J3eurMP/tfEN83EfZdVcvoOPivGjdoWU1go f8hxEcWep96F64A2W/5RruXjI1Xrk4HEI8lpwGAD0pL9e7JIKIPwwHnYEXmmBXzNVB0D y/tIKsoZwdjT67v6ADeAc8bAIUHPhUqLe8EXOQAqjGduSkbg37U2vo4ZcXLUTFAL5Mbc 3VjA== X-Gm-Message-State: AOAM533luUb4P7Cryp00a6o8ZWM8F+j2yrJKmltRuMLe6VFIJv9nEhBc 7qwgITHaFW2ngMeUHbyBz2IbtMEaIizqfg== X-Received: by 2002:a05:6000:2a3:: with SMTP id l3mr210126wry.395.1623356463466; Thu, 10 Jun 2021 13:21:03 -0700 (PDT) Received: from [192.168.181.98] (228.18.23.93.rev.sfr.net. [93.23.18.228]) by smtp.gmail.com with ESMTPSA id z3sm4807643wrl.13.2021.06.10.13.21.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 10 Jun 2021 13:21:03 -0700 (PDT) Subject: Re: [PATCH v7 bpf-next 06/11] tcp: Migrate TCP_NEW_SYN_RECV requests at retransmitting SYN+ACKs. To: Kuniyuki Iwashima , "David S . Miller" , Jakub Kicinski , Eric Dumazet , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau Cc: Benjamin Herrenschmidt , Kuniyuki Iwashima , bpf@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210521182104.18273-1-kuniyu@amazon.co.jp> <20210521182104.18273-7-kuniyu@amazon.co.jp> From: Eric Dumazet Message-ID: <3e02db84-1cda-8b5a-49ea-cdbad900e3ea@gmail.com> Date: Thu, 10 Jun 2021 22:21:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <20210521182104.18273-7-kuniyu@amazon.co.jp> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/21/21 8:20 PM, Kuniyuki Iwashima wrote: > As with the preceding patch, this patch changes reqsk_timer_handler() to > call reuseport_migrate_sock() and inet_reqsk_clone() to migrate in-flight > requests at retransmitting SYN+ACKs. If we can select a new listener and > clone the request, we resume setting the SYN+ACK timer for the new req. If > we can set the timer, we call inet_ehash_insert() to unhash the old req and > put the new req into ehash. > ... > static void reqsk_migrate_reset(struct request_sock *req) > { > + req->saved_syn = NULL; > + inet_rsk(req)->ireq_opt = NULL; > #if IS_ENABLED(CONFIG_IPV6) > - inet_rsk(req)->ipv6_opt = NULL; > + inet_rsk(req)->pktopts = NULL; > #endif > } This is fragile. Maybe instead : #if IS_ENABLED(CONFIG_IPV6) inet_rsk(req)->ipv6_opt = NULL; inet_rsk(req)->pktopts = NULL; #else inet_rsk(req)->ireq_opt = NULL; #endif