From mboxrd@z Thu Jan 1 00:00:00 1970 From: Phil Sutter Subject: Re: [patch iproute2 v8 1/2] lib/libnetlink: Add functions rtnl_talk_msg and rtnl_talk_iov Date: Wed, 10 Jan 2018 21:12:45 +0100 Message-ID: <20180110201245.GR32305@orbyte.nwl.cc> References: <20180110032742.8127-1-chrism@mellanox.com> <20180110032742.8127-2-chrism@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Chris Mi , netdev@vger.kernel.org, gerlitz.or@gmail.com, stephen@networkplumber.org, marcelo.leitner@gmail.com To: David Ahern Return-path: Received: from orbyte.nwl.cc ([151.80.46.58]:59792 "EHLO orbyte.nwl.cc" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751333AbeAJUMs (ORCPT ); Wed, 10 Jan 2018 15:12:48 -0500 Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Wed, Jan 10, 2018 at 12:20:36PM -0700, David Ahern wrote: [...] > 2. I am using a batch file with drop filters: > > filter add dev eth2 ingress protocol ip pref 273 flower dst_ip > 192.168.253.0/16 action drop > > and for each command tc is trying to dlopen m_drop.so: > > open("/usr/lib/tc//m_drop.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such > file or directory) [...] > Can you look at a follow on patch (not part of this set) to cache status > of dlopen attempts? IMHO the logic used in get_action_kind() for gact is the culprit here: After trying to dlopen m_drop.so, it dlopens m_gact.so although it is present already. (Unless I missed something.) I guess the better (and easier) fix would be to create some more struct action_util instances in m_gact.c for the primitives it supports so that the lookup in action_list succeeds for consecutive uses. Note that parse_gact() even supports this already. Cheers, Phil