Thanks, I pushed this to master.
On Tue, Jul 17, 2012 at 08:58:05PM -0700, Mehak Mahajan wrote: > Hey Ben, > > Looks good to me. > > thanx! > mehak > > On Thu, Jul 12, 2012 at 12:29 PM, Ben Pfaff <b...@nicira.com> wrote: > > > Commit 0c449c5683a improved action error logging for one case, but we might > > as well do it for the other case too. > > > > Signed-off-by: Ben Pfaff <b...@nicira.com> > > --- > > lib/ofp-actions.c | 31 +++++++++++++++++++------------ > > 1 files changed, 19 insertions(+), 12 deletions(-) > > > > diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c > > index 93f6bf7..a39a670 100644 > > --- a/lib/ofp-actions.c > > +++ b/lib/ofp-actions.c > > @@ -434,6 +434,21 @@ action_is_valid(const union ofp_action *a, size_t > > n_actions) > > ((LEFT) -= ntohs((ITER)->header.len) / sizeof(union ofp_action), > > \ > > (ITER) = action_next(ITER))) > > > > +static void > > +log_bad_action(const union ofp_action *actions, size_t n_actions, size_t > > ofs, > > + enum ofperr error) > > +{ > > + if (!VLOG_DROP_WARN(&rl)) { > > + struct ds s; > > + > > + ds_init(&s); > > + ds_put_hex_dump(&s, actions, n_actions * sizeof *actions, 0, > > false); > > + VLOG_WARN("bad action at offset %#x (%s):\n%s", > > + ofs * sizeof *actions, ofperr_get_name(error), > > ds_cstr(&s)); > > + ds_destroy(&s); > > + } > > +} > > + > > static enum ofperr > > ofpacts_from_openflow10(const union ofp_action *in, size_t n_in, > > struct ofpbuf *out) > > @@ -444,22 +459,14 @@ ofpacts_from_openflow10(const union ofp_action *in, > > size_t n_in, > > ACTION_FOR_EACH (a, left, in, n_in) { > > enum ofperr error = ofpact_from_openflow10(a, out); > > if (error) { > > - VLOG_WARN_RL(&rl, "bad action at offset %td (%s)", > > - (a - in) * sizeof *a, ofperr_get_name(error)); > > + log_bad_action(in, n_in, a - in, error); > > return error; > > } > > } > > if (left) { > > - if (!VLOG_DROP_WARN(&rl)) { > > - struct ds s; > > - > > - ds_init(&s); > > - ds_put_hex_dump(&s, in, n_in * sizeof *a, 0, false); > > - VLOG_WARN("bad action format at offset %#x:\n%s", > > - (n_in - left) * sizeof *a, ds_cstr(&s)); > > - ds_destroy(&s); > > - } > > - return OFPERR_OFPBAC_BAD_LEN; > > + enum ofperr error = OFPERR_OFPBAC_BAD_LEN; > > + log_bad_action(in, n_in, n_in - left, error); > > + return error; > > } > > > > ofpact_pad(out); > > -- > > 1.7.2.5 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev