diff --git a/tc/f_bpf.c b/tc/f_bpf.c index df8a259e..75c44c06 100644 --- a/tc/f_bpf.c +++ b/tc/f_bpf.c @@ -210,6 +210,11 @@ static int bpf_print_opt(struct filter_util *qu, FILE *f, fprintf(f, "skip_hw "); if (flags & TCA_CLS_FLAGS_SKIP_SW) fprintf(f, "skip_sw "); + + if (flags & TCA_CLS_FLAGS_IN_HW) + fprintf(f, "in_hw "); + else if (flags & TCA_CLS_FLAGS_NOT_IN_HW) + fprintf(f, "not_in_hw "); } if (tb[TCA_BPF_OPS] && tb[TCA_BPF_OPS_LEN]) diff --git a/tc/f_flower.c b/tc/f_flower.c index 5aac4a08..ebc63ca6 100644 --- a/tc/f_flower.c +++ b/tc/f_flower.c @@ -1171,6 +1171,11 @@ static int flower_print_opt(struct filter_util *qu, FILE *f, fprintf(f, "\n skip_hw"); if (flags & TCA_CLS_FLAGS_SKIP_SW) fprintf(f, "\n skip_sw"); + + if (flags & TCA_CLS_FLAGS_IN_HW) + fprintf(f, "\n in_hw"); + else if (flags & TCA_CLS_FLAGS_NOT_IN_HW) + fprintf(f, "\n not_in_hw"); } if (tb[TCA_FLOWER_ACT]) diff --git a/tc/f_matchall.c b/tc/f_matchall.c index ac486308..5a51e755 100644 --- a/tc/f_matchall.c +++ b/tc/f_matchall.c @@ -137,6 +137,11 @@ static int matchall_print_opt(struct filter_util *qu, FILE *f, fprintf(f, "\n skip_hw"); if (flags & TCA_CLS_FLAGS_SKIP_SW) fprintf(f, "\n skip_sw"); + + if (flags & TCA_CLS_FLAGS_IN_HW) + fprintf(f, "\n in_hw"); + else if (flags & TCA_CLS_FLAGS_NOT_IN_HW) + fprintf(f, "\n not_in_hw"); } if (tb[TCA_MATCHALL_ACT]) diff --git a/tc/f_u32.c b/tc/f_u32.c index 92c1fcd4..ff700e9f 100644 --- a/tc/f_u32.c +++ b/tc/f_u32.c @@ -1264,6 +1264,11 @@ static int u32_print_opt(struct filter_util *qu, FILE *f, struct rtattr *opt, fprintf(f, "skip_hw "); if (flags & TCA_CLS_FLAGS_SKIP_SW) fprintf(f, "skip_sw "); + + if (flags & TCA_CLS_FLAGS_IN_HW) + fprintf(f, "in_hw "); + else if (flags & TCA_CLS_FLAGS_NOT_IN_HW) + fprintf(f, "not_in_hw "); } if (tb[TCA_U32_PCNT]) {