mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-12-28 12:07:41 +00:00
actions: correctly report the number of actions flushed
This also fixes a long standing bug of not sanely reporting the action chain ordering Sample scenario test on window 1(event window): run "tc monitor" and observe events on window 2: sudo tc actions add action drop index 10 sudo tc actions add action ok index 12 sudo tc actions ls action gact sudo tc actions flush action gact See the event window reporting two entries (doing another listing should show empty generic actions) Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
This commit is contained in:
parent
9282d08d93
commit
288abf513f
@ -249,37 +249,38 @@ static int
|
||||
tc_print_one_action(FILE * f, struct rtattr *arg)
|
||||
{
|
||||
|
||||
struct rtattr *tb[TCA_ACT_MAX + 1];
|
||||
struct rtattr *tb[TCA_MAX + 1];
|
||||
int err = 0;
|
||||
struct action_util *a = NULL;
|
||||
|
||||
if (arg == NULL)
|
||||
return -1;
|
||||
|
||||
parse_rtattr_nested(tb, TCA_ACT_MAX, arg);
|
||||
if (tb[TCA_ACT_KIND] == NULL) {
|
||||
parse_rtattr_nested(tb, TCA_MAX, arg);
|
||||
if (tb[TCA_KIND] == NULL) {
|
||||
fprintf(stderr, "NULL Action!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
a = get_action_kind(RTA_DATA(tb[TCA_ACT_KIND]));
|
||||
a = get_action_kind(RTA_DATA(tb[TCA_KIND]));
|
||||
if (NULL == a)
|
||||
return err;
|
||||
|
||||
if (tab_flush) {
|
||||
fprintf(f," %s \n", a->id);
|
||||
__u32 *delete_count = RTA_DATA(tb[TCA_FCNT]);
|
||||
fprintf(f," %s (%d entries)\n", a->id, *delete_count);
|
||||
tab_flush = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
err = a->print_aopt(a,f,tb[TCA_ACT_OPTIONS]);
|
||||
err = a->print_aopt(a,f,tb[TCA_OPTIONS]);
|
||||
|
||||
|
||||
if (0 > err)
|
||||
return err;
|
||||
|
||||
if (show_stats && tb[TCA_ACT_STATS]) {
|
||||
if (show_stats && tb[TCA_STATS]) {
|
||||
fprintf(f, "\tAction statistics:\n");
|
||||
print_tcstats2_attr(f, tb[TCA_ACT_STATS], "\t", NULL);
|
||||
fprintf(f, "\n");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user