[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKvpyk2PNGY9SZdDMDN3D7n+UU6Pdic-Xb=Fx2oy-oOp3k-yNw@mail.gmail.com>
Date: Thu, 25 Jan 2018 11:21:03 +0530
From: Sathya Perla <sathya.perla@...adcom.com>
To: Jakub Kicinski <kubakici@...pl>
Cc: Netdev <netdev@...r.kernel.org>, Jiri Pirko <jiri@...nulli.us>
Subject: Re: [PATCH] cls_flower: check if filter is in HW before calling fl_hw_destroy_filter()
On Thu, Jan 25, 2018 at 3:53 AM, Jakub Kicinski <kubakici@...pl> wrote:
>
> On Wed, 24 Jan 2018 17:12:55 +0530, Sathya Perla wrote:
> > When a filter cannot be added in HW (i.e, fl_hw_replace_filter() returns
> > error), the TCA_CLS_FLAGS_IN_HW flag is not set in the filter flags.
> >
> > This flag (via tc_in_hw()) must be checked before issuing the call
> > to delete a filter in HW (fl_hw_destroy_filter()) and before issuing the
> > call to query stats (fl_hw_update_stats()).
> >
> > Signed-off-by: Sathya Perla <sathya.perla@...adcom.com>
>
> Could you explain why you want to make that change? Saying "tc_in_hw()
> must be checked" is a bit strong, tc_in_hw() is useless from correctness
> POV. Your patch may be a good optimization, but with shared blocks in
> the picture now tc_in_hw() == true doesn't mean it's in *your* HW.
I agree that for shared filters when skip_sw is false
tcf_block_cb_call() can return a
positive status even if the filter add on one of the devices fails.
I'll change the commit-log wording to indicate that this new check is
an optimization.
Thanks!
Powered by blists - more mailing lists