char *name, *value;
size_t learn_ofs;
size_t len;
+ int error;
struct nx_action_learn *learn;
struct cls_rule rule;
}
}
}
- free(orig);
put_u16(b, 0);
learn = ofpbuf_at_assert(b, learn_ofs, sizeof *learn);
learn->len = htons(b->size - learn_ofs);
+
+ /* In theory the above should have caught any errors, but... */
+ error = learn_check(learn, flow);
+ if (error) {
+ char *msg = ofputil_error_to_string(error);
+ ovs_fatal(0, "%s: %s", orig, msg);
+ }
+ free(orig);
}
void