[ovs-dev] 回复:[External] Re: [PATCH] ofproto-dpif: remove checking setting nd_ext field

范开喜 fankaixi.li at bytedance.com
Thu Sep 24 09:19:53 UTC 2020


Hi Aaron conole and Flavio Leitner, I am just trying to fix the bug. When I
am trying to put ipv6 nd proxy flows into ovs (with kernel), ovs emits
error message like this:
"Only userspace datapath support OVS_KEY_ATTR_ND_EXTENSIONS in keys."
So the flows could not be inserted into ovs by ovs-ofctl. The flows
contains actions to modify ipv6 nd_reserved and nd_options_type fields, in
order to change a Neighbor Solicitation packet to be a Neighbor
Advertisement packet.
Ovs kernel datapath always upcall this type of packets to userspace. The
userspace datapath would handle these packets and send them back to the
kernel datapath. Also megaflows with "userspace" action would be inserted
into kernel datapath.

于2020年09月23日星期三 22:52 <aconole at redhat.com> 写道:

fankaixi.li at bytedance.com writes: > From: "fankaixi.li" > > 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 > --- This is effectively trying to revert:
d0d57149 ("ofproto-dpif: Allow IPv6 ND Extensions only if supported") Did I
understand it correctly? > 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; > - } > } > }


More information about the dev mailing list