[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a6510880-1617-84e7-f5f2-e417feb65285@gmail.com>
Date: Mon, 7 Aug 2023 14:12:24 +0100
From: Edward Cree <ecree.xilinx@...il.com>
To: Simon Horman <horms@...nel.org>, edward.cree@....com
Cc: linux-net-drivers@....com, davem@...emloft.net, kuba@...nel.org,
edumazet@...gle.com, pabeni@...hat.com, netdev@...r.kernel.org,
habetsm.xilinx@...il.com,
Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@....com>
Subject: Re: [PATCH net-next 7/7] sfc: offload left-hand side rules for
conntrack
On 04/08/2023 14:43, Simon Horman wrote:
> On Thu, Aug 03, 2023 at 12:56:23PM +0100, edward.cree@....com wrote:
>
> ...
>
>> +static bool efx_tc_rule_is_lhs_rule(struct flow_rule *fr,
>> + struct efx_tc_match *match)
>> +{
>> + const struct flow_action_entry *fa;
>> + int i;
>> +
>> + flow_action_for_each(i, fa, &fr->action) {
>> + switch (fa->id) {
>> + case FLOW_ACTION_GOTO:
>> + return true;
>> + case FLOW_ACTION_CT:
>> + /* If rule is -trk, or doesn't mention trk at all, then
>> + * a CT action implies a conntrack lookup (hence it's an
>> + * LHS rule). If rule is +trk, then a CT action could
>> + * just be ct(nat) or even ct(commit) (though the latter
>> + * can't be offloaded).
>> + */
>> + if (!match->mask.ct_state_trk || !match->value.ct_state_trk)
>> + return true;
>
> Hi Ed,
>
> I think that to keep static analysers happy there ought to be a
> break statement, or a fallthrough annotation here.
Yeah, I see on patchwork that clang complained about this.
Since the fallthrough is only into a break statement (which is
presumably why gcc doesn't mind), I'll just add a break here.
> Otherwise the series looks good to me.
Thanks, will respin v2 shortly with your tag included.
Powered by blists - more mailing lists