On Wed, Aug 08, 2012 at 05:00:02PM -0700, Ben Pfaff wrote: > On Thu, Aug 09, 2012 at 08:56:10AM +0900, Simon Horman wrote: > > On Wed, Aug 08, 2012 at 04:42:30PM -0700, Ben Pfaff wrote: > > > On Wed, Aug 08, 2012 at 06:49:44AM +0900, Simon Horman wrote: > > > > Signed-off-by: Simon Horman <ho...@verge.net.au> > > > > { > > > > - const struct ofp_packet_out *opo; > > > > - enum ofperr error; > > > > enum ofpraw raw; > > > > struct ofpbuf b; > > > > + enum ofperr bad_in_port_err = OFPERR_OFPET_BAD_REQUEST; > > > > > > > > ofpbuf_use_const(&b, oh, ntohs(oh->length)); > > > > raw = ofpraw_pull_assert(&b); > > > > - assert(raw == OFPRAW_OFPT10_PACKET_OUT); > > > > > > > > - opo = ofpbuf_pull(&b, sizeof *opo); > > > > - po->buffer_id = ntohl(opo->buffer_id); > > > > - po->in_port = ntohs(opo->in_port); > > > > + if (raw == OFPRAW_OFPT10_PACKET_OUT) { > > > > + enum ofperr error; > > > > + const struct ofp_packet_out *opo = ofpbuf_pull(&b, sizeof > > > > *opo); > > > > + > > > > + po->buffer_id = ntohl(opo->buffer_id); > > > > + po->in_port = ntohs(opo->in_port); > > > > + > > > > + error = ofpacts_pull_openflow10(&b, ntohs(opo->actions_len), > > > > ofpacts); > > > > + if (error) { > > > > + return error; > > > > + } > > > > + bad_in_port_err = OFPERR_NXBRC_BAD_IN_PORT; > > > > + } else { > > > > + NOT_REACHED(); > > > > + } > > > > > > I think that we should consistently use OFPERR_NXBRC_BAD_IN_PORT. > > > OFPERR_OFPET_BAD_REQUEST isn't a good substitute because it isn't > > > encodable as an error at all (it is an error category, not an error > > > itself). > > > > > > If there's a better choice for a standard error code in some OpenFlow > > > version then I'm happy to use that. > > > > I'm comfortable with using OFPERR_NXBRC_BAD_IN_PORT if you are. > > Thanks. > > This is what I ended up with:
Thanks, looks good. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev