void format_odp_actions(struct ds *ds, const union odp_action *actions, size_t n_actions) { size_t i; for (i = 0; i < n_actions; i++) { if (i) { ds_put_char(ds, ','); } format_odp_action(ds, &actions[i]); } if (!n_actions) { ds_put_cstr(ds, "drop"); } }
void format_odp_actions(struct ds *ds, const struct nlattr *actions, size_t actions_len) { if (actions_len) { const struct nlattr *a; unsigned int left; NL_ATTR_FOR_EACH (a, left, actions, actions_len) { if (a != actions) { ds_put_char(ds, ','); } format_odp_action(ds, a); } if (left) { if (left == actions_len) { ds_put_cstr(ds, "<empty>"); } ds_put_format(ds, ",***%u leftover bytes***", left); } } else {