On 2/27/23 16:29, Eelco Chaudron wrote:
> When the ukey's action set changes, it could cause the flow to use a
> different datapath, for example, when it moves from tc to kernel.
> This will cause the the cached previous datapath statistics to be used.
> 
> This change will reset the cached statistics when a change in
> datapath is discovered.
> 
> Signed-off-by: Eelco Chaudron <echau...@redhat.com>
> ---
> v2: Updated commit message to explain behavior.
> v3: Added a test case.
>     Added dpif API to query the dpif for datapath layers synchronization.
>     Added coverage counter to identify potential problem.
> v4: Fixed some spelling, moved common code to a macro, and moved
>     the synced_dp_layers function pointer to a bool.
> 
>  lib/dpif-netdev.c                |    1 +
>  lib/dpif-netlink.c               |    1 +
>  lib/dpif-provider.h              |    8 +++++
>  lib/dpif.c                       |    5 +++
>  lib/dpif.h                       |    1 +
>  ofproto/ofproto-dpif-upcall.c    |   41 +++++++++++++++++++++++++-
>  tests/system-offloads-traffic.at |   60 
> ++++++++++++++++++++++++++++++++++++++
>  7 files changed, 115 insertions(+), 2 deletions(-)
> 

<snip>

> diff --git a/lib/dpif.c b/lib/dpif.c
> index fe4db83fb..5ed8aef17 100644
> --- a/lib/dpif.c
> +++ b/lib/dpif.c
> @@ -2109,3 +2109,8 @@ dpif_cache_set_size(struct dpif *dpif, uint32_t level, 
> uint32_t size)
>             ? dpif->dpif_class->cache_set_size(dpif, level, size)
>             : EOPNOTSUPP;
>  }
> +
> +bool dpif_synced_dp_layers(struct dpif *dpif)

Function name in the implementation should start form a new line.

I fixed that and applied the set.  Also backported down to 2.17,
since it's actually a bug fix.

Thanks, Eelco and Simon!

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to