+
+ return error;
+}
+
+/* Converts a bundle_load action string contained in 's' to an nx_action_bundle
+ * and stores it in 'b'. Sets 'b''s l2 pointer to NULL.
+ *
+ * Returns NULL if successful, otherwise a malloc()'d string describing the
+ * error. The caller is responsible for freeing the returned string.*/
+char * WARN_UNUSED_RESULT
+bundle_parse_load(const char *s, struct ofpbuf *ofpacts)
+{
+ char *fields, *basis, *algorithm, *slave_type, *dst, *slave_delim;
+ char *tokstr, *save_ptr;
+ char *error;
+
+ save_ptr = NULL;
+ tokstr = xstrdup(s);
+ fields = strtok_r(tokstr, ", ", &save_ptr);
+ basis = strtok_r(NULL, ", ", &save_ptr);
+ algorithm = strtok_r(NULL, ", ", &save_ptr);
+ slave_type = strtok_r(NULL, ", ", &save_ptr);
+ dst = strtok_r(NULL, ", ", &save_ptr);
+ slave_delim = strtok_r(NULL, ": ", &save_ptr);
+
+ error = bundle_parse__(s, &save_ptr, fields, basis, algorithm, slave_type,
+ dst, slave_delim, ofpacts);
+
+ free(tokstr);
+
+ return error;