From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH] net: disable UDP punt on sockets in RCV_SHUTDWON Date: Fri, 4 May 2018 16:44:52 -0700 Message-ID: <7ef94995-9c5b-4f53-e1e3-e12e74817e9f@gmail.com> References: <1525468117-61242-1-git-send-email-chintsha@cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: kamensky@cisco.com, takondra@cisco.com, xe-linux-external@cisco.com, enkechen@cisco.com To: Chintan Shah , davem@davemloft.net, kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org, kaber@trash.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1525468117-61242-1-git-send-email-chintsha@cisco.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 05/04/2018 02:08 PM, Chintan Shah wrote: > A UDP application which opens multiple sockets with same local > address/port combination (using SO_REUSEPORT/SO_REUSEADDR socket options); > and issues connect to a remote socket (using one of these local socket). > Now if the same socket, which issued connect, issues shutdown (SHUT_RD); > packets would still be queued to this socket (if sent from same remote > client, which the local socket connected to), and not delivered to the > other socket in the normal state. > Confusing changelog. sk_shutdown is on a different cache line, so this additional fetch would cause loss of performance if many sockets are scanned in the hash bucket. If you are trying to add full 4-tuple hash table to UDP, and accept() ability, this would require a bit more than this hack...