From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: icmp6_send() is too expensive Date: Thu, 04 Oct 2018 12:33:43 -0700 (PDT) Message-ID: <20181004.123343.1000066789406204771.davem@davemloft.net> References: Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org To: 0xeffeff@gmail.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:54164 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727499AbeJEC22 (ORCPT ); Thu, 4 Oct 2018 22:28:28 -0400 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: From: Jeff Barnhill <0xeffeff@gmail.com> Date: Thu, 4 Oct 2018 15:02:39 -0400 > As mentioned here: > https://www.spinics.net/lists/netdev/msg505054.html > > icmp6_send() can be expensive when there are a lot of devices and > anycast addresses. One solution I've prototyped is adding a global > hash table to store and allow more efficient searches for anycast > addresses. This works and prevents the long delays I've seen when > many neighbors are invalidated in large numbers. > > A colleague mentioned that another alternative may be to do something > like an rt6_lookup on the address and check for the RTF_ANYCAST flag. > This is much simpler, and I'm in the process of testing it now. > > Is there any preference or recommendation as to which way to proceed > before I submit a patch? Generally speaking, using existing tables and infrastructure is preferrable to adding new stuff.