From owner-svn-src-head@freebsd.org Fri Jan 5 17:12:31 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79885EB4D70 for ; Fri, 5 Jan 2018 17:12:31 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E430572F64 for ; Fri, 5 Jan 2018 17:12:30 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: by mail-wm0-x22c.google.com with SMTP id n138so3642993wmg.2 for ; Fri, 05 Jan 2018 09:12:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=multiplay-co-uk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=ZclY+lbpktAs46L7e5pCLkaPYoRijpevZXKVCh3YdMc=; b=rEMOLN7+uGvBms+1vyuSC+tWE4xatif2LLkYf7iHpvZidRoPP45hkuDKPwj5y9BM6E WEMJJsMf0i4ESZ9xLG4l9yNzeNnxDvj82AtyCdk0AEVvN3ILYqxJEvu4M1LVYsdTUZrI +r8n+2LVJkmPQU1cp3XDz0H7JmAslGAbxWA8vnDImRE9g7IqLirHspRjK8olE35MXG1f JP2xwhlWHdnHNxLLFLLQFi0K0mwppvqZrq11r1lp5j/VbafmVUGytmRavcku+2RKrjyq c6+PuTbdKy0KV8Q/yBVh277pvdds1Pc9wqJvBVYhxDl7ma00APF8GZAMV2wyHL2/vFgo jnMQ== 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; bh=ZclY+lbpktAs46L7e5pCLkaPYoRijpevZXKVCh3YdMc=; b=Hcdm9Qaq8+fvEoQKo+wwewp4+Hbo83eHFw6I+ELeuS+hYAQGFZPZDQN3I6kYuhJGDw nnbn5S3GfkV44frv0Ol09CejNwQ42+DvaJlxJr+uAKv4bwljolOy2T3Y2DFF4LnDHPgI ExS5d5zPnd76hUknlADdw7ft9dfJ2jefoZiD/uYBDnTkmzuiajyApeyFiFEbzzXRq7TP /uMLtVuNnsYbFXd8tEo+hbKTKdsjRb19QILtir62wt15/Vy3CuIILwWONs5QPg+DuZzU yzuwxDW60eFZVITslxP7OjhNly3t1KG22ogycAo5mFgz+Cuydv75v7BKL+Um0GbZ3N7t M4TA== X-Gm-Message-State: AKGB3mJGX5Gp5n6EJusl03S3XN8Eo2c3JdVM5WqBe2yKfvNIBlqL03qV 8puh9FBAtwtF+4wIZOjIyrYhGYw5b8Y= X-Google-Smtp-Source: ACJfBotVIgxDxPsor6v+27wLbj8nxZwEtFHa3wHSg6J1BG0jmiQyQ7AzaeKi9sbu9spNJOp0CF5dpA== X-Received: by 10.80.170.200 with SMTP id r8mr5004763edc.230.1515172348874; Fri, 05 Jan 2018 09:12:28 -0800 (PST) Received: from [10.10.1.111] ([185.97.61.1]) by smtp.gmail.com with ESMTPSA id g61sm4036118edd.48.2018.01.05.09.12.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Jan 2018 09:12:27 -0800 (PST) Subject: Re: svn commit: r327559 - in head: . sys/net To: Eugene Grosbein , hiren panchasara Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201801042005.w04K5liB049411@repo.freebsd.org> <5A4E9397.9000308@grosbein.net> <20180104224214.GD18879@strugglingcoder.info> <63c3c450-aeaf-bdd5-5e16-414146c9bb3a@multiplay.co.uk> <5A4EDE65.1010201@grosbein.net> <688c4d08-3dac-545f-1bed-b21270a03eca@multiplay.co.uk> <5A4F8088.2030700@grosbein.net> <89bfbd34-62c9-3c9f-308e-0053617e63ce@multiplay.co.uk> <5A4FAFA1.2020006@grosbein.net> From: Steven Hartland Message-ID: Date: Fri, 5 Jan 2018 17:12:29 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <5A4FAFA1.2020006@grosbein.net> Content-Language: en-US Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jan 2018 17:12:31 -0000 On 05/01/2018 17:02, Eugene Grosbein wrote: > 05.01.2018 22:13, Steven Hartland wrote: > >>>>>> I hope there's some improvements that can be made, for example if we can determine >>>>>> the stream was instigated remotely then flowid would always be valid hence we can use it assuming it >>>>>> matches the requested spec or if we can make it clear to the user that laggproto is not the one they requested, I'm open to ideas? >>>>> We just need to clear flow id from incoming TCP segments and always generate new flow id for responses >>>>> keeping old flow id for IP forwarding case. Please back out your change to not degrade IP forwarding performance. >>>> Sorry I don't follow you. You seem to be inferring that we can easily generate a flowid without involving the sending hardware >>> RSS has nothing to do with sending hardware. It's operating system's job to choose outgoing port, not hardware's job. >> The OS is deciding which outgoing, however its using the hash based on the flowid to do so > It should use flowid for transit forwarding IP packet only. It should not use flowid from incoming TCP segment. Not sure I follow your meaning, LACP has nothing to do with incoming TCP, its balancing and hence hashing is performed on outbound (tx) traffic only. > >>>> I can't see how that is possible as that's chicken and egg i.e. you can't get the HW interface >>>> to generate the flowid without sending a packet and you can't send a packet >>>> until you have a the flowid to decide which interface to send it from. >>> Outgoing packet flow does not and should not depend on incoming flow, >>> they are independent things in case of LACP. There is no "chicken and egg" problem at all. >>> >> But this is how it works ATM, it uses the flowid which is only valid after the first rx. > Then this is a bug that should be fixed to solve your problem, > instead of change of lagg defaults that degrades IP forwarding performance. > You seem to be confusing IP forwarding with choice of port in the lagg interface? Once lagg (lacp in this case) has chosen the port then the stack continues as it always has, if this means using flowid to balance queues then that's fine. This change only changes the hash calculation which is used to determine the port that's used.     Regards     Steve