[ovs-dev] [PATCH branch-2.13] netdev-offload-dpdk: Support vxlan encap offload with load actions

Finn, Emma emma.finn at intel.com
Tue Oct 20 07:51:30 UTC 2020



> -----Original Message-----
> From: Sriharsha Basavapatna <sriharsha.basavapatna at broadcom.com>
> Sent: Tuesday 20 October 2020 04:17
> To: Ilya Maximets <i.maximets at ovn.org>
> Cc: Eli Britstein <elibr at nvidia.com>; ovs dev <dev at openvswitch.org>; Finn,
> Emma <emma.finn at intel.com>; Stokes, Ian <ian.stokes at intel.com>; Sriharsha
> Basavapatna <sriharsha.basavapatna at broadcom.com>
> Subject: Re: [PATCH branch-2.13] netdev-offload-dpdk: Support vxlan encap
> offload with load actions
> 
> On Mon, Oct 19, 2020 at 7:59 PM Ilya Maximets <i.maximets at ovn.org> wrote:
> >
> > On 10/18/20 9:10 AM, Eli Britstein wrote:
> > > Struct match has the tunnel values/masks in
> > > match->flow.tunnel/match->wc.masks.tunnel.
> > > Load actions such as load:0xa566c10->NXM_NX_TUN_IPV4_DST[],
> > > load:0xbba->NXM_NX_TUN_ID[] are utilizing the tunnel masks fields, but
> > > those should not be used for matching.
> > > Offloading fails if masks is not clear. Fix it by checking if tunnel is
> > > present.
> > >
> > > Signed-off-by: Eli Britstein <elibr at nvidia.com>
> > > ---
> >
> > Thanks, Eli.
> >
> > Harsha, Emma, could you, please, review/test this version?
> >
> > Best regards, Ilya Maximets.
> 
> Ilya, I'll review/test this today.
> Thanks,
> -Harsha

Tested-by: Emma Finn <emma.finn at intel.com>

> >
> > >  lib/netdev-offload-dpdk.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
> > > index 4538baf5e..c68d539ea 100644
> > > --- a/lib/netdev-offload-dpdk.c
> > > +++ b/lib/netdev-offload-dpdk.c
> > > @@ -1092,7 +1092,8 @@ netdev_offload_dpdk_validate_flow(const struct
> match *match)
> > >      /* Create a wc-zeroed version of flow. */
> > >      match_init(&match_zero_wc, &match->flow, &match->wc);
> > >
> > > -    if (!is_all_zeros(&match_zero_wc.flow.tunnel,
> > > +    if (flow_tnl_dst_is_set(&match->flow.tunnel) &&
> > > +        !is_all_zeros(&match_zero_wc.flow.tunnel,
> > >                        sizeof match_zero_wc.flow.tunnel)) {
> > >          goto err;
> > >      }
> > >
> >


More information about the dev mailing list