ACK: [SRU][F:linux-bluefield][PATCH] UBUNTU: SAUCE: net/sched: act_ct: Fix ct template allocation for zone 0
Kleber Souza
kleber.souza at canonical.com
Wed May 26 13:53:53 UTC 2021
On 24.05.21 21:23, Daniel Jurgens wrote:
> From: Ariel Levkovich <lariel at nvidia.com>
>
> BugLink: https://bugs.launchpad.net/bugs/1929460
>
> Fix current behavior of skipping template allocation in case the
> ct action is in zone 0.
>
> Skipping the allocation may cause the datapath ct code to ignore the
> entire ct action with all its attributes (commit, nat) in case the ct
> action in zone 0 was preceded by a ct clear action.
>
> The ct clear action sets the ct_state to untracked and resets the
> skb->_nfct pointer. Under these conditions and without an allocated
> ct template, the skb->_nfct pointer will remain NULL which will
> cause the tc ct action handler to exit without handling commit and nat
> actions, if such exist.
>
> For example, the following rule in OVS dp:
> recirc_id(0x2),ct_state(+new-est-rel-rpl+trk),ct_label(0/0x1), \
> in_port(eth0),actions:ct_clear,ct(commit,nat(src=10.11.0.12)), \
> recirc(0x37a)
>
> Will result in act_ct skipping the commit and nat actions in zone 0.
>
> The change removes the skipping of template allocation for zone 0 and
> treats it the same as any other zone.
>
> Fixes: b57dc7c13ea9 ("net/sched: Introduce action ct")
> Signed-off-by: Ariel Levkovich <lariel at nvidia.com>
> Signed-off-by: Daniel Jurgens <danielj at nvidia.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
Thanks
> ---
> net/sched/act_ct.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c
> index 4627bb7..96b1417 100644
> --- a/net/sched/act_ct.c
> +++ b/net/sched/act_ct.c
> @@ -1186,9 +1186,6 @@ static int tcf_ct_fill_params(struct net *net,
> sizeof(p->zone));
> }
>
> - if (p->zone == NF_CT_DEFAULT_ZONE_ID)
> - return 0;
> -
> nf_ct_zone_init(&zone, p->zone, NF_CT_DEFAULT_ZONE_DIR, 0);
> tmpl = nf_ct_tmpl_alloc(net, &zone, GFP_KERNEL);
> if (!tmpl) {
>
More information about the kernel-team
mailing list