[ovs-dev] [PATCH V2 1/1] dpif-netlink: Log eth type 0x1234 not offloadable

Ilya Maximets i.maximets at samsung.com
Tue Jul 30 10:10:20 UTC 2019


On 03.07.2019 7:58, Eli Britstein wrote:
> Ethernet type 0x1234 is used for testing and not being offloadable. For
> testing offloadable features, log about using this value.
> 
> Signed-off-by: Eli Britstein <elibr at mellanox.com>
> Acked-by: Roi Dayan <roid at mellanox.com>
> Signed-off-by: Eli Britstein <elibr at mellanox.com>
> Acked-by: Ben Pfaff <blp at ovn.org>
> ---
>  lib/dpif-netlink.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c
> index ba80a0079..a0d51ae61 100644
> --- a/lib/dpif-netlink.c
> +++ b/lib/dpif-netlink.c
> @@ -2007,6 +2007,7 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
>  
>      /* When we try to install a dummy flow from a probed feature. */
>      if (match.flow.dl_type == htons(0x1234)) {
> +        VLOG_INFO_RL(&rl, "eth 0x1234 is special and not offloadable");
>          return EOPNOTSUPP;
>      }

But what is the purpose of this patch?  What is the use case?

Actually, it looks like we need to just remove above 'if' statement
entirely.  Just a few lines above there is a check if we are probing
or installing real flow:

   if (put->flags & DPIF_FP_PROBE) {
       return EOPNOTSUPP;
   }

So, we will never get there while probing.  But why we're restricting
this flow type from being offloaded?  'netdev_flow_put' will refuse
to offload if it doesn't know that flow type, but this shouldn't be
done here.

In case we have a dummy flow without DPIF_FP_PROBE flag set, we need
to fix upper layers.  Is it the case?

Best regards, Ilya Maximets.


More information about the dev mailing list