[ovs-dev] [PATCH] ofproto-dpif: remove checking setting nd_ext field

Flavio Leitner fbl at redhat.com
Wed Sep 23 20:08:43 UTC 2020


On Wed, Sep 23, 2020 at 10:51:51AM -0400, Aaron Conole wrote:
> fankaixi.li at bytedance.com writes:
> 
> > From: "fankaixi.li" <fankaixi.li at bytedance.com>
> >
> > In order to support openflow rule which setting nd_ext fields in openflow tables,
> > we should remove setting nd_ext fields when constructing rule. The ofproto would
> > translate it into userspace actions when handling upcalls.
> >
> > Signed-off-by: fankaixi.li <fankaixi.li at bytedance.com>
> > ---
> 
> This is effectively trying to revert:
> 
> d0d57149 ("ofproto-dpif: Allow IPv6 ND Extensions only if supported")
> 
> Did I understand it correctly?

The rule is constructed in userspace and depending on the mask
it may or may not be slow path'ed. In the case where it is
pushed to kernel DP, then OVS_KEY_ATTR_ND_EXTENSIONS is only
defined in userspace, leading the kernel to show:

 openvswitch: netlink: Key type X is out of range max Y

I don't see how the patch below prevents that to happen.

Thanks,
fbl

> >  ofproto/ofproto-dpif.c | 8 --------
> >  1 file changed, 8 deletions(-)
> >
> > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> > index 4f0638f23..f4c37f43d 100644
> > --- a/ofproto/ofproto-dpif.c
> > +++ b/ofproto/ofproto-dpif.c
> > @@ -4637,14 +4637,6 @@ check_actions(const struct ofproto_dpif *ofproto,
> >                                         "ct original direction tuple");
> >                  return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
> >              }
> > -        } else if (!support->nd_ext && ofpact->type == OFPACT_SET_FIELD) {
> > -            const struct mf_field *dst = ofpact_get_mf_dst(ofpact);
> > -
> > -            if (dst->id == MFF_ND_RESERVED || dst->id == MFF_ND_OPTIONS_TYPE) {
> > -                report_unsupported_act("set field",
> > -                                       "setting IPv6 ND Extensions fields");
> > -                return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
> > -            }
> >          }
> >      }
> 

-- 
fbl



More information about the dev mailing list