return -1;
}
- if (argc && !action_a2n(*argv, &sel.action, false))
- NEXT_ARG_FWD();
+ parse_action_control_dflt(&argc, &argv, &sel.action, false, TC_ACT_OK);
if (argc) {
if (matches(*argv, "index") == 0) {
}
}
- tail = NLMSG_TAIL(n);
- addattr_l(n, MAX_MSG, tca_id, NULL, 0);
+ tail = addattr_nest(n, MAX_MSG, tca_id);
addattr_l(n, MAX_MSG, TCA_CSUM_PARMS, &sel, sizeof(sel));
- tail->rta_len = (char *)NLMSG_TAIL(n) - (char *)tail;
+ addattr_nest_end(n, tail);
*argc_p = argc;
*argv_p = argv;
char *uflag_5 = "";
char *uflag_6 = "";
char *uflag_7 = "";
+ SPRINT_BUF(buf);
int uflag_count = 0;
uflag_1 = "?empty";
}
- fprintf(f, "csum (%s%s%s%s%s%s%s) action %s\n",
- uflag_1, uflag_2, uflag_3,
- uflag_4, uflag_5, uflag_6, uflag_7,
- action_n2a(sel->action));
- fprintf(f, "\tindex %u ref %d bind %d", sel->index, sel->refcnt,
- sel->bindcnt);
+ snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s",
+ uflag_1, uflag_2, uflag_3,
+ uflag_4, uflag_5, uflag_6, uflag_7);
+ print_string(PRINT_ANY, "csum", "csum (%s) ", buf);
+
+ print_action_control(f, "action ", sel->action, "\n");
+ print_uint(PRINT_ANY, "index", "\tindex %u", sel->index);
+ print_int(PRINT_ANY, "ref", " ref %d", sel->refcnt);
+ print_int(PRINT_ANY, "bind", " bind %d", sel->bindcnt);
if (show_stats) {
if (tb[TCA_CSUM_TM]) {
print_tm(f, tm);
}
}
- fprintf(f, "\n");
+ print_string(PRINT_FP, NULL, "%s", "\n");
return 0;
}