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. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev